[Top][All Lists]
[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
# -----------------------------------------------------------------------------
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gnue] r8748 - in trunk/gnue-forms/src: GFObjects uidrivers/curses/widgets uidrivers/gtk2/widgets uidrivers/win32/widgets uidrivers/wx/widgets uidrivers/wx26/widgets,
reinhard <=