commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnue] r8748 - in trunk/gnue-forms/src: GFObjects uidrivers/curses/widge


From: reinhard
Subject: [gnue] r8748 - in trunk/gnue-forms/src: GFObjects uidrivers/curses/widgets uidrivers/gtk2/widgets uidrivers/win32/widgets uidrivers/wx/widgets uidrivers/wx26/widgets
Date: Tue, 10 Oct 2006 18:32:38 -0500 (CDT)

Author: reinhard
Date: 2006-10-10 18:32:37 -0500 (Tue, 10 Oct 2006)
New Revision: 8748

Modified:
   trunk/gnue-forms/src/GFObjects/GFBlock.py
   trunk/gnue-forms/src/GFObjects/GFGrid.py
   trunk/gnue-forms/src/GFObjects/GFScrollBar.py
   trunk/gnue-forms/src/uidrivers/curses/widgets/scrollbar.py
   trunk/gnue-forms/src/uidrivers/gtk2/widgets/scrollbar.py
   trunk/gnue-forms/src/uidrivers/win32/widgets/scrollbar.py
   trunk/gnue-forms/src/uidrivers/wx/widgets/scrollbar.py
   trunk/gnue-forms/src/uidrivers/wx26/widgets/grid.py
   trunk/gnue-forms/src/uidrivers/wx26/widgets/scrollbar.py
Log:
No need to set scrollbar in initialisation, because data is now loaded after UI
init.


Modified: trunk/gnue-forms/src/GFObjects/GFBlock.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFBlock.py   2006-10-10 22:53:53 UTC (rev 
8747)
+++ trunk/gnue-forms/src/GFObjects/GFBlock.py   2006-10-10 23:32:37 UTC (rev 
8748)
@@ -251,7 +251,7 @@
     """
     Register a given scrollbar widget to the block. This widget will be
     notified on record movement. It has to implement a method
-    'do_adjust_scrollbar', taking the current record and the number of records
+    'adjust_scrollbar', taking the current record and the number of records
     as arguments.
     """
 
@@ -1156,9 +1156,9 @@
 
   def __adjust_scrollbars(self):
 
-    for sb in self.__scrollbars:
-      sb.do_adjust_scrollbar (self.__visibleStart,
-          max (self._recordCount, self.__visibleStart + self._rows))
+        for sb in self.__scrollbars:
+            sb.adjust_scrollbar (self.__visibleStart,
+                    max (self._recordCount, self.__visibleStart + self._rows))
 
 
   # ---------------------------------------------------------------------------

Modified: trunk/gnue-forms/src/GFObjects/GFGrid.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFGrid.py    2006-10-10 22:53:53 UTC (rev 
8747)
+++ trunk/gnue-forms/src/GFObjects/GFGrid.py    2006-10-10 23:32:37 UTC (rev 
8748)
@@ -61,8 +61,10 @@
         self.__rows = int(getattr(self, "rows", 1))
         self.walk(self.__rows_walker)
         self._block._rows = self.__rows
+        self._block.register_scrollbar(self)
 
 
+
     # -------------------------------------------------------------------------
     # UI event handlers
     # -------------------------------------------------------------------------
@@ -86,3 +88,20 @@
     def __rows_walker(self, item):
         if item is not self:
             item.rows_changed(self.__rows)
+
+
+    # -------------------------------------------------------------------------
+    # Call the UI widget to adjust the scrollbar to a given position
+    # -------------------------------------------------------------------------
+
+    def adjust_scrollbar(self, current, count):
+        """
+        Update the UI scrollbar to reflect a new position or record-count.
+
+        @param current: current first visible record number in the block
+        @param size: current number of visible rows
+        @param count: number of records in the block
+        """
+
+        if self.uiWidget is not None:
+            self.uiWidget._ui_adjust_scrollbar_(current, self.__rows, count)

Modified: trunk/gnue-forms/src/GFObjects/GFScrollBar.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFScrollBar.py       2006-10-10 22:53:53 UTC 
(rev 8747)
+++ trunk/gnue-forms/src/GFObjects/GFScrollBar.py       2006-10-10 23:32:37 UTC 
(rev 8748)
@@ -61,39 +61,21 @@
 
 
     # -------------------------------------------------------------------------
-    # Get the number of records and rows of the wrapped block
-    # -------------------------------------------------------------------------
-
-    def get_record_and_page_count(self):
-        """
-        Get the current record, the number of records and the number of rows of
-        the underlying block. The number of rows is usable as a page size.
-
-        @return: tuple (current-record, record-count, rows)
-        """
-
-        try:
-            return (self._block._currentRecord, self._block._recordCount,
-                    self._scrollrows)
-        except AttributeError:
-            # let designer start
-            return (0, 0, 1)
-
-
-    # -------------------------------------------------------------------------
     # Call the UI widget to adjust the scrollbar to a given position
     # -------------------------------------------------------------------------
 
