[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r6078 - in trunk/gnue-forms: po src/uidrivers/gtk2/widgets
From: |
johannes |
Subject: |
r6078 - in trunk/gnue-forms: po src/uidrivers/gtk2/widgets |
Date: |
Sun, 25 Jul 2004 13:49:24 -0500 (CDT) |
Author: johannes
Date: 2004-07-25 13:49:23 -0500 (Sun, 25 Jul 2004)
New Revision: 6078
Modified:
trunk/gnue-forms/po/de.po
trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py
trunk/gnue-forms/src/uidrivers/gtk2/widgets/entry.py
Log:
Added listbox widget to gtk2-driver, updated de-translation
Modified: trunk/gnue-forms/po/de.po
===================================================================
--- trunk/gnue-forms/po/de.po 2004-07-25 11:47:14 UTC (rev 6077)
+++ trunk/gnue-forms/po/de.po 2004-07-25 18:49:23 UTC (rev 6078)
@@ -149,6 +149,7 @@
"\n"
" %s"
msgstr ""
+"Datei kann nicht ge�ffnet werden\n %s"
#: GFInstance.py:293
msgid ""
@@ -865,7 +866,7 @@
#: uidrivers/gtk2/ErrorHandler.py:64 uidrivers/win32/ErrorHandler.py:43
#: uidrivers/wx/ErrorHandler.py:63
msgid "Unable to start GNUe Forms:"
-msgstr ""
+msgstr "GNUe Forms kann nicht gestartet werden:"
#: uidrivers/gtk2/ErrorHandler.py:85
msgid "Exception occured in GNUe Forms:"
Modified: trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py 2004-07-25
11:47:14 UTC (rev 6077)
+++ trunk/gnue-forms/src/uidrivers/gtk2/widgets/_base.py 2004-07-25
18:49:23 UTC (rev 6078)
@@ -100,7 +100,7 @@
# Add a focus-in handler to a widget
# ---------------------------------------------------------------------------
- def _addFocusHandler (self, widget, lookupWidget = None):
+ def _addFocusHandler (self, widget, lookupWidget = None, after = False):
"""
This function connects a handler to the widget's focus-in-event signal
passing an optional lookup widget to it. A lookup widget will be used for
@@ -111,11 +111,11 @@
if lookupWidget is None:
lookupWidget = widget
GDebug.printMesg (2, "ADD FOCUSHANDLER %s (%s)" % (widget, lookupWidget))
- widget._focusHandler = widget.connect ('focus-in-event',
- self.__focusInHandler, lookupWidget)
+ method = after and widget.connect_after or widget.connect
+ widget._focusHandler = method ('focus-in-event', self.__focusInHandler,
+ lookupWidget)
-
# ---------------------------------------------------------------------------
# Handle focus signals from widgets
# ---------------------------------------------------------------------------
@@ -191,7 +191,6 @@
GDebug.printMesg (1, "indexedFocus: %s [%s]" % (widget, index))
item = isinstance (widget, gtk.Combo) and widget.entry or widget
- handler = hasattr (item, '_focusHandler') and item._focusHandler or None
self._blockHandler (item, '_focusHandler')
@@ -264,6 +263,18 @@
widget.set_active (value)
self._blockHandler (widget, '_clickedHandler', True)
+ elif isinstance (widget, gtk.TreeView):
+ gfObject = self._uiDriver._WidgetToGFObj [widget]
+ if gfObject.style == "listbox":
+ self._updateChoices (widget, gfObject)
+
+ if value in self.items:
+ path = "%s" % self.items.index (value)
+ gDebug (1, "Changing path of treeView to %s" % path)
+ self._blockHandler (self.selection, '_changedHandler')
+ widget.set_cursor (path)
+ self._blockHandler (self.selection, '_changedHandler', True)
+
else:
item = isinstance (widget, gtk.TextView) and widget.get_buffer () or \
widget
Modified: trunk/gnue-forms/src/uidrivers/gtk2/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/gtk2/widgets/entry.py 2004-07-25
11:47:14 UTC (rev 6077)
+++ trunk/gnue-forms/src/uidrivers/gtk2/widgets/entry.py 2004-07-25
18:49:23 UTC (rev 6078)
@@ -35,24 +35,27 @@
class UIEntry (UIHelper):
def _createWidget (self, event, spacer):
- object = event.object
- style = object.style
+ gfObject = event.object
+ style = gfObject.style
if style == 'dropdown':
- newWidget = self.__createDropDown (object, event)
+ newWidget = self.__createDropDown (gfObject, event)
elif style == 'label':
- newWidget = self.__createLabel (object, event)
+ newWidget = self.__createLabel (gfObject, event)
elif style == 'checkbox':
- newWidget = self.__createCheckbox (object, event)
+ newWidget = self.__createCheckbox (gfObject, event)
+ elif style == 'listbox':
+ newWidget = self.__createListBox (gfObject, event)
+
else:
- if hasattr (object, 'Char__height') and object.Char__height > 1:
- newWidget = self.__createTextView (object, event)
+ if hasattr (gfObject, 'Char__height') and gfObject.Char__height > 1:
+ newWidget = self.__createTextView (gfObject, event)
else:
- newWidget = self.__createEntry (object, event)
+ newWidget = self.__createEntry (gfObject, event)
event.container.show_all ()
return newWidget
@@ -391,19 +394,116 @@
# Update the list of allowed values on a Combo widget if neccessary
# ---------------------------------------------------------------------------
- def _updateChoices (self, combo, gfObject):
- if not isinstance (combo, gtk.Combo):
- gDebug (1, "Called 'updateChoices' on non-Combo-widget!")
- return
+ def _updateChoices (self, widget, gfObject):
+ if isinstance (widget, gtk.Combo):
+ if widget._origAllowedValues != gfObject._field._allowedValues:
+ (self.reverse, self.choices) = gfObject._field.allowedValues ()
+ self.choices.sort ()
- if combo._origAllowedValues != gfObject._field._allowedValues:
- (self.reverse, self.choices) = gfObject._field.allowedValues ()
- self.choices.sort ()
+ widget._origAllowedValues = gfObject._field._allowedValues
+ widget.set_popdown_strings (self.choices)
- combo._origAllowedValues = gfObject._field._allowedValues
- combo.set_popdown_strings (self.choices)
+ elif isinstance (widget, gtk.TreeView):
+ if widget._origAllowedValues != gfObject._field._allowedValues:
+ self.listStore.clear ()
+ self.choices = gfObject._field.allowedValues () [0]
+ nDict = {}
+ for (key, value) in self.choices.items ():
+ nDict [value] = key
+
+ self.items = nDict.keys ()
+ self.items.sort ()
+
+ for key in self.items:
+ self.listStore.append ([nDict [key], key])
+
+ widget._origAllowedValues = gfObject._field._allowedValues
+
+
+ # ---------------------------------------------------------------------------
+ # Create a listbox entry
+ # ---------------------------------------------------------------------------
+
+ def __createListBox (self, gfObject, event):
+ self.listStore = gtk.ListStore (str, str)
+
+ hbox = gtk.HBox (False, 0)
+ hbox.set_size_request (self.itemWidth, self.itemHeight)
+
+ frame = gtk.Frame ()
+ frame.set_shadow_type (gtk.SHADOW_IN)
+
+ hbox.pack_start (frame)
+ frame.show ()
+
+ newWidget = gtk.TreeView (self.listStore)
+ newWidget.set_headers_visible (False)
+ newWidget._origAllowedValues = None
+ self._updateChoices (newWidget, gfObject)
+
+ if newWidget.get_vadjustment () is not None:
+ adjustment = newWidget.get_vadjustment ()
+ scroll = gtk.VScrollbar (adjustment)
+ scroll.set_size_request (-1, self.itemHeight)
+ hbox.pack_start (scroll, False, False)
+ newWidget._focusOnScroll = adjustment.connect ('value-changed',
+ self._focusOnScroll, newWidget)
+ scroll.show ()
+
+ newWidget.modify_font (self._uiDriver.font)
+ self.selection = newWidget.get_selection ()
+ self.selection.set_mode (gtk.SELECTION_SINGLE)
+ self.selection._changedHandler = self.selection.connect ('changed',
+ self._selectionChanged, gfObject)
+
+ tvCol = gtk.TreeViewColumn ()
+ newWidget.append_column (tvCol)
+
+ cell = gtk.CellRendererText ()
+ tvCol.pack_start (cell, False)
+ tvCol.add_attribute (cell, 'text', 1)
+
+ frame.add (newWidget)
+ if event.initialize:
+ self._addFocusHandler (newWidget, newWidget, True)
+ self._addDefaultEventHandler (newWidget)
+
+ newWidget.show ()
+
+ event.container.put (hbox, self.itemX, self.itemY)
+
+ return newWidget
+
+
+ # ---------------------------------------------------------------------------
+ # Handle changes of selection in the tree view
+ # ---------------------------------------------------------------------------
+
+ def _selectionChanged (self, treeSelection, gfObject):
+ (model, tIter) = treeSelection.get_selected ()
+ desc = model.get_value (tIter, 1)
+ fRef = gfObject._form
+
+ action = events.Event ('requestFOCUS', gfObject, _form = fRef)
+ self._eventHandler (action)
+
+ action = events.Event ('requestREPLACEVALUE', text = desc, _form = fRef)
+ self._eventHandler (action)
+
+
+ # ---------------------------------------------------------------------------
+ # Move ui-focus to the corresponding tree view if a slider gets changed
+ # ---------------------------------------------------------------------------
+
+ def _focusOnScroll (self, adjustment, treeView):
+ gDebug (3, "grabing focus to %s on adjustment-change %s" % (treeView,
+ adjustment))
+ self._blockHandler (treeView, '_focusHandler')
+ treeView.grab_focus ()
+ self._blockHandler (treeView, '_focusHandler', True)
+
# -----------------------------------------------------------------------------
# Base configuration data
# -----------------------------------------------------------------------------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r6078 - in trunk/gnue-forms: po src/uidrivers/gtk2/widgets,
johannes <=