dabo Commit
Revision 1467
Date: 2005-10-20 20:12:05 -0700 (Thu, 20 Oct 2005)
Author: ed
Changed:
U trunk/dabo/dEvents.py
U trunk/dabo/ui/uiwx/dPageFrameMixin.py
Log:
Added a PageChanged event that is received by a pageframe object when the
active page is changed.
Diff:
Modified: trunk/dabo/dEvents.py
===================================================================
--- trunk/dabo/dEvents.py 2005-10-18 23:31:15 UTC (rev 1466)
+++ trunk/dabo/dEvents.py 2005-10-21 03:12:05 UTC (rev 1467)
@@ -324,6 +324,13 @@
return issubclass(objectClass, dabo.ui.dPemMixin)
appliesToClass = classmethod(appliesToClass)
+class PageChanged(Event):
+ """Occurs when a page in a pageframe-like control changes"""
+ def appliesToClass(eventClass, objectClass):
+ return issubclass(objectClass, (dabo.ui.dPageFrame,
dabo.ui.dPageList,
+ dabo.ui.dPageSelect, dabo.ui.dPageNoTabs))
+ appliesToClass = classmethod(appliesToClass)
+
class PageEnter(Event):
"""Occurs when the page becomes the active page."""
def appliesToClass(eventClass, objectClass):
Modified: trunk/dabo/ui/uiwx/dPageFrameMixin.py
===================================================================
--- trunk/dabo/ui/uiwx/dPageFrameMixin.py 2005-10-18 23:31:15 UTC (rev
1466)
+++ trunk/dabo/ui/uiwx/dPageFrameMixin.py 2005-10-21 03:12:05 UTC (rev
1467)
@@ -43,6 +43,8 @@
if newPageNum >= 0 and self.PageCount > newPageNum:
self.Pages[newPageNum].raiseEvent(dEvents.PageEnter)
+ self.raiseEvent(dEvents.PageChanged)
+
# Image-handling function
@@ -146,7 +148,7 @@
return dPage.dPage
def _setPageClass(self, value):
- if issubclass(value, dControlMixin.dControlMixin):
+ if issubclass(value, cm.dControlMixin):
self._pageClass = value
else:
raise TypeError, "PageClass must descend from a Dabo
base class."
@@ -169,7 +171,6 @@
elif value < pageCount:
for i in range(pageCount, value, -1):
self.DeletePage(i-1)
-# self.Refresh()
else:
self._properties["PageCount"] = value
@@ -180,8 +181,13 @@
#return [pg for pg in self.Children if isinstance(pg,
dabo.ui.dPage) ]
return [self.GetPage(pg) for pg in range(self.PageCount)]
+
def _getSelectedPage(self):
- return self.GetPage(self.GetSelection())
+ try:
+ ret = self.GetPage(self.GetSelection())
+ except:
+ ret = None
+ return ret
def _setSelectedPage(self, pg):
if self._constructed():
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev