Source code for glue.viewers.common.state
from echo import CallbackProperty, ListCallbackProperty
from glue.core.state_objects import State
__all__ = ['ViewerState', 'LayerState']
[docs]class ViewerState(State):
"""
A base class for all viewer states.
"""
layers = ListCallbackProperty(docstring='A collection of all layers in the viewer')
title = CallbackProperty(docstring='The title of the viewer')
[docs] @property
def layers_data(self):
return [layer_state.layer for layer_state in self.layers]
[docs]class LayerState(State):
"""
A base class for all layer states.
"""
layer = CallbackProperty(docstring='The :class:`~glue.core.data.Data` or '
':class:`~glue.core.subset.Subset` '
'represented by the layer')
zorder = CallbackProperty(0, docstring='A value used to indicate which '
'layers are shown in front of which '
'(larger zorder values are on top of '
'other layers)')
visible = CallbackProperty(True, docstring='Whether the layer is currently visible')
def __init__(self, viewer_state=None, **kwargs):
super(LayerState, self).__init__(**kwargs)
self.viewer_state = viewer_state
def __repr__(self):
if self.layer is None:
return "%s with layer unset" % (self.__class__.__name__)
else:
return "%s for %s" % (self.__class__.__name__, self.layer.label)