-    def do_adjust_scrollbar(self, current, count):
+    def adjust_scrollbar(self, current, count):
         """
         Update the UI scrollbar to reflect a new position or record-count.
 
         @param current: current first visible record number in the block
+        @param size: current number of visible rows
         @param count: number of records in the block
         """
 
         if self.uiWidget is not None:
-            self.uiWidget.do_adjust_scrollbar(current, count)
+            self.uiWidget._ui_adjust_scrollbar_(current, self._scrollrows,
+                    count)
 
 
     # -------------------------------------------------------------------------

Modified: trunk/gnue-forms/src/uidrivers/curses/widgets/scrollbar.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/curses/widgets/scrollbar.py  2006-10-10 
22:53:53 UTC (rev 8747)
+++ trunk/gnue-forms/src/uidrivers/curses/widgets/scrollbar.py  2006-10-10 
23:32:37 UTC (rev 8748)
@@ -32,7 +32,7 @@
   def _init (self, index):
     pass
 
-  def do_adjust_scrollbar (self, position, count):
+  def _ui_adjust_scrollbar_(self, position, size, count):
     pass
 
 # =============================================================================

Modified: trunk/gnue-forms/src/uidrivers/gtk2/widgets/scrollbar.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/gtk2/widgets/scrollbar.py    2006-10-10 
22:53:53 UTC (rev 8747)
+++ trunk/gnue-forms/src/uidrivers/gtk2/widgets/scrollbar.py    2006-10-10 
23:32:37 UTC (rev 8748)
@@ -39,10 +39,8 @@
   def _create_widget (self, event, spacer):
     gfObject = event.object
 
-    (crec, recs, page) = gfObject.get_record_and_page_count ()
+    self.adjustment = gtk.Adjustment (0, 0, 0, 0, 0, 0)
 
-    self.adjustment = gtk.Adjustment (crec, 0, recs - 1, 1, page - 1, page - 1)
-
     newWidget = gtk.VScrollbar (self.adjustment)
     height    = gfObject.Char__height * event.widgetHeight
     newWidget.set_size_request (-1, height)
@@ -60,13 +58,10 @@
   # adjust the scrollbar to a new position
   # ---------------------------------------------------------------------------
 
-  def do_adjust_scrollbar (self, position, count):
+  def _ui_adjust_scrollbar_(self, position, size, count):
 
-    if int (self.adjustment.upper) != count - 1:
-      self.adjustment.upper = float (count - 1)
-
     self._blockHandler (self.adjustment, '_scrollHandler')
-    self.adjustment.set_value (position)
+    self.adjustment.set_all(position, 0, count - 1, 1, size - 1, size - 1)
     self._blockHandler (self.adjustment, '_scrollHandler', True)
 
 

Modified: trunk/gnue-forms/src/uidrivers/win32/widgets/scrollbar.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/win32/widgets/scrollbar.py   2006-10-10 
22:53:53 UTC (rev 8747)
+++ trunk/gnue-forms/src/uidrivers/win32/widgets/scrollbar.py   2006-10-10 
23:32:37 UTC (rev 8748)
@@ -58,10 +58,7 @@
                         object.Char__height*event.widgetHeight,
                         event.container, getNextId ())
 
-    if event.initialize:
-      (crec, self.lastRecord, self.pageSize) = 
object.get_record_and_page_count()
-      self._hwnd = newWidget.GetHwnd ()
-      self.do_adjust_scrollbar (crec, self.lastRecord)
+    self._hwnd = newWidget.GetHwnd ()
 
     return newWidget
 
@@ -70,13 +67,13 @@
   # Adjust the scrollbar to reflect changed record or record-cound
   # ---------------------------------------------------------------------------
 
-  def do_adjust_scrollbar (self, current, count):
+  def _ui_adjust_scrollbar_(self, current, size, count):
 
     format = "IIiiIii"
     size = struct.calcsize (format)
     mask = win32con.SIF_RANGE | win32con.SIF_PAGE | win32con.SIF_POS
-    scrollinfo = struct.pack (format, size, mask, 0, count - 1,
-        self.pageSize, current, 0)
+    scrollinfo = struct.pack (format, size, mask, 0, count - 1, size, current,
+            0)
     win32gui.SendMessage (self._hwnd, win32con.SBM_SETSCROLLINFO, 1, 
scrollinfo)
 
 

Modified: trunk/gnue-forms/src/uidrivers/wx/widgets/scrollbar.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/widgets/scrollbar.py      2006-10-10 
22:53:53 UTC (rev 8747)
+++ trunk/gnue-forms/src/uidrivers/wx/widgets/scrollbar.py      2006-10-10 
23:32:37 UTC (rev 8748)
@@ -66,9 +66,6 @@
       _setDefaultEventHandlers (newWidget, event.eventHandler,
           event.initialize,self._uiDriver)
 
-    (crec, recs, self.pageSize) = gfObject.get_record_and_page_count ()
-    self.do_adjust_scrollbar (crec, recs)
-
     return newWidget
 
 
