Changeset 639
- Timestamp:
- 07/21/03 09:35:04 (5 years ago)
- Files:
-
- trunk/RBSkinning/RBSkinning/wxPythonSkin/expander.py (modified) (2 diffs)
- trunk/RBSkinning/RBSkinning/wxTools/wxDockingTools.py (modified) (5 diffs)
- trunk/RBSkinning/RBSkinning/wxTools/wxExpandableSizers.py (modified) (1 diff)
- trunk/RBSkinning/RBSkinning/wxTools/wxMSWindowsUtils.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/RBSkinning/RBSkinning/wxPythonSkin/expander.py
r495 r639 86 86 postArgs = self.wxEvalCond('args', ()) 87 87 self.object = sizerClass(expandwindow, *(preArgs + postArgs)) 88 self.object.SetExpandingEnabled(False) 88 89 self.wxInitialStandardOptions() 89 90 … … 93 94 def SkinFinalize(self): 94 95 layout.SkinFinalize(self) 95 self.object. ExpandingEnabled = True96 self.object.SetExpandingEnabled(True) 96 97 trunk/RBSkinning/RBSkinning/wxTools/wxDockingTools.py
r638 r639 192 192 self.rootlayout = rootlayout or layout 193 193 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 195 204 196 205 def DockItem(self, container, dockitem=None, *args, **kw): … … 238 247 def Layout(self): 239 248 self.OnLayingout() 249 self.HideEmpty() 240 250 self.rootlayout.Layout() 241 251 if self.layout is not self.rootlayout: 242 252 self.layout.Layout() 243 253 self._SetLayoutContainerSizeHints() 244 self.HideEmpty()245 254 self.OnLayoutComplete() 246 255 247 256 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: 252 259 if self.dockcount <= 0: 253 260 self.dockcount = 0 254 hide window.Show(False)255 elif not hide window.IsShown():256 hide window.Show(True)257 hide window.Layout()261 hideempty.Show(False) 262 elif not hideempty.IsShown(): 263 hideempty.Show(True) 264 hideempty.Layout() 258 265 259 266 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ … … 263 270 def _SetLayoutContainerSizeHints(self): 264 271 SetLayoutContainerSizeHints(self.layout, self.parent) 265 if self.rootlayout is not self.layout andself.rootparent is not self.parent:272 if self.rootlayout is not self.layout or self.rootparent is not self.parent: 266 273 SetLayoutContainerSizeHints(self.rootlayout, self.rootparent) 267 274 … … 342 349 self.selectpage = selectpage 343 350 self.prepend = prepend 344 self. hideempty = hideempty351 self.SetHideEmpty(hideempty) 345 352 self._used_pages = [] 346 353 self._available_pages = [] … … 406 413 self.HideEmpty() 407 414 self.OnLayoutComplete() 408 409 def HideEmpty(self):410 if self.hideempty:411 if isinstance(self.hideempty, wx.wxWindow):412 hidewindow = self.hideempty413 else: hidewindow = self.notebook414 if self.dockcount <= 0:415 self.dockcount = 0416 hidewindow.Show(False)417 elif not hidewindow.IsShown():418 hidewindow.Show(True)419 hidewindow.Layout()420 415 421 416 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ trunk/RBSkinning/RBSkinning/wxTools/wxExpandableSizers.py
r495 r639 30 30 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 31 31 32 class 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 32 71 class wxExpandableBoxSizer(wx.wxBoxSizer): 33 72 def __init__(self, expandwindow, orientation, enabled=False): 34 73 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 37 82 38 83 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) 47 86 result = wx.wxBoxSizer.Add(self, item, sizerOption, sizerFlag, sizerBorder, False) 48 87 return result 49 88 50 89 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) 59 92 result = wx.wxBoxSizer.Prepend(self, item, sizerOption, sizerFlag, sizerBorder, True) 60 93 return result 61 94 62 95 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 68 102 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) 75 108 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 = 082 elif orientation == wx.wxHORIZONTAL: dy = dh = 083 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 24 24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 25 25 26 import w inUitls26 import warnings 27 27 import wxPositionKeeper 28 29 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 30 #~ Warnings 31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 32 33 warnings.warn('wxWinFullScreen has been obviated by the addition of wxFrame::ShowFullScreen', DeprecationWarning) 28 34 29 35 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
