Create custom cell renderer for image labels in GalleryTab for better control.
svn: r9084
This commit is contained in:
parent
b10607715e
commit
e9bb3d75c1
@ -1,3 +1,7 @@
|
|||||||
|
2007-10-05 Zsolt Foldvari <zfoldvar@users.sourceforge.net>
|
||||||
|
* src/DisplayTabs/_GalleryTab.py (build_interface): Create custom cell
|
||||||
|
renderer for labels for better control.
|
||||||
|
|
||||||
2007-10-05 Benny Malengier <benny.malengier@gramps-project.org>
|
2007-10-05 Benny Malengier <benny.malengier@gramps-project.org>
|
||||||
* src/DisplayTabs/_GalleryTab.py: remove bug that leads to database corruption,
|
* src/DisplayTabs/_GalleryTab.py: remove bug that leads to database corruption,
|
||||||
if media is deleted in mediaview, remove media in all open gallery tabs
|
if media is deleted in mediaview, remove media in all open gallery tabs
|
||||||
|
@ -28,6 +28,7 @@
|
|||||||
from gettext import gettext as _
|
from gettext import gettext as _
|
||||||
import cPickle as pickle
|
import cPickle as pickle
|
||||||
import urlparse
|
import urlparse
|
||||||
|
import os
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -35,7 +36,7 @@ import urlparse
|
|||||||
#
|
#
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
import gtk
|
import gtk
|
||||||
import os
|
import pango
|
||||||
|
|
||||||
#-------------------------------------------------------------------------
|
#-------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
@ -145,27 +146,46 @@ class GalleryTab(ButtonTab):
|
|||||||
self.iconmodel.connect_after('row-deleted', self._update_internal_list)
|
self.iconmodel.connect_after('row-deleted', self._update_internal_list)
|
||||||
|
|
||||||
def build_interface(self):
|
def build_interface(self):
|
||||||
|
"""Setup the GUI.
|
||||||
|
|
||||||
|
It includes an IconView placed inside of a ScrolledWindow.
|
||||||
|
|
||||||
|
"""
|
||||||
|
item_width = 125
|
||||||
|
|
||||||
|
# create the model used with the icon view
|
||||||
self._build_icon_model()
|
self._build_icon_model()
|
||||||
|
|
||||||
# build the icon view
|
# build the icon view
|
||||||
self.iconlist = gtk.IconView()
|
self.iconlist = gtk.IconView()
|
||||||
self.iconlist.set_pixbuf_column(0)
|
self.iconlist.set_pixbuf_column(0)
|
||||||
self.iconlist.set_text_column(1)
|
# set custom text cell renderer for better control
|
||||||
|
text_renderer = gtk.CellRendererText()
|
||||||
|
text_renderer.set_property('xalign', 0.5)
|
||||||
|
text_renderer.set_property('yalign', 0.0)
|
||||||
|
text_renderer.set_property('wrap-mode', pango.WRAP_WORD_CHAR)
|
||||||
|
text_renderer.set_property('wrap-width', item_width)
|
||||||
|
self.iconlist.pack_end(text_renderer)
|
||||||
|
self.iconlist.set_attributes(text_renderer, text=1)
|
||||||
|
|
||||||
|
# set basic properties of the icon view
|
||||||
self.iconlist.set_margin(12)
|
self.iconlist.set_margin(12)
|
||||||
try:
|
self.iconlist.set_spacing(24)
|
||||||
# This is only available for pygtk 2.8
|
self.iconlist.set_item_width(item_width)
|
||||||
self.iconlist.set_reorderable(True)
|
|
||||||
except AttributeError:
|
|
||||||
pass
|
|
||||||
self.iconlist.set_item_width(125)
|
|
||||||
self.iconlist.set_spacing(24)
|
|
||||||
self.iconlist.set_selection_mode(gtk.SELECTION_SINGLE)
|
self.iconlist.set_selection_mode(gtk.SELECTION_SINGLE)
|
||||||
|
if gtk.pygtk_version >= (2, 8, 0):
|
||||||
|
self.iconlist.set_reorderable(True)
|
||||||
|
|
||||||
|
# connect the signals
|
||||||
self.iconlist.connect('selection-changed', self._selection_changed)
|
self.iconlist.connect('selection-changed', self._selection_changed)
|
||||||
self.iconlist.connect('button_press_event', self.double_click)
|
self.iconlist.connect('button_press_event', self.double_click)
|
||||||
self._connect_icon_model()
|
self._connect_icon_model()
|
||||||
|
|
||||||
|
# create the scrolled window
|
||||||
scroll = gtk.ScrolledWindow()
|
scroll = gtk.ScrolledWindow()
|
||||||
scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
|
scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
|
||||||
|
|
||||||
|
# put everything together
|
||||||
scroll.add(self.iconlist)
|
scroll.add(self.iconlist)
|
||||||
self.pack_start(scroll, True)
|
self.pack_start(scroll, True)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user