12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- # Copyright (c) Jupyter Development Team.
- # Distributed under the terms of the Modified BSD License.
- """Bool class.
- Represents a boolean using a widget.
- """
- from .widget_description import DescriptionWidget
- from .widget_core import CoreWidget
- from .valuewidget import ValueWidget
- from .widget import register
- from traitlets import Unicode, Bool, CaselessStrEnum
- class _Bool(DescriptionWidget, ValueWidget, CoreWidget):
- """A base class for creating widgets that represent booleans."""
- value = Bool(False, help="Bool value").tag(sync=True)
- disabled = Bool(False, help="Enable or disable user changes.").tag(sync=True)
- def __init__(self, value=None, **kwargs):
- if value is not None:
- kwargs['value'] = value
- super(_Bool, self).__init__(**kwargs)
- _model_name = Unicode('BoolModel').tag(sync=True)
- @register
- class Checkbox(_Bool):
- """Displays a boolean `value` in the form of a checkbox.
- Parameters
- ----------
- value : {True,False}
- value of the checkbox: True-checked, False-unchecked
- description : str
- description displayed next to the checkbox
- indent : {True,False}
- indent the control to align with other controls with a description. The style.description_width attribute controls this width for consistence with other controls.
- """
- _view_name = Unicode('CheckboxView').tag(sync=True)
- _model_name = Unicode('CheckboxModel').tag(sync=True)
- indent = Bool(True, help="Indent the control to align with other controls with a description.").tag(sync=True)
- @register
- class ToggleButton(_Bool):
- """Displays a boolean `value` in the form of a toggle button.
- Parameters
- ----------
- value : {True,False}
- value of the toggle button: True-pressed, False-unpressed
- description : str
- description displayed next to the button
- tooltip: str
- tooltip caption of the toggle button
- icon: str
- font-awesome icon name
- """
- _view_name = Unicode('ToggleButtonView').tag(sync=True)
- _model_name = Unicode('ToggleButtonModel').tag(sync=True)
- tooltip = Unicode(help="Tooltip caption of the toggle button.").tag(sync=True)
- icon = Unicode('', help= "Font-awesome icon.").tag(sync=True)
- button_style = CaselessStrEnum(
- values=['primary', 'success', 'info', 'warning', 'danger', ''], default_value='',
- help="""Use a predefined styling for the button.""").tag(sync=True)
- @register
- class Valid(_Bool):
- """Displays a boolean `value` in the form of a green check (True / valid)
- or a red cross (False / invalid).
- Parameters
- ----------
- value: {True,False}
- value of the Valid widget
- """
- readout = Unicode('Invalid', help="Message displayed when the value is False").tag(sync=True)
- _view_name = Unicode('ValidView').tag(sync=True)
- _model_name = Unicode('ValidModel').tag(sync=True)
|