Source code for glue_jupyter.common.state_widgets.layer_profile

from ipywidgets import Checkbox, ColorPicker, VBox, IntText, FloatText

from glue.utils import color2hex

from ...widgets import LinkedDropdown
from ...link import link

__all__ = ['ProfileLayerStateWidget']


[docs]class ProfileLayerStateWidget(VBox): def __init__(self, layer_state): self.state = layer_state self.widget_visible = Checkbox(description='visible', value=self.state.visible) link((self.state, 'visible'), (self.widget_visible, 'value')) self.widget_color = ColorPicker(description='color') link((self.state, 'color'), (self.widget_color, 'value'), color2hex) self.widget_linewidth = IntText(description='line width') link((self.state, 'linewidth'), (self.widget_linewidth, 'value')) self.widget_attribute = LinkedDropdown(self.state, 'attribute', label='attribute') if self.state.v_min is None: self.state.v_min = 0 self.widget_v_min = FloatText(description='vmin') link((self.state, 'v_min'), (self.widget_v_min, 'value')) if self.state.v_max is None: self.state.v_max = 1 self.widget_v_max = FloatText(description='vmax') link((self.state, 'v_max'), (self.widget_v_max, 'value')) self.widget_percentile = LinkedDropdown(self.state, 'percentile', label='percentile') super().__init__([self.widget_visible, self.widget_color, self.widget_linewidth, self.widget_attribute, self.widget_v_min, self.widget_v_max, self.widget_percentile])