@@ -88,13 +85,13 @@
   # --------------------------------------------------------------------------
   # Adjusts scrollbar pos and size
   # --------------------------------------------------------------------------
-  def do_adjust_scrollbar (self, current, count):
+  def _ui_adjust_scrollbar_(self, current, size, count):
     """
     Adjusts the scrollbar's position and size
     """
 
     # position, thumbSize, range, pageSize, refresh = TRUE
-    self._widget.SetScrollbar (current, self.pageSize, count, self.pageSize - 
1)
+    self._widget.SetScrollbar (current, size, count, size - 1)
 
 
 # ----------------------------------------------------------------------------

Modified: trunk/gnue-forms/src/uidrivers/wx26/widgets/grid.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/widgets/grid.py 2006-10-10 22:53:53 UTC 
(rev 8747)
+++ trunk/gnue-forms/src/uidrivers/wx26/widgets/grid.py 2006-10-10 23:32:37 UTC 
(rev 8748)
@@ -89,14 +89,7 @@
         self.scroll = wx.ScrollBar(self.widget, -1, style=wx.SB_VERTICAL)
         inner.Add(self.scroll, 0, wx.EXPAND | wx.TOP | wx.BOTTOM, 3)
 
-        block = self._gfObject._block
-
-        crec = block._currentRecord
-        recs = block._recordCount
-        block.register_scrollbar(self)
-
         self.scroll.Bind(wx.EVT_SCROLL, self.__on_scroll)
-        self.do_adjust_scrollbar(crec, recs)
 
         self.__max = self._gfObject.rows
         self.__visible = self.__max
@@ -201,17 +194,12 @@
 
     def __on_mousewheel(self, event):
 
-        forward = event.GetWheelRotation() < 0
-        block = self._gfObject.get_block()
-
-        delta = -1
-        if forward:
+        if event.GetWheelRotation() < 0:
             delta = 1
         else:
             delta = -1
-        block._event_scroll_delta(delta)
+        self._gfObject._block._event_scroll_delta(delta)
 
-
     # -------------------------------------------------------------------------
 
     def __on_scroll(self, event):
@@ -284,12 +272,11 @@
     # Adjust scrollbar if the current record has changed
     # -------------------------------------------------------------------------
 
-    def do_adjust_scrollbar(self, position, count):
+    def _ui_adjust_scrollbar_(self, position, size, count):
         """
         Adjust the thumb-position and the number of rows of the scrollbar
         """
-        self.scroll.SetScrollbar(position, self.__visible, count,
-                        self.__visible-1, True)
+        self.scroll.SetScrollbar(position, size, count, size - 1, True)
 
 
 # =============================================================================

Modified: trunk/gnue-forms/src/uidrivers/wx26/widgets/scrollbar.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx26/widgets/scrollbar.py    2006-10-10 
22:53:53 UTC (rev 8747)
+++ trunk/gnue-forms/src/uidrivers/wx26/widgets/scrollbar.py    2006-10-10 
23:32:37 UTC (rev 8748)
@@ -43,15 +43,22 @@
       self.widget = wx.ScrollBar(parent, -1, size=csize, style=wx.SB_VERTICAL)
       self.getParent().add_widgets(self, spacer)
 
-      (crec, recs, self.pageSize) = self._gfObject.get_record_and_page_count()
-      wx.EVT_COMMAND_SCROLL(self.widget, self.widget.GetId(),
-              self.__on_scroll)
-      self.do_adjust_scrollbar (crec, recs)
+      wx.EVT_COMMAND_SCROLL(self.widget, self.widget.GetId(), self.__on_scroll)
 
       return self.widget
 
 
   # ---------------------------------------------------------------------------
+  # Handle changes of the adjustment's value
+  # ---------------------------------------------------------------------------
+
+  def __on_scroll(self, event):
+
+    self._gfObject._event_scrollToRecord (event.GetPosition ())
+    event.Skip ()
+
+
+  # ---------------------------------------------------------------------------
   # Get the default size of a scrollbar
   # ---------------------------------------------------------------------------
 
@@ -76,22 +83,11 @@
   # adjust the scrollbar to a new position
   # ---------------------------------------------------------------------------
 
-  def do_adjust_scrollbar(self, position, count):
+  def _ui_adjust_scrollbar_(self, position, size, count):
 
-    self.widget.SetScrollbar(position, self.pageSize, count,
-        self.pageSize-1, True)
+    self.widget.SetScrollbar(position, size, count, size - 1, True)
 
 
-  # ---------------------------------------------------------------------------
-  # Handle changes of the adjustment's value
-  # ---------------------------------------------------------------------------
-
-  def __on_scroll(self, event):
-
-    self._gfObject._event_scrollToRecord (event.GetPosition ())
-    event.Skip ()
-
-
 # -----------------------------------------------------------------------------
 # Configuration data
 # -----------------------------------------------------------------------------





reply via email to

[Prev in Thread] Current Thread [Next in Thread]