self._windows[0].SetDimensions(border, border,
cw - 2*border, ch - 2*border)
else:
- for win in self._windows:
- win.Freeze()
+ if 'wxMSW' in wx.PlatformInfo:
+ self.Freeze()
if self._orient == wx.HORIZONTAL:
x = y = border
h = ch - 2*border
self._windows[idx+1].SetDimensions(x, y, w, last)
if last > 0:
self._sashes[idx+1] = last
- for win in self._windows:
- win.Thaw()
+ if 'wxMSW' in wx.PlatformInfo:
+ self.Thaw()
self._DrawSash(wx.ClientDC(self))
self._needUpdating = False
-
-if __name__ == "__main__":
-
- def OnChanged(evt):
- print "Changed:", evt.GetSashIdx(), evt.GetSashPosition()
- def OnChanging(evt):
- print "Changing:", evt.GetSashIdx(), evt.GetSashPosition()
-
-
- app = wx.App(0)
- frm = wx.Frame(None, title="tester", size=(640,480))
-
- #frm.Bind(wx.EVT_SPLITTER_SASH_POS_CHANGED, OnChanged)
- #frm.Bind(wx.EVT_SPLITTER_SASH_POS_CHANGING, OnChanging)
-
- #sty = 0
- #sty = wx.SP_3DBORDER
- #sty = wx.SP_NOSASH
- sty = wx.SP_LIVE_UPDATE
-
- splitter = MultiSplitterWindow(frm, style=sty)
- #splitter.SetOrientation(wx.VERTICAL)
- splitter.SetMinimumPaneSize(25)
-
- #sty = wx.BORDER_NONE
- #sty = wx.BORDER_SIMPLE
- sty = wx.BORDER_SUNKEN
-
- p1 = wx.Window(splitter, style=sty)
- p1.SetBackgroundColour("pink")
- wx.StaticText(p1, -1, "Panel One", (5,5))
-
- p2 = wx.Window(splitter, style=sty)
- p2.SetBackgroundColour("sky blue")
- wx.StaticText(p2, -1, "Panel Two", (5,5))
- p2.SetMinSize((50,50))
-
- p3 = wx.Window(splitter, style=sty)
- p3.SetBackgroundColour("yellow")
- wx.StaticText(p3, -1, "Panel Three", (5,5))
-
- splitter.AppendWindow(p1, 100)
- splitter.AppendWindow(p2, 200)
- splitter.AppendWindow(p3)
-
- for x in range(3):
- p = wx.Window(splitter, style=sty)
- p.SetBackgroundColour("white")
- wx.StaticText(p, -1, str(4+x), (5,5))
- splitter.AppendWindow(p, 50)
-
- #sizer = wx.BoxSizer()
- #sizer.Add(splitter, 1, wx.EXPAND)
- #frm.SetSizerAndFit(sizer)
-
- frm.Show()
- app.MainLoop()
-
-