X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Fsimple_list.py;h=948b04a8edbbd6185bc5d715dbbcf74eedaeda36;hb=b62dbd9583ad1ef0edde77a2ae4e114e59b99b68;hp=e512e10f800458dbae30beacef6136bd35aa7245;hpb=6a4f19ea2cfe142f24f57be1be36b37dfe0d2d0c;p=quicknote diff --git a/src/simple_list.py b/src/simple_list.py index e512e10..948b04a 100644 --- a/src/simple_list.py +++ b/src/simple_list.py @@ -9,10 +9,14 @@ it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation. """ +import logging import pango import gtk +import hildonize +import gtk_toolbox + try: _ @@ -20,7 +24,10 @@ except NameError: _ = lambda x: x -class SimpleList(gtk.ScrolledWindow): +_moduleLogger = logging.getLogger("simple_list") + + +class SimpleList(object): """ Stellt eine einfache Liste mit Laufbalken dar. Das wird mit den Objekten ScrolledWindow und TreeView erreicht. @@ -33,21 +40,13 @@ class SimpleList(gtk.ScrolledWindow): """ Initialisieren """ - - gtk.ScrolledWindow.__init__(self) self._selectedItem = None # (, , ) - # Liste - self._itemlist = gtk.ListStore(str, str) - - # ScrolledWindow - self.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) - self.set_shadow_type(gtk.SHADOW_IN) - # Treeview + self._itemlist = gtk.ListStore(str, str) self._itemView = gtk.TreeView(self._itemlist) self._itemView.set_headers_visible(False) - self._itemView.get_selection().set_mode(gtk.SELECTION_BROWSE) + self._itemView.get_selection().set_mode(gtk.SELECTION_SINGLE) self._itemView.connect("cursor-changed", self._on_cursor_changed) self._itemView.connect("row-activated", self._on_row_activated) self._itemView.show() @@ -73,9 +72,23 @@ class SimpleList(gtk.ScrolledWindow): # wie ich das möchte. Deshalb habe ich die Suche abgeschaltet. self._itemView.set_enable_search(False) - # Anzeigen - self.add(self._itemView) - self.show() + self._maemo5HackVBox = gtk.VBox() + self._maemo5HackVBox.pack_start(self._itemView) + self._maemo5HackViewport = gtk.Viewport() + self._maemo5HackViewport.add(self._maemo5HackVBox) + + # ScrolledWindow + self._scrolledWindow = gtk.ScrolledWindow() + self._scrolledWindow.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC) + self._scrolledWindow.set_shadow_type(gtk.SHADOW_IN) + self._scrolledWindow.add(self._maemo5HackViewport) + + self._scrolledWindow = hildonize.hildonize_scrollwindow(self._scrolledWindow) + self._scrolledWindow.show() + + @property + def widget(self): + return self._scrolledWindow def append_item(self, value, key = ""): """ @@ -117,11 +130,13 @@ class SimpleList(gtk.ScrolledWindow): """ self._itemView.connect("cursor-changed", function) + self._itemView.connect("row-activated", function) + @gtk_toolbox.log_exception(_moduleLogger) def _on_row_activated(self, treeview, path, view_column, data = None): """ - Setzt den Wert von self._selectedItems. Dieser Wert kann - mit der Methode "get_selection_data" abgerufen werden. + Sets the value of self._selectedItems. This value can + be retrieved using the method "get_selection_data. """ iter = self._itemlist.get_iter(path) @@ -134,10 +149,11 @@ class SimpleList(gtk.ScrolledWindow): self._itemlist.get_value(iter, self.VALUE_IDX) # Value ) + @gtk_toolbox.log_exception(_moduleLogger) def _on_cursor_changed(self, widget, data1 = None, data2 = None): """ - Setzt den Wert von self._selectedItems. Dieser Wert kann - mit der Methode "get_selection_data" abgerufen werden. + Sets the value of self._selectedItems. This value can + be retrieved using the method "get_selection_data. """ selection = widget.get_selection()