X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/226b64025a68f9921968df507e7b35fb9ce5a201..3d2d9036037d9ee51f47d878c3dcef4af4a6ef41:/wxPython/wx/lib/multisash.py diff --git a/wxPython/wx/lib/multisash.py b/wxPython/wx/lib/multisash.py index 05a55df704..6be5e730aa 100644 --- a/wxPython/wx/lib/multisash.py +++ b/wxPython/wx/lib/multisash.py @@ -16,7 +16,7 @@ # 12/20/2003 - Jeff Grimmett (grimmtooth@softhome.net) # # o wxMultiSash -> MultiSash -# o wxMultiSplit -> MultiSplit wxMultiViewLeaf +# o wxMultiSplit -> MultiSplit # o wxMultiViewLeaf -> MultiViewLeaf # @@ -55,17 +55,18 @@ class MultiSash(wx.Window): def GetSaveData(self): saveData = {} - saveData['_defChild'] = str(self._defChild) + saveData['_defChild_class'] = self._defChild.__name__ + saveData['_defChild_mod'] = self._defChild.__module__ saveData['child'] = self.child.GetSaveData() return saveData def SetSaveData(self,data): - dChild = data['_defChild'] - mod = dChild.split('.')[0] + mod = data['_defChild_mod'] + dChild = mod + '.' + data['_defChild_class'] exec 'import %s' % mod self._defChild = eval(dChild) old = self.child - self.child = MultiSplit(self,self,wxPoint(0,0),self.GetSize()) + self.child = MultiSplit(self,self,wx.Point(0,0),self.GetSize()) self.child.SetSaveData(data['child']) old.Destroy() self.OnMultiSize(None) @@ -302,9 +303,13 @@ class MultiViewLeaf(wx.Window): self.Bind(wx.EVT_SIZE,self.OnSize) + self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_3DFACE)) + + def GetSaveData(self): saveData = {} - saveData['detailClass'] = str(self.detail.child.__class__) + saveData['detailClass_class'] = self.detail.child.__class__.__name__ + saveData['detailClass_mod'] = self.detail.child.__module__ if hasattr(self.detail.child,'GetSaveData'): attr = getattr(self.detail.child,'GetSaveData') if callable(attr): @@ -320,8 +325,8 @@ class MultiViewLeaf(wx.Window): return saveData def SetSaveData(self,data): - dChild = data['detailClass'] - mod = dChild.split('.')[0] + mod = data['detailClass_mod'] + dChild = mod + '.' + data['detailClass_class'] exec 'import %s' % mod detClass = eval(dChild) self.SetDimensions(data['x'],data['y'],data['w'],data['h']) @@ -361,12 +366,17 @@ class MultiViewLeaf(wx.Window): return self.GetParent().CanSize(side,self) def OnSize(self,evt): - self.sizerHor.OnSize(evt) - self.sizerVer.OnSize(evt) - self.creatorHor.OnSize(evt) - self.creatorVer.OnSize(evt) - self.detail.OnSize(evt) - self.closer.OnSize(evt) + def doresize(): + try: + self.sizerHor.OnSize(evt) + self.sizerVer.OnSize(evt) + self.creatorHor.OnSize(evt) + self.creatorVer.OnSize(evt) + self.detail.OnSize(evt) + self.closer.OnSize(evt) + except: + pass + wx.CallAfter(doresize) #---------------------------------------------------------------------- @@ -450,6 +460,9 @@ class MultiSizer(wx.Window): self.Bind(wx.EVT_LEFT_DOWN,self.OnPress) self.Bind(wx.EVT_LEFT_UP,self.OnRelease) + self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_3DFACE)) + + def CalcSizePos(self,parent): pw,ph = parent.GetSize() if self.side == MV_HOR: @@ -610,13 +623,13 @@ class MultiCreator(wx.Window): # Draw outline dc.SetPen(highlight) - dc.DrawLine((0,0), (0,h)) - dc.DrawLine((0,0), (w,0)) + dc.DrawLine(0,0, 0,h) + dc.DrawLine(0,0, w,0) dc.SetPen(black) - dc.DrawLine((0,h), (w+1,h)) - dc.DrawLine((w,0), (w,h)) + dc.DrawLine(0,h, w+1,h) + dc.DrawLine(w,0, w,h) dc.SetPen(shadow) - dc.DrawLine((w-1,2), (w-1,h)) + dc.DrawLine(w-1,2, w-1,h) #---------------------------------------------------------------------- @@ -692,11 +705,11 @@ def DrawSash(win,x,y,direction): bmp = wx.EmptyBitmap(8,8) bdc = wx.MemoryDC() bdc.SelectObject(bmp) - bdc.DrawRectangle((-1,-1), (10,10)) + bdc.DrawRectangle(-1,-1, 10,10) for i in range(8): for j in range(8): if ((i + j) & 1): - bdc.DrawPoint((i,j)) + bdc.DrawPoint(i,j) brush = wx.Brush(wx.Colour(0,0,0)) brush.SetStipple(bmp) @@ -726,8 +739,8 @@ def DrawSash(win,x,y,direction): h = body_h if direction == MV_HOR: - dc.DrawRectangle((x,y-2), (w,4)) + dc.DrawRectangle(x,y-2, w,4) else: - dc.DrawRectangle((x-2,y), (4,h)) + dc.DrawRectangle(x-2,y, 4,h) dc.EndDrawingOnTop()