Source code for glue_jupyter.ipyvolume.common.viewer_options_widget

from ipywidgets import Checkbox, VBox, ToggleButton

import ipyvolume as ipv

from ...link import link, dlink
from ...widgets import LinkedDropdown


__all__ = ['Viewer3DStateWidget']


[docs]class Viewer3DStateWidget(VBox): def __init__(self, viewer_state): self.state = viewer_state self.widget_show_axes = Checkbox(value=False, description="Show axes") link((self.state, 'visible_axes'), (self.widget_show_axes, 'value')) self.widgets_axis = [] for i, axis_name in enumerate('xyz'): widget_axis = LinkedDropdown(self.state, axis_name + '_att', label=axis_name + ' axis') self.widgets_axis.append(widget_axis) super().__init__([self.widget_show_axes] + self.widgets_axis) if hasattr(self.state, 'figure'): self.widget_show_movie_maker = ToggleButton(value=False, description="Show movie maker") self.movie_maker = ipv.moviemaker.MovieMaker(self.state.figure, self.state.figure.camera) dlink((self.widget_show_movie_maker, 'value'), (self.movie_maker.widget_main.layout, 'display'), lambda value: None if value else 'none') self.children += (self.widget_show_movie_maker, self.movie_maker.widget_main)