Changeset 639

Show
Ignore:
Timestamp:
07/21/03 09:35:04 (5 years ago)
Author:
sholloway
Message:

Adjustments to reduce flash

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/RBSkinning/RBSkinning/wxPythonSkin/expander.py

    r495 r639  
    8686        postArgs = self.wxEvalCond('args', ()) 
    8787        self.object = sizerClass(expandwindow, *(preArgs + postArgs)) 
     88        self.object.SetExpandingEnabled(False) 
    8889        self.wxInitialStandardOptions() 
    8990 
     
    9394    def SkinFinalize(self): 
    9495        layout.SkinFinalize(self) 
    95         self.object.ExpandingEnabled = True 
     96        self.object.SetExpandingEnabled(True) 
    9697 
  • trunk/RBSkinning/RBSkinning/wxTools/wxDockingTools.py

    r638 r639  
    192192        self.rootlayout = rootlayout or layout 
    193193        self.prepend = prepend 
    194         self.hideempty = hideempty 
     194        self.SetHideEmpty(hideempty) 
     195 
     196    def GetHideEmpty(self): 
     197        return self.hideempty 
     198 
     199    def SetHideEmpty(self, hideempty): 
     200        if isinstance(hideempty, int): 
     201            self.hideempty = hideempty and self.parent or False 
     202        else: 
     203            self.hideempty = hideempty 
    195204 
    196205    def DockItem(self, container, dockitem=None, *args, **kw): 
     
    238247    def Layout(self): 
    239248        self.OnLayingout() 
     249        self.HideEmpty() 
    240250        self.rootlayout.Layout() 
    241251        if self.layout is not self.rootlayout: 
    242252            self.layout.Layout() 
    243253        self._SetLayoutContainerSizeHints() 
    244         self.HideEmpty() 
    245254        self.OnLayoutComplete() 
    246255 
    247256    def HideEmpty(self): 
    248         if self.hideempty: 
    249             if isinstance(self.hideempty, wx.wxWindowPtr): 
    250                 hidewindow = self.hideempty 
    251             else: hidewindow = self.parent 
     257        hideempty = self.GetHideEmpty() 
     258        if hideempty: 
    252259            if self.dockcount <= 0: 
    253260                self.dockcount = 0 
    254                 hidewindow.Show(False) 
    255             elif not hidewindow.IsShown(): 
    256                 hidewindow.Show(True) 
    257                 hidewindow.Layout() 
     261                hideempty.Show(False) 
     262            elif not hideempty.IsShown(): 
     263                hideempty.Show(True) 
     264                hideempty.Layout() 
    258265 
    259266    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    263270    def _SetLayoutContainerSizeHints(self): 
    264271        SetLayoutContainerSizeHints(self.layout, self.parent) 
    265         if self.rootlayout is not self.layout and self.rootparent is not self.parent: 
     272        if self.rootlayout is not self.layout or self.rootparent is not self.parent: 
    266273            SetLayoutContainerSizeHints(self.rootlayout, self.rootparent) 
    267274 
     
    342349        self.selectpage = selectpage 
    343350        self.prepend = prepend 
    344         self.hideempty = hideempty 
     351        self.SetHideEmpty(hideempty) 
    345352        self._used_pages = [] 
    346353        self._available_pages = [] 
     
    406413        self.HideEmpty() 
    407414        self.OnLayoutComplete() 
    408  
    409     def HideEmpty(self): 
    410         if self.hideempty: 
    411             if isinstance(self.hideempty, wx.wxWindow): 
    412                 hidewindow = self.hideempty 
    413             else: hidewindow = self.notebook 
    414             if self.dockcount <= 0: 
    415                 self.dockcount = 0 
    416                 hidewindow.Show(False) 
    417             elif not hidewindow.IsShown(): 
    418                 hidewindow.Show(True) 
    419                 hidewindow.Layout() 
    420415 
    421416    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  • trunk/RBSkinning/RBSkinning/wxTools/wxExpandableSizers.py

    r495 r639  
    3030#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    3131 
     32class wxWindowExpander(object): 
     33    def __init__(self, window, horizontal=False, vertical=False): 
     34        self.window = window 
     35        self.horizontal = horizontal 
     36        self.vertical = vertical 
     37 
     38    def CanAdjust(self): 
     39        try: 
     40            return not self.window.IsMaximized() and not self.window.IsIconized() and not self.window.IsFullScreen() 
     41        except AttributeError: 
     42            return True 
     43 
     44    def AdjustDimensions(self, item, prepend=False, *args, **kw): 
     45        if self.CanAdjust(): 
     46            width, height = item.GetSize().asTuple() 
     47            try:  
     48                minsize = item.GetMinSize().asTuple() 
     49                width = max(width, minsize[0]) 
     50                height = max(height , minsize[1]) 
     51            except AttributeError:  
     52                pass 
     53 
     54            if prepend: 
     55                self.AdjustDimensionsEx(-width, -height, width, height, *args, **kw) 
     56            else: 
     57                self.AdjustDimensionsEx(0, 0, width, height, *args, **kw) 
     58 
     59    def AdjustDimensionsEx(self, dx,dy,dw,dh, horizontal=False,vertical=False, sign=1): 
     60        if self.CanAdjust(): 
     61            x,y = self.window.GetPosition() 
     62            w,h = self.window.GetSize() 
     63 
     64            if vertical or self.vertical: dx = dw = 0 
     65            if horizontal or self.horizontal: dy = dh = 0 
     66 
     67            self.window.SetDimensions(x+sign*dx, y+sign*dy, w+sign*dw, h+sign*dh, wx.wxSIZE_ALLOW_MINUS_ONE) 
     68 
     69#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     70 
    3271class wxExpandableBoxSizer(wx.wxBoxSizer): 
    3372    def __init__(self, expandwindow, orientation, enabled=False): 
    3473        wx.wxBoxSizer.__init__(self, orientation) 
    35         self.expandwindow = expandwindow 
    36         self.ExpandingEnabled = enabled 
     74        self.SetExpandingEnabled(enabled) 
     75 
     76        self.expander = wxWindowExpander(expandwindow, orientation==wx.wxHORIZONTAL, orientation== wx.wxVERTICAL) 
     77 
     78    def GetExpandingEnabled(self, value): 
     79        return self.ExpandingEnabled 
     80    def SetExpandingEnabled(self, value): 
     81        self.ExpandingEnabled = value 
    3782 
    3883    def Add(self, item, sizerOption=0, sizerFlag=0, sizerBorder=0): 
    39         size = item.GetSize() 
    40         try:  
    41             minsize = item.GetMinSize() 
    42             size.width = max(size.width, minsize.width) 
    43             size.height = max(size.height, minsize.height) 
    44         except AttributeError: pass 
    45         self.AdjustParentDimensions(0, 0, size.width, size.height) 
    46  
     84        if self.ExpandingEnabled: 
     85            self.expander.AdjustDimensions(item, False) 
    4786        result = wx.wxBoxSizer.Add(self, item, sizerOption, sizerFlag, sizerBorder, False) 
    4887        return result 
    4988 
    5089    def Prepend(self, item, sizerOption=0, sizerFlag=0, sizerBorder=0): 
    51         size = item.GetSize() 
    52         try:  
    53             minsize = item.GetMinSize() 
    54             size.width = max(size.width, minsize.width) 
    55             size.height = max(size.height, minsize.height) 
    56         except AttributeError: pass 
    57         self.AdjustParentDimensions(-size.width, -size.height, size.width, size.height) 
    58  
     90        if self.ExpandingEnabled: 
     91            self.expander.AdjustDimensions(item, True) 
    5992        result = wx.wxBoxSizer.Prepend(self, item, sizerOption, sizerFlag, sizerBorder, True) 
    6093        return result 
    6194 
    6295    def Remove(self, item, *args, **kw): 
    63         for child in self.GetChildren(): 
    64             if child.GetWindow() is item: 
    65                 size = child.GetSize() 
    66                 reposition = child.GetUserData() 
    67                 break 
     96        if self.ExpandingEnabled: 
     97            for child in self.GetChildren(): 
     98                if child.GetWindow() is item: 
     99                    width, height = child.GetSize().asTuple() 
     100                    reposition = child.GetUserData() 
     101                    break 
    68102 
    69         if reposition is True: 
    70             self.AdjustParentDimensions(size.width, size.height, -size.width, -size.height) 
    71         elif reposition is False: 
    72             self.AdjustParentDimensions(0, 0, -size.width, -size.height) 
    73         result = wx.wxBoxSizer.Remove(self, item, *args, **kw) 
    74         return result 
     103            if reposition is True: 
     104                self.expander.AdjustDimensionsEx(width, height, -width, -height) 
     105            elif reposition is False: 
     106                self.expander.AdjustDimensionsEx(0, 0, -width, -height) 
     107        return wx.wxBoxSizer.Remove(self, item, *args, **kw) 
    75108 
    76     def AdjustParentDimensions(self, dx,dy,dw,dh): 
    77         if self.ExpandingEnabled: 
    78             x,y = self.expandwindow.GetPosition() 
    79             w,h = self.expandwindow.GetSize() 
    80             orientation = self.GetOrientation() 
    81             if orientation == wx.wxVERTICAL: dx = dw = 0 
    82             elif orientation == wx.wxHORIZONTAL: dy = dh = 0 
    83             self.expandwindow.SetDimensions(x+dx,y+dy,w+dw,h+dh,wx.wxSIZE_ALLOW_MINUS_ONE) 
    84  
  • trunk/RBSkinning/RBSkinning/wxTools/wxMSWindowsUtils.py

    r634 r639  
    2424#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    2525 
    26 import winUitl
     26import warning
    2727import wxPositionKeeper 
     28 
     29#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     30#~ Warnings 
     31#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     32 
     33warnings.warn('wxWinFullScreen has been obviated by the addition of wxFrame::ShowFullScreen', DeprecationWarning) 
    2834 
    2935#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~