X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/853f4764c074d072153cfe4cb5dc628b73c894cd..340ef5c5ab51504c005962b9fcccc6ba0959e201:/samples/splitter/splitter.cpp?ds=sidebyside diff --git a/samples/splitter/splitter.cpp b/samples/splitter/splitter.cpp index 0ed8ae07f2..438d2cb0da 100644 --- a/samples/splitter/splitter.cpp +++ b/samples/splitter/splitter.cpp @@ -39,7 +39,7 @@ #include "wx/splitter.h" #include "wx/dcmirror.h" -#ifndef __WXMSW__ +#ifndef wxHAS_IMAGES_IN_RESOURCES #include "../sample.xpm" #endif @@ -60,7 +60,8 @@ enum SPLIT_SETPOSITION, SPLIT_SETMINSIZE, SPLIT_SETGRAVITY, - SPLIT_REPLACE + SPLIT_REPLACE, + SPLIT_INVISIBLE }; // ---------------------------------------------------------------------------- @@ -99,6 +100,7 @@ public: void OnSetMinSize(wxCommandEvent& event); void OnSetGravity(wxCommandEvent& event); void OnReplace(wxCommandEvent &event); + void OnToggleInvisible(wxCommandEvent &event); void OnQuit(wxCommandEvent& event); @@ -106,6 +108,7 @@ public: void OnUpdateUIHorizontal(wxUpdateUIEvent& event); void OnUpdateUIVertical(wxUpdateUIEvent& event); void OnUpdateUIUnsplit(wxUpdateUIEvent& event); + void OnUpdateUIInvisible(wxUpdateUIEvent& event); private: wxScrolledWindow *m_left, *m_right; @@ -187,12 +190,14 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) 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 @@ -218,6 +223,9 @@ MyFrame::MyFrame() 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, @@ -436,6 +444,12 @@ void MyFrame::OnReplace(wxCommandEvent& WXUNUSED(event) ) } } +void MyFrame::OnToggleInvisible(wxCommandEvent& WXUNUSED(event) ) +{ + m_splitter->SetSashInvisible(!m_splitter->IsSashInvisible()); + m_splitter->SizeWindows(); +} + // Update UI handlers void MyFrame::OnUpdateUIHorizontal(wxUpdateUIEvent& event) @@ -453,6 +467,11 @@ void MyFrame::OnUpdateUIUnsplit(wxUpdateUIEvent& event) event.Enable( m_splitter->IsSplit() ); } +void MyFrame::OnUpdateUIInvisible(wxUpdateUIEvent& event) +{ + event.Check( m_splitter->IsSashInvisible() ); +} + // ---------------------------------------------------------------------------- // MySplitterWindow // ----------------------------------------------------------------------------