2D window (left panel), 3D window (middle panel), Console area (bottom panel), and Editor for misc stuff (Right panel)
Here is the code I am using:
Code: Select all
wxWindow *m_left, *m_right, *m_console, *m_info;
wxSplitterWindow* m_splitter, *m_splitter_b, *m_splitter_r;
wxBoxSizer *_topCont, *_mainCont; //Containers
_topCont = new wxBoxSizer(wxVERTICAL);
_mainCont = new wxBoxSizer(wxHORIZONTAL);
_topCont->Add(_mainCont, 1, wxEXPAND);
m_splitter = new MySplitterWindow(this);
m_splitter->SetMinimumPaneSize(1);
_topCont->Add(m_splitter, 1, wxEXPAND);
m_splitter_b = new wxSplitterWindow(m_splitter, wxID_ANY,
wxDefaultPosition, wxDefaultSize,
wxSP_3D | wxSP_LIVE_UPDATE |
wxSP_NO_XP_THEME);
m_splitter_b->SetMinimumPaneSize(1);
m_splitter_r = new wxSplitterWindow(m_splitter, wxID_ANY,
wxDefaultPosition, wxDefaultSize,
wxSP_3D | wxSP_LIVE_UPDATE |
wxSP_NO_XP_THEME);
m_splitter_r->SetMinimumPaneSize(1);
m_splitter->SetSize(GetClientSize());
m_splitter->SetSashGravity(1.0);
m_left = new MyCanvas(m_splitter_b, false);
m_left->SetBackgroundColour(*wxRED);
m_right = new MyCanvas(m_splitter_b, false);
m_right->SetBackgroundColour(*wxLIGHT_GREY);
m_console = new MyCanvas(m_splitter, false);
m_console->SetBackgroundColour(*wxGREEN);
m_info = new MyCanvas(m_splitter, false);
m_info->SetBackgroundColour(*wxBLACK);
m_splitter_b->SplitVertically(m_left, m_right, 300);
m_splitter->SplitHorizontally(m_splitter_b, m_info, 400);
//m_splitter_r->SplitVertically(m_splitter_b, m_console, 500);