dabo Commit
Revision 6186
Date: 2010-11-11 11:32:11 -0800 (Thu, 11 Nov 2010)
Author: Paul
Trac: http://trac.dabodev.com/changeset/6186

Changed:
U   trunk/dabo/lib/datanav/Page.py

Log:
r6153 got rid of a couple important update() calls. This re-adds them
but allows the developer a chance to turn them off by setting the
new Page property UpdateOnPageEnter=False.


Diff:
Modified: trunk/dabo/lib/datanav/Page.py
===================================================================
--- trunk/dabo/lib/datanav/Page.py      2010-11-09 20:45:02 UTC (rev 6185)
+++ trunk/dabo/lib/datanav/Page.py      2010-11-11 19:32:11 UTC (rev 6186)
@@ -70,6 +70,22 @@
 
 
 class Page(dabo.ui.dPage):
+       def initEvents(self):
+               self.super()
+               self.bindEvent(dEvents.PageEnter, self.__onPageEnter)
+
+
+       def __onPageEnter(self, evt):
+               self._onPageEnter()
+               if self.UpdateOnPageEnter:
+                       self.update()
+
+
+       def _onPageEnter(self):
+               """Subclass hook."""
+               pass
+
+
        def newRecord(self, ds=None):
                """ Called by a browse grid when the user wants to add a new 
row.
                """
@@ -98,6 +114,17 @@
                        self.Parent.editByDataSource(ds)
 
 
+       def _getUpdateOnPageEnter(self):
+               return getattr(self, "_updateOnPageEnter", True)
+
+       def _setUpdateOnPageEnter(self, val):
+               self._updateOnPageEnter = bool(val)
+
+       UpdateOnPageEnter = property(_getUpdateOnPageEnter, 
_setUpdateOnPageEnter, None,
+                       _("""Specifies whether an implicit self.update() 
happens upon page entry."""))
+
+
+
 class SelectOptionsPanel(dPanel):
        """ Base class for the select options panel.
        """
@@ -135,6 +162,11 @@
                self.sortIndex = 0
 
 
+       def _initProperties(self):
+               self.UpdateOnPageEnter = False
+               self.super()
+
+
        def onSortLabelRClick(self, evt):
                obj = self.sortObj = evt.EventObject
                sortDS = getattr(obj, "relatedDataField", None)
@@ -493,12 +525,7 @@
                super(BrowsePage, self).__init__(parent, Name=Name, *args, 
**kwargs)
 
 
-       def initEvents(self):
-               super(BrowsePage, self).initEvents()
-               self.bindEvent(dEvents.PageEnter, self.__onPageEnter)
-
-
-       def __onPageEnter(self, evt):
+       def _onPageEnter(self):
                if not self.itemsCreated:
                        self.createItems()
                if self.Form.SetFocusToBrowseGrid:
@@ -530,7 +557,6 @@
 
        def initEvents(self):
                super(EditPage, self).initEvents()
-               self.bindEvent(dEvents.PageEnter, self.__onPageEnter)
                self.bindEvent(dEvents.PageLeave, self.__onPageLeave)
                self.Form.bindEvent(dEvents.RowNumChanged, 
self.__onRowNumChanged)
 
@@ -550,7 +576,7 @@
                self.Form.setPrimaryBizobjToDefault(self.DataSource)
 
 
-       def __onPageEnter(self, evt):
+       def _onPageEnter(self):
                self.Form.PrimaryBizobj = self.DataSource
                focusToControl = self._focusToControl
                if focusToControl is not None:



_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message: 
http://leafe.com/archives/byMID/[email protected]

Reply via email to