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]