SPLIT_SETPOSITION,
SPLIT_SETMINSIZE,
SPLIT_SETGRAVITY,
- SPLIT_REPLACE
+ SPLIT_REPLACE,
+ SPLIT_INVISIBLE
};
// ----------------------------------------------------------------------------
void OnSetMinSize(wxCommandEvent& event);
void OnSetGravity(wxCommandEvent& event);
void OnReplace(wxCommandEvent &event);
+ void OnToggleInvisible(wxCommandEvent &event);
void OnQuit(wxCommandEvent& event);
void OnUpdateUIHorizontal(wxUpdateUIEvent& event);
void OnUpdateUIVertical(wxUpdateUIEvent& event);
void OnUpdateUIUnsplit(wxUpdateUIEvent& event);
+ void OnUpdateUIInvisible(wxUpdateUIEvent& event);
private:
wxScrolledWindow *m_left, *m_right;
EVT_MENU(SPLIT_SETMINSIZE, MyFrame::OnSetMinSize)
EVT_MENU(SPLIT_SETGRAVITY, MyFrame::OnSetGravity)
EVT_MENU(SPLIT_REPLACE, MyFrame::OnReplace)
+ EVT_MENU(SPLIT_INVISIBLE, MyFrame::OnToggleInvisible)
EVT_MENU(SPLIT_QUIT, MyFrame::OnQuit)
EVT_UPDATE_UI(SPLIT_VERTICAL, MyFrame::OnUpdateUIVertical)
EVT_UPDATE_UI(SPLIT_HORIZONTAL, MyFrame::OnUpdateUIHorizontal)
EVT_UPDATE_UI(SPLIT_UNSPLIT, MyFrame::OnUpdateUIUnsplit)
+ EVT_UPDATE_UI(SPLIT_INVISIBLE, MyFrame::OnUpdateUIInvisible)
END_EVENT_TABLE()
// My frame constructor
splitMenu->Append(SPLIT_UNSPLIT,
wxT("&Unsplit\tCtrl-U"),
wxT("Unsplit"));
+ splitMenu->AppendCheckItem(SPLIT_INVISIBLE,
+ wxT("Toggle sash &invisibility\tCtrl-I"),
+ wxT("Toggle sash invisibility"));
splitMenu->AppendSeparator();
splitMenu->AppendCheckItem(SPLIT_LIVE,
}
}
+void MyFrame::OnToggleInvisible(wxCommandEvent& WXUNUSED(event) )
+{
+ m_splitter->SetSashInvisible(!m_splitter->IsSashInvisible());
+ m_splitter->SizeWindows();
+}
+
// Update UI handlers
void MyFrame::OnUpdateUIHorizontal(wxUpdateUIEvent& event)
event.Enable( m_splitter->IsSplit() );
}
+void MyFrame::OnUpdateUIInvisible(wxUpdateUIEvent& event)
+{
+ event.Check( m_splitter->IsSashInvisible() );
+}
+
// ----------------------------------------------------------------------------
// MySplitterWindow
// ----------------------------------------------------------------------------