How to Splitt splittered windows?

Hi,
In my application I want to Splitt Frame Horizontally, and that each splittered windows Splitt Vertically.
Splitt Frame Horizontally work fine, but instead of Splitt Vertically windows I view points.
There is my error?

    class MyFrame(wx.wxFrame):
        def __init__(self):
            self.papa = self
            wx.wxFrame.__init__(self, wx.NULL, -1, 'Formating SubSet FS',
                    wx.wxDefaultPosition, wx.wxSize(600,500))

            self.sizer = wx.wxBoxSizer(wx.wxHORIZONTAL)
            self.SetSizer(self.sizer)

            self.split = wx.wxSplitterWindow(self, -1)
            self.sizer.Add(self.split,1,wx.wxEXPAND,1)

            self.pA = wx.wxWindow(self.split, -1)
            self.pB = wx.wxWindow(self.split, -1)
            self.split.SplitHorizontally(self.pA, self.pB, 200)

            # work up to this place --------------------------
            self.pASizer = wx.wxBoxSizer(wx.wxVERTICAL)
            self.pA.SetSizer(self.pASizer)

            self.pASplit = wx.wxSplitterWindow(self.pA, -1)
            self.pASizer.Add(self.pASplit,1,wx.wxEXPAND,1)

            self.pA1 = wx.wxPanel(self.pASplit, -1)
            self.pA2 = wx.wxPanel(self.pASplit, -1)
            self.pASplit.SplitVertically(self.pA1, self.pA2, 298)

            self.pA1Sizer = wx.wxBoxSizer(wx.wxVERTICAL)
            self.pA1.SetSizer(self.pA1Sizer)

            self.pA2Sizer = wx.wxBoxSizer(wx.wxVERTICAL)
            self.pA2.SetSizer(self.pA2Sizer)

            self.pBSizer = wx.wxBoxSizer(wx.wxVERTICAL)
            self.pB.SetSizer(self.pBSizer)

            self.pBSplit = wx.wxSplitterWindow(self.pB, -1)
            self.pBSizer.Add(self.pBSplit,1,wx.wxEXPAND,1)

            self.pB1 = wx.wxPanel(self.pBSplit, -1)
            self.pB2 = wx.wxPanel(self.pBSplit, -1)
            self.pBSplit.SplitVertically(self.pB1, self.pB2, 298)

            self.pB1Sizer = wx.wxBoxSizer(wx.wxVERTICAL)
            self.pB1.SetSizer(self.pB1Sizer)

Thanks for help,

Leonid

See if the attach code will help you.

Ricardo

split_test.py (1.77 KB)

···

On Sun, 2005-09-11 at 13:33 +0300, Leonid Shulov wrote:

Hi,
In my application I want to Splitt Frame Horizontally, and that each
splittered windows Splitt Vertically.
Splitt Frame Horizontally work fine, but instead of Splitt Vertically
windows I view points.
There is my error?

Thank you, its work.

Leonid

Ricardo Pedroso wrote:

···
On Sun, 2005-09-11 at 13:33 +0300, Leonid Shulov wrote:
Hi,
In my application I want to Splitt Frame Horizontally, and that each splittered windows Splitt Vertically.
Splitt Frame Horizontally work fine, but instead of Splitt Vertically windows I view points.
There is my error?

See if the attach code will help you.
Ricardo


---


import wx
class Splitter1(wx.SplitterWindow):
def __init__(self, parent, ID):
wx.SplitterWindow.__init__(self, parent, ID,
style = wx.SP_LIVE_UPDATE
)
self.SetMinimumPaneSize(20)
p1 = wx.Panel(self)
p1.SetBackgroundColour("red")
p2 = wx.Panel(self)
p2.SetBackgroundColour("green")
self.SplitVertically(p1, p2, 200)
t1 = wx.TextCtrl(p1, -1)
t2 = wx.TextCtrl(p1, -1)
sizer_p1 = wx.BoxSizer(wx.VERTICAL)
sizer_p1.Add(t1, 0, wx.EXPAND|wx.ALL,2)
sizer_p1.Add(t2, 0, wx.EXPAND|wx.ALL,2)
p1.SetSizer(sizer_p1)
sizer_p1.Fit(p1)
p1.Layout()
t3 = wx.ListCtrl(p2, -1)
sizer_p2 = wx.BoxSizer(wx.VERTICAL)
sizer_p2.Add(t3, 1, wx.EXPAND|wx.ALL,10)
p2.SetSizer(sizer_p2)
sizer_p2.Fit(p2)
p2.Layout()
class Splitter2(wx.SplitterWindow):
def __init__(self, parent, ID):
wx.SplitterWindow.__init__(self, parent, ID,
style = wx.SP_LIVE_UPDATE
)
self.SetMinimumPaneSize(20)
p1 = wx.Panel(self)
p1.SetBackgroundColour("blue")
p2 = wx.Panel(self)
p2.SetBackgroundColour("yellow")
self.SplitVertically(p1, p2, 200)
class MyFrame(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, -1, 'Formating SubSet FS',
wx.DefaultPosition, wx.Size(600,500))
splitter = wx.SplitterWindow(self, -1)
p1 = Splitter1(splitter, -1)
p2 = Splitter2(splitter, -1)
splitter.SplitHorizontally(p1, p2, 200)
splitter.SetMinimumPaneSize(20)
app=wx.PySimpleApp()
f=MyFrame()
f.Show()
app.MainLoop()