[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
r6026 - trunk/gnue-forms/src/uidrivers/gtk2/widgets
From: |
johannes |
Subject: |
r6026 - trunk/gnue-forms/src/uidrivers/gtk2/widgets |
Date: |
Thu, 22 Jul 2004 09:22:31 -0500 (CDT) |
Author: johannes
Date: 2004-07-22 09:22:30 -0500 (Thu, 22 Jul 2004)
New Revision: 6026
Modified:
trunk/gnue-forms/src/uidrivers/gtk2/widgets/scrollbar.py
Log:
Introduced ScrollBar widget
Modified: trunk/gnue-forms/src/uidrivers/gtk2/widgets/scrollbar.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/gtk2/widgets/scrollbar.py 2004-07-22
13:40:49 UTC (rev 6025)
+++ trunk/gnue-forms/src/uidrivers/gtk2/widgets/scrollbar.py 2004-07-22
14:22:30 UTC (rev 6026)
@@ -1,6 +1,9 @@
+# GNU Enterprise Forms - GTK UI driver - Scrollbar Widget
#
-# This file is part of GNU Enterprise.
+# Copyright 2001-2004 Free Software Foundation
#
+# This file is part of GNU Enterprise
+#
# GNU Enterprise is free software; you can redistribute it
# and/or modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
@@ -16,61 +19,76 @@
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
-# Copyright 2000-2004 Free Software Foundation
-#
-# FILE:
-# gtk2/widgets/scrollbar.py
-#
-# DESCRIPTION:
-# A part of the gtk2 based user interface driver for GNUe forms.
-#
-# NOTES:
-#
+# $Id$
+
import gtk
+from gnue.common import events
from gnue.forms.uidrivers.gtk2.widgets._base import UIHelper
-from gnue.common.apps import GDebug
-#
-# UIScrollBar
-#
-# Widget set specific function that creates a single instance of a scroll bar
used
-# to navigate multiple records
-#
-class UIScrollBar(UIHelper):
- def _createWidget(self, event, spacer):
- object = event.object
+# =============================================================================
+# This class implements a scrollbar for navigating multiple records
+# =============================================================================
- GDebug.printMesg(2, "size #1: %s,%s " % (str(object.Char__height *\
- event.widgetHeight),
- str((object.Char__y + spacer)* \
- event.widgetHeight)))
+class UIScrollBar (UIHelper):
- adjustment = gtk.Adjustment(70,500,80,2,3,80)
+ # ---------------------------------------------------------------------------
+ # Create the GTK widget
+ # ---------------------------------------------------------------------------
+
+ def _createWidget (self, event, spacer):
+ gfObject = event.object
+ gfBlock = gfObject._block
+
+ self.adjustment = gtk.Adjustment (1, 1, gfBlock._recordCount, 1)
+
+ newWidget = gtk.VScrollbar (self.adjustment)
+ height = gfObject.Char__height * event.widgetHeight
+ newWidget.set_size_request (-1, height)
+ self.adjustment._scrollHandler = self.adjustment.connect ('value-changed',
+ self._scrollHandler, gfObject)
- newWidget = gtk.VScrollbar(adjustment)
- newWidget.set_size_request(object.Char__width * event.widgetWidth,
- object.Char__height * event.widgetHeight)
+ event.container.put (newWidget, self.itemX, self.itemY)
+ newWidget.show ()
+
+ gfBlock.registerScrollbar (self)
- event.container.put(newWidget,600,60)
-
- GDebug.printMesg(2, "size #2: %s,%s " % (str(object.Char__x * \
- event.widgetWidth),\
- str((object.Char__y + spacer) * \
- event.widgetHeight)))
- #event.container.show_all()
- GDebug.printMesg(1, "i am in UIScrollBar")
return newWidget
- object = event.object
- newWidget =wxScrollBar(event.container,-1,
-
wxPoint(object.Char__x*event.widgetWidth,(object.Char__y+spacer)*event.widgetHeight),
-
wxSize(object.Char__width*event.widgetWidth,object.Char__height*event.widgetHeight),
- wxSB_VERTICAL)
-
+ # ---------------------------------------------------------------------------
+ # Handle changes of the adjustment's value
+ # ---------------------------------------------------------------------------
+
+ def _scrollHandler (self, adjustment, gfObject):
+ gDebug (1, "Adjust to %s" % (int (adjustment.value)))
+ action = events.Event ('requestRECORDNUMBER', int (adjustment.value),
+ _form = gfObject._form)
+ adjustment.stop_emission ('value-changed')
+ gtk.idle_add (self._eventHandler, action)
+ return True
+
+
+ # ---------------------------------------------------------------------------
+ # adjust the scrollbar to a new position
+ # ---------------------------------------------------------------------------
+
+ def adjustScrollbar (self, position, count):
+ if int (self.adjustment.upper) != count:
+ self.adjustment.upper = float (count)
+
+ newPos = position + 1
+ self._blockHandler (self.adjustment, '_scrollHandler')
+ self.adjustment.set_value (newPos)
+ self._blockHandler (self.adjustment, '_scrollHandler', True)
+
+
+# -----------------------------------------------------------------------------
+# Configuration data
+# -----------------------------------------------------------------------------
+
configuration = {
- 'baseClass' : UIScrollBar,
- 'provides' : 'GFScrollBar',
- 'container' : 0,
- }
+ 'baseClass' : UIScrollBar,
+ 'provides' : 'GFScrollBar',
+ 'container' : 0,
+}
Property changes on: trunk/gnue-forms/src/uidrivers/gtk2/widgets/scrollbar.py
___________________________________________________________________
Name: svn:keywords
- +Id
+ Id
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- r6026 - trunk/gnue-forms/src/uidrivers/gtk2/widgets,
johannes <=