[accerciser/gtkbuilder] Moved the relations model to GtkBuilder
- From: Eitan Isaacson <eitani src gnome org>
- To: svn-commits-list gnome org
- Subject: [accerciser/gtkbuilder] Moved the relations model to GtkBuilder
- Date: Thu, 7 May 2009 11:26:09 -0400 (EDT)
commit 72e946396fa55b3c659f9aaf60c5389b57904cb6
Author: Eitan Isaacson <eitan ascender com>
Date: Thu May 7 18:25:13 2009 +0300
Moved the relations model to GtkBuilder
---
plugins/interface_view.py | 28 +++++++++++++---------------
plugins/interface_view.ui | 28 ++++++++++++++++++++++++++++
2 files changed, 41 insertions(+), 15 deletions(-)
diff --git a/plugins/interface_view.py b/plugins/interface_view.py
index 3052247..ccf8a96 100644
--- a/plugins/interface_view.py
+++ b/plugins/interface_view.py
@@ -281,24 +281,20 @@ class _SectionAccessible(_InterfaceSection):
# configure relations tree view
self.relations_view = ui_xml.get_object('relations_view')
- self.relations_model = gtk.TreeStore(gtk.gdk.Pixbuf, str, object)
- self.relations_view.set_model(self.relations_model)
- crt = gtk.CellRendererText()
- crp = gtk.CellRendererPixbuf()
- tvc = gtk.TreeViewColumn()
- tvc.pack_start(crp, False)
- tvc.pack_start(crt, True)
- tvc.set_attributes(crp, pixbuf=0)
- tvc.set_attributes(crt, text=1)
- tvc.set_cell_data_func(crt, self._relationCellDataFunc)
- tvc.set_cell_data_func(crp, self._relationCellDataFunc)
- self.relations_view.append_column(tvc)
+ self.relations_model = ui_xml.get_object('relations_treestore')
+ tvc = ui_xml.get_object('treeviewcolumn2')
+ tvc.set_cell_data_func(
+ ui_xml.get_object('cellrendererpixbuf1'), self._relationCellDataFunc)
+ tvc.set_cell_data_func(
+ ui_xml.get_object('cellrenderertext2'), self._relationCellDataFunc)
# preset the different bg colors
style = gtk.Style ()
self.header_bg = style.bg[gtk.STATE_NORMAL]
self.relation_bg = style.base[gtk.STATE_NORMAL]
+
selection = self.relations_view.get_selection()
selection.set_select_function(self._relationSelectFunc)
+
show_button = ui_xml.get_object('button_relation_show')
show_button.set_sensitive(self._isSelectedInView(selection))
selection.connect('changed', self._onViewSelectionChanged, show_button)
@@ -347,10 +343,10 @@ class _SectionAccessible(_InterfaceSection):
for relation in relations:
r_type_name = repr(relation.getRelationType()).replace('RELATION_', '')
r_type_name = r_type_name.replace('_', ' ').lower().capitalize()
- iter = self.relations_model.append(None, [None, r_type_name, None])
+ iter = self.relations_model.append(None, [None, r_type_name, -1])
for i in range(relation.getNTargets()):
acc = relation.getTarget(i)
- self.relations_model.append(iter, [getIcon(acc), acc.name, acc])
+ self.relations_model.append(iter, [getIcon(acc), acc.name, i])
self.relations_view.expand_all()
self.registerEventListener(self._accEventState, 'object:state-changed')
@@ -417,7 +413,9 @@ class _SectionAccessible(_InterfaceSection):
selection = relations_view.get_selection()
model, iter = selection.get_selected()
if iter:
- acc = model[iter][2]
+ path = model.get_path(iter)
+ relations = self.node.acc.getRelationSet()
+ acc = relations[path[0]].getTarget(model[iter][2])
if acc:
self.node.update(acc)
diff --git a/plugins/interface_view.ui b/plugins/interface_view.ui
index 70a1f43..fbd69e7 100644
--- a/plugins/interface_view.ui
+++ b/plugins/interface_view.ui
@@ -8,6 +8,16 @@
<column type="gchararray"/>
</columns>
</object>
+ <object class="GtkTreeStore" id="relations_treestore">
+ <columns>
+ <!-- column-name role_icon -->
+ <column type="GdkPixbuf"/>
+ <!-- column-name name -->
+ <column type="gchararray"/>
+ <!-- column-name index -->
+ <column type="gint"/>
+ </columns>
+ </object>
<object class="GtkFrame" id="iface_view_frame">
<property name="visible">True</property>
<property name="label_xalign">0</property>
@@ -190,9 +200,27 @@
<object class="GtkTreeView" id="relations_view">
<property name="visible">True</property>
<property name="can_focus">True</property>
+ <property name="model">relations_treestore</property>
<property name="headers_visible">False</property>
<property name="show_expanders">False</property>
<signal name="row_activated" handler="_onRelationShow"/>
+ <child>
+ <object class="GtkTreeViewColumn" id="treeviewcolumn2">
+ <property name="title">column</property>
+ <child>
+ <object class="GtkCellRendererPixbuf" id="cellrendererpixbuf1"/>
+ <attributes>
+ <attribute name="pixbuf">0</attribute>
+ </attributes>
+ </child>
+ <child>
+ <object class="GtkCellRendererText" id="cellrenderertext2"/>
+ <attributes>
+ <attribute name="text">1</attribute>
+ </attributes>
+ </child>
+ </object>
+ </child>
</object>
</child>
</object>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]