Ticket #1022: uiwxdPageFrameMixin.2.patch

File uiwxdPageFrameMixin.2.patch, 2.1 kB (added by dj, 1 year ago)

Patch for the dPageFrameMixin. This accounts for the few API differances between FlatNotebook? and the Basic Notebook

  • I:\python\test\dabo\ui\uiwx\dPageFrameMixin.py

    old new  
    9898        il = self.GetImageList() 
    9999        if not il: 
    100100            il = wx.ImageList(16, 16, initialCount=0) 
     101            try: 
    101102            self.AssignImageList(il) 
     103            except: 
     104                self.SetImageList(il) 
    102105        idx = il.Add(img) 
    103106        self._imageList[key] = idx 
    104107 
     
    174177            caption = pg._caption 
    175178        if imgKey: 
    176179            idx = self._imageList[imgKey] 
     180            try: 
     181                self.InsertPage(pos, pg, caption, imageId=idx) 
     182            except: 
    177183            self.InsertPage(pos, pg, text=caption, imageId=idx) 
    178184        else: 
     185            try: 
     186                self.InsertPage(pos, pg, caption) 
     187            except: 
    179188            self.InsertPage(pos, pg, text=caption) 
    180189        return self.Pages[pos] 
    181190    def _insertPageOverride(self, pos, pgCls, caption, imgKey): pass 
     
    222231        if newPos == pos: 
    223232            # No change 
    224233            return 
     234 
     235        try: 
     236            self.GetPage(pos).MoveTabPage(pos, newPos) 
     237        except: 
    225238        cap = pg.Caption 
    226239        self.RemovePage(pos) 
    227240        self.InsertPage(newPos, pg, cap) 
     241 
    228242        if selecting: 
    229243            self.SelectedPage = pg 
    230244        self.Parent.unlockDisplay() 
     
    251265            self.Sizer.layout() 
    252266        except: 
    253267            pass 
     268 
    254269        for pg in self.Pages: 
    255270            pg.layout() 
     271 
    256272        if self.Application.Platform == "Win": 
    257273            self.refresh() 
    258274 
     
    265281        if isinstance(pg, int): 
    266282            ret = pg 
    267283        else: 
     284            try: 
     285                self.GetPageIndex(pg) 
     286            except: 
    268287            # Most likely a page instance was passed. Find its index 
    269288            for i in range(self.PageCount): 
    270289                if self.GetPage(i) == pg: 
     
    319338        ##      (such as in the AppWizard), resulting in self.PageCount > len(self.Pages) 
    320339        ##      if using the commented code below. 
    321340        #return [pg for pg in self.Children if isinstance(pg, dabo.ui.dPage) ] 
     341        try: 
     342            return self._windows 
     343        except: 
    322344        return [self.GetPage(pg) for pg in range(self.PageCount)] 
    323345 
    324346 
     
    334356 
    335357    def _getSelectedPage(self): 
    336358        try: 
     359            ret = self.GetCurrentPage() 
     360        except: 
     361            try: 
    337362            sel = self.GetSelection() 
    338363            if sel < 0: 
    339364                ret = None