def setUp(self): self.model = SimpleGridModel( data=[[None, 2], [3, 4]], rows=[GridRow(label="foo"), GridRow(label="bar")], columns=[GridColumn(label="cfoo"), GridColumn(label="cbar")], )
def setUp(self): self.model = SimpleGridModel(data=[[None,2],[3,4]], rows=[GridRow(label='foo'), GridRow(label='bar')], columns=[GridColumn(label='cfoo'), GridColumn(label='cbar')] ) return
def setUp(self): self.model_1 = SimpleGridModel( data=[[1, 2], [3, 4]], rows=[GridRow(label="foo"), GridRow(label="bar")], columns=[GridColumn(label="cfoo"), GridColumn(label="cbar")], ) self.model_2 = SimpleGridModel( data=[[3, 4, 5], [6, 7, 8]], rows=[GridRow(label="baz"), GridRow(label="bat")], columns=[ GridColumn(label="cfoo_2"), GridColumn(label="cbar_2"), GridColumn(label="cbaz_2"), ], ) self.model = CompositeGridModel(data=[self.model_1, self.model_2])
def setUp(self): self.model_1 = SimpleGridModel(data=[[1,2],[3,4]], rows=[GridRow(label='foo'), GridRow(label='bar')], columns=[GridColumn(label='cfoo'), GridColumn(label='cbar')] ) self.model_2 = SimpleGridModel(data=[[3,4,5],[6,7,8]], rows=[GridRow(label='baz'), GridRow(label='bat')], columns=[GridColumn(label='cfoo_2'), GridColumn(label='cbar_2'), GridColumn(label='cbaz_2')] ) self.model = CompositeGridModel(data=[self.model_1, self.model_2]) return
class MainWindow(SplitApplicationWindow): """ The main application window. """ #### 'SplitApplicationWindow' interface ################################### # The ratio of the size of the left/top pane to the right/bottom pane. ratio = Float(0.3) # The direction in which the window is split. direction = Str('vertical') # The data used to create the SimpleGridModel data = [['bob', 1, True, Float], ['sarah', 45, True, Str], ['jonas', -3, False, direction]] rows = [ GridRow(name='Row 1'), GridRow(name='Row 2'), GridRow(name='Row 3') ] cols = [ GridColumn(name='Name'), GridColumn(name='Index', read_only=True), GridColumn(name='Veracity'), GridColumn(name='Object') ] # The data used to create the TraitGridModel trait_data = [ GridRow(name='Bob', index=1, veracity=True, object=Float), GridRow(name='Sarah', index=45, veracity=True, object=Str), GridRow(name='Jonas', index=-3, veracity=False, object=direction) ] trait_col = [ TraitGridColumn(name='name', label='Name'), TraitGridColumn(name='index', label='Index', read_only=True), TraitGridColumn(name='veracity', label='Veracity'), TraitGridColumn(name='object', label='Object') ] ########################################################################### # Protected 'SplitApplicationWindow' interface. ########################################################################### def _create_lhs(self, parent): """ Creates the left hand side or top depending on the split. """ #self._model = model = SimpleGridModel(data = self.data, # rows = self.rows, # columns = self.cols) self._model = model = TraitGridModel(data=self.trait_data, columns=self.trait_col, row_name_trait='name') self._grid = grid = Grid(parent, model=model) self._grid.on_trait_change(self._on_grid_anytrait_changed) return grid.control def _create_rhs(self, parent): """ Creates the right hand side or bottom depending on the split. """ widget = self._grid self._python_shell = PythonShell(parent) self._python_shell.bind('widget', widget) self._python_shell.bind('w', widget) return self._python_shell.control ########################################################################### # Private interface. ########################################################################### def _create_content(self, parent): """ Create some context for an expandable panel. """ tree = FileTree(parent, root=os.path.abspath(os.curdir)) return tree.control #### Trait event handlers ################################################# def _on_grid_anytrait_changed(self, tree, trait_name, old, new): """ Called when any trait on the tree has changed. """ print(('trait', trait_name, 'value', new)) return
class MainWindow(SplitApplicationWindow): """ The main application window. """ # 'SplitApplicationWindow' interface ----------------------------------- # The ratio of the size of the left/top pane to the right/bottom pane. ratio = Float(0.3) # The direction in which the window is split. direction = Str("vertical") # The data used to create the SimpleGridModel data = [ ["bob", 1, True, Float], ["sarah", 45, True, Str], ["jonas", -3, False, direction], ] rows = [ GridRow(name="Row 1"), GridRow(name="Row 2"), GridRow(name="Row 3"), ] cols = [ GridColumn(name="Name"), GridColumn(name="Index", read_only=True), GridColumn(name="Veracity"), GridColumn(name="Object"), ] # The data used to create the TraitGridModel trait_data = [ GridRow(name="Bob", index=1, veracity=True, object=Float), GridRow(name="Sarah", index=45, veracity=True, object=Str), GridRow(name="Jonas", index=-3, veracity=False, object=direction), ] trait_col = [ TraitGridColumn(name="name", label="Name"), TraitGridColumn(name="index", label="Index", read_only=True), TraitGridColumn(name="veracity", label="Veracity"), TraitGridColumn(name="object", label="Object"), ] # ------------------------------------------------------------------------ # Protected 'SplitApplicationWindow' interface. # ------------------------------------------------------------------------ def _create_lhs(self, parent): """ Creates the left hand side or top depending on the split. """ self._model = model = TraitGridModel(data=self.trait_data, columns=self.trait_col, row_name_trait="name") self._grid = grid = Grid(parent, model=model) self._grid.observe( self._on_grid_anytrait_changed, match(lambda name, ctrait: True) # listen to all traits ) return grid.control def _create_rhs(self, parent): """ Creates the right hand side or bottom depending on the split. """ widget = self._grid self._python_shell = PythonShell(parent) self._python_shell.bind("widget", widget) self._python_shell.bind("w", widget) return self._python_shell.control # ------------------------------------------------------------------------ # Private interface. # ------------------------------------------------------------------------ def _create_content(self, parent): """ Create some context for an expandable panel. """ tree = FileTree(parent, root=os.path.abspath(os.curdir)) return tree.control # Trait event handlers ------------------------------------------------- def _on_grid_anytrait_changed(self, event): """ Called when any trait on the tree has changed. """ print("trait", event.name, "value", event.new) return