[accerciser/gtkbuilder] get rid of cell data function for relations
- From: Eitan Isaacson <eitani src gnome org>
- To: svn-commits-list gnome org
- Subject: [accerciser/gtkbuilder] get rid of cell data function for relations
- Date: Sun, 10 May 2009 11:31:55 -0400 (EDT)
commit 87f4520ed8f8f6d4ab8687a13839f368a2a2cd09
Author: Eitan Isaacson <eitan ascender com>
Date: Sun May 10 18:31:08 2009 +0300
get rid of cell data function for relations
---
plugins/interface_view.py | 47 +++++++++-----------------------------------
plugins/interface_view.ui | 30 ++++++++++++++++++----------
2 files changed, 29 insertions(+), 48 deletions(-)
diff --git a/plugins/interface_view.py b/plugins/interface_view.py
index ee38cb7..ec20fb1 100644
--- a/plugins/interface_view.py
+++ b/plugins/interface_view.py
@@ -282,15 +282,10 @@ class _SectionAccessible(_InterfaceSection):
# configure relations tree view
self.relations_view = ui_xml.get_object('relations_view')
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]
+ self.header_bg = style.bg[gtk.STATE_NORMAL].to_string()
+ self.relation_bg = style.base[gtk.STATE_NORMAL].to_string()
selection = self.relations_view.get_selection()
selection.set_select_function(self._relationSelectFunc)
@@ -331,10 +326,16 @@ 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, -1])
+ iter = self.relations_model.append(
+ None, [None,
+ '<i>'+markup_escape_text(r_type_name)+'</i>', -1,
+ self.header_bg, False])
for i in range(relation.getNTargets()):
acc = relation.getTarget(i)
- self.relations_model.append(iter, [getIcon(acc), acc.name, i])
+ self.relations_model.append(
+ iter, [getIcon(acc),
+ markup_escape_text(acc.name), i,
+ self.relation_bg, True])
self.relations_view.expand_all()
self.registerEventListener(self._accEventState, 'object:state-changed')
@@ -347,34 +348,6 @@ class _SectionAccessible(_InterfaceSection):
self.states_model.clear()
self.attr_model.clear()
- def _relationCellDataFunc(self, tvc, cellrenderer, model, iter):
- '''
- Make relation-type headers distinguishable by tweaking the visible styling.
-
- @param tvc: The given tree view column
- @type tvc: gtk.TreeViewColumn
- @param cellrenderer: The given cell renderer.
- @type cellrenderer: gtk.CellRenderer
- @param model: The relations data model.
- @type model: gtk.TreeStore
- @param iter: The current iter.
- @type iter: gtk.TreeIter
- '''
- if len(model.get_path(iter)) == 1:
- cellrenderer.set_property('cell-background-gdk', self.header_bg)
- cellrenderer.set_property('mode', gtk.CELL_RENDERER_MODE_INERT)
- if isinstance(cellrenderer, gtk.CellRendererText):
- cellrenderer.set_property('style', pango.STYLE_ITALIC)
- elif isinstance(cellrenderer, gtk.CellRendererPixbuf):
- cellrenderer.set_property('visible', False)
- else:
- cellrenderer.set_property('cell-background-gdk', self.relation_bg)
- cellrenderer.set_property('mode', gtk.CELL_RENDERER_MODE_ACTIVATABLE)
- if isinstance(cellrenderer, gtk.CellRendererText):
- cellrenderer.set_property('style', pango.STYLE_NORMAL)
- elif isinstance(cellrenderer, gtk.CellRendererPixbuf):
- cellrenderer.set_property('visible', True)
-
def _relationSelectFunc(self, path):
'''
Make relation-type headers unselectable.
diff --git a/plugins/interface_view.ui b/plugins/interface_view.ui
index d549974..c5b0454 100644
--- a/plugins/interface_view.ui
+++ b/plugins/interface_view.ui
@@ -8,16 +8,6 @@
<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="GtkListStore" id="accattrib_liststore">
<columns>
<!-- column-name gchararray1 -->
@@ -62,6 +52,20 @@
<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"/>
+ <!-- column-name bg_color -->
+ <column type="gchararray"/>
+ <!-- column-name visible -->
+ <column type="gboolean"/>
+ </columns>
+ </object>
<object class="GtkFrame" id="iface_view_frame">
<property name="visible">True</property>
<property name="label_xalign">0</property>
@@ -254,13 +258,17 @@
<child>
<object class="GtkCellRendererPixbuf" id="cellrendererpixbuf1"/>
<attributes>
+ <attribute name="cell-background-gdk">3</attribute>
+ <attribute name="visible">4</attribute>
<attribute name="pixbuf">0</attribute>
</attributes>
</child>
<child>
<object class="GtkCellRendererText" id="cellrenderertext2"/>
<attributes>
- <attribute name="text">1</attribute>
+ <attribute name="cell-background-gdk">3</attribute>
+ <attribute name="background">3</attribute>
+ <attribute name="markup">1</attribute>
</attributes>
</child>
</object>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]