X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/74c57d1ff65edd1da6f4f8d30be55db47f6d27a7..4b04699b670b4ab4632229fa0264d154acd3bec1:/samples/splitter/splitter.cpp diff --git a/samples/splitter/splitter.cpp b/samples/splitter/splitter.cpp index 800421eab9..182421b6a9 100644 --- a/samples/splitter/splitter.cpp +++ b/samples/splitter/splitter.cpp @@ -41,6 +41,7 @@ enum SPLIT_HORIZONTAL, SPLIT_VERTICAL, SPLIT_UNSPLIT, + SPLIT_LIVE, SPLIT_SETMINSIZE }; @@ -64,7 +65,9 @@ public: void SplitHorizontal(wxCommandEvent& event); void SplitVertical(wxCommandEvent& event); void Unsplit(wxCommandEvent& event); + void ToggleLive(wxCommandEvent& event); void SetMinSize(wxCommandEvent& event); + void Quit(wxCommandEvent& event); // Menu command update functions @@ -134,9 +137,11 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame) EVT_MENU(SPLIT_VERTICAL, MyFrame::SplitVertical) EVT_MENU(SPLIT_HORIZONTAL, MyFrame::SplitHorizontal) EVT_MENU(SPLIT_UNSPLIT, MyFrame::Unsplit) - EVT_MENU(SPLIT_QUIT, MyFrame::Quit) + EVT_MENU(SPLIT_LIVE, MyFrame::ToggleLive) EVT_MENU(SPLIT_SETMINSIZE, MyFrame::SetMinSize) + EVT_MENU(SPLIT_QUIT, MyFrame::Quit) + EVT_UPDATE_UI(SPLIT_VERTICAL, MyFrame::UpdateUIVertical) EVT_UPDATE_UI(SPLIT_HORIZONTAL, MyFrame::UpdateUIHorizontal) EVT_UPDATE_UI(SPLIT_UNSPLIT, MyFrame::UpdateUIUnsplit) @@ -156,6 +161,7 @@ MyFrame::MyFrame() fileMenu->Append(SPLIT_HORIZONTAL, _T("Split &Horizontally\tCtrl-H"), _T("Split horizontally")); fileMenu->Append(SPLIT_UNSPLIT, _T("&Unsplit\tCtrl-U"), _T("Unsplit")); fileMenu->AppendSeparator(); + fileMenu->Append(SPLIT_LIVE, _T("&Live update"), _T("Toggle live update mode"), TRUE); fileMenu->Append(SPLIT_SETMINSIZE, _T("Set &min size"), _T("Set minimum pane size")); fileMenu->AppendSeparator(); fileMenu->Append(SPLIT_QUIT, _T("E&xit\tAlt-X"), _T("Exit")); @@ -165,6 +171,7 @@ MyFrame::MyFrame() SetMenuBar(menuBar); + menuBar->Check(SPLIT_LIVE, TRUE); m_splitter = new MySplitterWindow(this); #if 1 @@ -233,17 +240,28 @@ void MyFrame::Unsplit(wxCommandEvent& WXUNUSED(event) ) SetStatusText(_T("No splitter")); } +void MyFrame::ToggleLive(wxCommandEvent& event ) +{ + long style = m_splitter->GetWindowStyleFlag(); + if ( event.IsChecked() ) + style |= wxSP_LIVE_UPDATE; + else + style &= ~wxSP_LIVE_UPDATE; + + m_splitter->SetWindowStyleFlag(style); +} + void MyFrame::SetMinSize(wxCommandEvent& WXUNUSED(event) ) { wxString str; - str.Printf( _T(_T("%d")), m_splitter->GetMinimumPaneSize()); + str.Printf( wxT("%d"), m_splitter->GetMinimumPaneSize()); str = wxGetTextFromUser(_T("Enter minimal size for panes:"), _T(""), str, this); if ( str.IsEmpty() ) return; int minsize = wxStrtol( str, (wxChar**)NULL, 10 ); m_splitter->SetMinimumPaneSize(minsize); - str.Printf( _T(_T("Min pane size = %d")), minsize); + str.Printf( wxT("Min pane size = %d"), minsize); SetStatusText(str, 1); }