class BooleanDataTests(unittest.TestCase): def setUp(self): self.list = ObjectList([Column('value', data_type=bool, radio=True, editable=True)]) self.list.append(Settable(value=True)) self.list.append(Settable(value=False)) def testAddingInstances(self): self.assertEqual(self.list[0].value, True) self.assertEqual(self.list[1].value, False) def testSelect(self): self.assertEqual(self.list[0].value, True) self.assertEqual(self.list[1].value, False) column = self.list.get_column_by_name('value') treeview_column = self.list.get_treeview_column(column) renderer = treeview_column.get_cell_renderers() renderer[0].emit('toggled', 1) self.assertEqual(self.list[0].value, False) self.assertEqual(self.list[1].value, True) renderer[0].emit('toggled', 0) self.assertEqual(self.list[0].value, True) self.assertEqual(self.list[1].value, False)
def _create_list(self, column_title): object_list = ObjectList([ KanbanObjectListColumn('markup', title=column_title, data_type=str, use_markup=True, expand=True), ]) object_list.connect('row-activated', self._on_row_activated) object_list.connect('right-click', self._on_right_click) sw = object_list.get_scrolled_window() sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC) sw.set_shadow_type(gtk.SHADOW_NONE) treeview = object_list.get_treeview() treeview.set_name(column_title) treeview.connect( "button-press-event", self._on_button_press_event) treeview.set_rules_hint(False) column = object_list.get_column_by_name('markup') column.treeview_column.set_clickable(False) white = gtk.gdk.color_parse('white') treeview.modify_base(gtk.STATE_ACTIVE, white) treeview.modify_base(gtk.STATE_SELECTED, white) object_list.set_cell_data_func(self._on_results__cell_data_func) return object_list
def _create_list(self, column_title): object_list = ObjectList([ KanbanObjectListColumn('markup', title=column_title, data_type=str, use_markup=True, expand=True), ]) object_list.connect('row-activated', self._on_row_activated) object_list.connect('right-click', self._on_right_click) sw = object_list.get_scrolled_window() sw.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC) sw.set_shadow_type(Gtk.ShadowType.NONE) treeview = object_list.get_treeview() treeview.set_name(column_title) treeview.connect( "button-press-event", self._on_button_press_event) treeview.set_rules_hint(False) column = object_list.get_column_by_name('markup') column.treeview_column.set_clickable(False) white = Gdk.color_parse('white') treeview.modify_base(Gtk.StateType.ACTIVE, white) treeview.modify_base(Gtk.StateType.SELECTED, white) object_list.set_cell_data_func(self._on_results__cell_data_func) return object_list
class BooleanDataTests(unittest.TestCase): def setUp(self): self.list = ObjectList( [Column('value', data_type=bool, radio=True, editable=True)]) self.list.append(Settable(value=True)) self.list.append(Settable(value=False)) def testAddingInstances(self): self.assertEqual(self.list[0].value, True) self.assertEqual(self.list[1].value, False) def testSelect(self): self.assertEqual(self.list[0].value, True) self.assertEqual(self.list[1].value, False) column = self.list.get_column_by_name('value') treeview_column = self.list.get_treeview_column(column) renderer = treeview_column.get_cells() renderer[0].emit('toggled', 1) self.assertEqual(self.list[0].value, False) self.assertEqual(self.list[1].value, True) renderer[0].emit('toggled', 0) self.assertEqual(self.list[0].value, True) self.assertEqual(self.list[1].value, False)
class DVBServiceInformationAdminGtkNode(BaseAdminGtkNode): channels = {} siwidget = None def render(self): def returnWidget(res): return self.siwidget self.siwidget = ObjectList([Column('programnumber', 'Program Number', data_type=str), Column('name', data_type=str), Column('whatson', 'What\'s On', data_type=str)]) whatsontvcolumn = self.siwidget.get_treeview_column(\ self.siwidget.get_column_by_name('whatson')) import pango for renderer in whatsontvcolumn.get_cell_renderers(): renderer.set_property('wrap-width', 200) renderer.set_property('wrap-mode', pango.WRAP_WORD) self.widget = self.siwidget d = BaseAdminGtkNode.render(self) d.addCallback(returnWidget) return d def setUIState(self, state): BaseAdminGtkNode.setUIState(self, state) self._watcher = _StateWatcher(state, { 'channelnames': self._setChannelName, 'whatson': self._setWhatsOn, }, {}, {}, setitemers={ 'channelnames': self._setChannelNameItem, 'whatson': self._setWhatsOnItem, }, delitemers={ 'channelnames': self._delChannelNameItem, 'whatson': self._delWhatsOnItem, }) self._watcher.show() for chan in self.channels: self.siwidget.append(chan) def _setChannelName(self, state, value): if value is None: return for k, v in value.items(): self._setChannelNameItem(state, k, v) def _setChannelNameItem(self, state, key, value): self.debug("set channel name item %s:%s", key, value) if key in self.channels: chan = self.channels[key] chan.set_name(value) else: self.channels[key] = DVBChannel(key, value) if self.siwidget: self.siwidget.append(self.channels[key]) def _delChannelNameItem(self, state, key, value): pass def _setWhatsOn(self, state, value): if value is None: return for k, v in value.items(): self._setWhatsOnItem(state, k, v) def _setWhatsOnItem(self, state, key, value): if key in self.channels: chan = self.channels[key] chan.set_whatson(value) else: chan = DVBChannel(key, "") chan.set_whatson(value) self.channels[key] = chan if self.siwidget: self.siwidget.append(chan) def _delWhatsOnItem(self, state, key, value): pass