##// END OF EJS Templates
Interpret another error as missing symlink support on Windows...
Interpret another error as missing symlink support on Windows This occurs if the system and Python support symlinks, but the user does not have permission to create them.

File last commit:

r17729:a4156457
r18074:0d0da44d
Show More
widget_button.py
70 lines | 2.6 KiB | text/x-python | PythonLexer
Jonathan Frederic
Renamed *Widget to *,...
r17598 """Button class.
Jonathan Frederic
Cleaned up Python widget code.
r14283
Represents a button in the frontend using a widget. Allows user to listen for
click events on the button and trigger backend code when the clicks are fired.
"""
#-----------------------------------------------------------------------------
# Copyright (c) 2013, the IPython Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
Jonathan Frederic
Added new CallbackDispatcher class
r14658 from .widget import DOMWidget, CallbackDispatcher
Jonathan Frederic
Added bootstrap3 progress bar classes
r17729 from IPython.utils.traitlets import Unicode, Bool, CaselessStrEnum
Jonathan Frederic
Renamed *Widget to *,...
r17598 from IPython.utils.warn import DeprecatedClass
Jonathan Frederic
Add button widget
r14270
Jonathan Frederic
Cleaned up Python widget code.
r14283 #-----------------------------------------------------------------------------
# Classes
#-----------------------------------------------------------------------------
Jonathan Frederic
Renamed *Widget to *,...
r17598 class Button(DOMWidget):
Jonathan Frederic
Added some doc strings on the widgets....
r17602 """Button widget.
This widget has an `on_click` method that allows you to listen for the
user clicking on the button. The click event itself is stateless."""
Jonathan Frederic
s/view_name/_view_name
r14701 _view_name = Unicode('ButtonView', sync=True)
Jonathan Frederic
Cleaned up Python widget code.
r14283
# Keys
Jonathan Frederic
sync=True isntead of a keys list
r14588 description = Unicode('', help="Description of the button (label).", sync=True)
disabled = Bool(False, help="Enable or disable user changes.", sync=True)
Jonathan Frederic
Added Bootstrap specific classes,...
r17728
button_style = CaselessStrEnum(
values=['primary', 'success', 'info', 'warning', 'danger', ''],
default_value='', allow_none=True, sync=True, help="""Use a
predefined styling for the button.""")
Jonathan Frederic
Add button widget
r14270
Jonathan Frederic
Fixed button on_click handler so it's initiated on instanciation
r14315 def __init__(self, **kwargs):
Jonathan Frederic
More PEP8 changes
r14607 """Constructor"""
Jonathan Frederic
Renamed *Widget to *,...
r17598 super(Button, self).__init__(**kwargs)
MinRK
review pass on Python-side of widgets...
r14793 self._click_handlers = CallbackDispatcher()
Jonathan Frederic
Changed button to use custom messages instead of state to communicate events.
r14400 self.on_msg(self._handle_button_msg)
Jonathan Frederic
Add button widget
r14270
Jonathan Frederic
Fixed button widget click event handler/
r14272 def on_click(self, callback, remove=False):
MinRK
review pass on Python-side of widgets...
r14793 """Register a callback to execute when the button is clicked.
Jonathan Frederic
More PEP8 changes
r14607
MinRK
review pass on Python-side of widgets...
r14793 The callback will be called with one argument,
the clicked button widget instance.
Jonathan Frederic
Cleaned up Python widget code.
r14283
Parameters
----------
remove : bool (optional)
Jonathan Frederic
Updated ButtonWidget onclick description
r14320 Set to true to remove the callback from the list of callbacks."""
Jonathan Frederic
Added new CallbackDispatcher class
r14658 self._click_handlers.register_callback(callback, remove=remove)
Jonathan Frederic
Add button widget
r14270
MinRK
review pass on Python-side of widgets...
r14793 def _handle_button_msg(self, _, content):
Jonathan Frederic
More PEP8 changes
r14607 """Handle a msg from the front-end.
Jonathan Frederic
Changed button to use custom messages instead of state to communicate events.
r14400
Parameters
----------
content: dict
Content of the msg."""
MinRK
review pass on Python-side of widgets...
r14793 if content.get('event', '') == 'click':
Jonathan Frederic
Added new CallbackDispatcher class
r14658 self._click_handlers(self)
Jonathan Frederic
Renamed *Widget to *,...
r17598
Jonathan Frederic
Added some doc strings on the widgets....
r17602
# Remove in IPython 4.0
Jonathan Frederic
Renamed *Widget to *,...
r17598 ButtonWidget = DeprecatedClass(Button, 'ButtonWidget')