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

Reply via email to