X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/75bc8b3454bd2adda5bf3dc0e60984a275ea7ac3..931d6a47c32a5b4c283243cb553ce71ee2b535d5:/samples/widgets/dirpicker.cpp diff --git a/samples/widgets/dirpicker.cpp b/samples/widgets/dirpicker.cpp index 7bdfc69d34..598c87560e 100644 --- a/samples/widgets/dirpicker.cpp +++ b/samples/widgets/dirpicker.cpp @@ -4,7 +4,6 @@ // Purpose: Shows wxDirPickerCtrl // Author: Francesco Montorsi // Created: 20/6/2006 -// Id: $Id$ // Copyright: (c) 2006 Francesco Montorsi // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -31,6 +30,7 @@ #include "wx/app.h" #include "wx/log.h" #include "wx/radiobox.h" + #include "wx/textctrl.h" #endif #include "wx/artprov.h" @@ -52,7 +52,8 @@ enum { PickerPage_Reset = wxID_HIGHEST, - PickerPage_Dir + PickerPage_Dir, + PickerPage_SetDir }; @@ -90,6 +91,8 @@ protected: void OnDirChange(wxFileDirPickerEvent &ev); void OnCheckBox(wxCommandEvent &ev); void OnButtonReset(wxCommandEvent &ev); + void OnButtonSetDir(wxCommandEvent &ev); + // the picker wxDirPickerCtrl *m_dirPicker; @@ -102,6 +105,8 @@ protected: *m_chkDirChangeDir, *m_chkDirMustExist, *m_chkSmall; + wxTextCtrl *m_textInitialDir; + wxBoxSizer *m_sizer; private: @@ -115,6 +120,7 @@ private: BEGIN_EVENT_TABLE(DirPickerWidgetsPage, WidgetsPage) EVT_BUTTON(PickerPage_Reset, DirPickerWidgetsPage::OnButtonReset) + EVT_BUTTON(PickerPage_SetDir, DirPickerWidgetsPage::OnButtonSetDir) EVT_DIRPICKER_CHANGED(PickerPage_Dir, DirPickerWidgetsPage::OnDirChange) @@ -146,12 +152,22 @@ void DirPickerWidgetsPage::CreateContent() wxSizer *boxleft = new wxBoxSizer(wxVERTICAL); wxStaticBoxSizer *dirbox = new wxStaticBoxSizer(wxVERTICAL, this, wxT("&DirPicker style")); - m_chkDirTextCtrl = CreateCheckBoxAndAddToSizer(dirbox, wxT("With textctrl"), false); - m_chkDirMustExist = CreateCheckBoxAndAddToSizer(dirbox, wxT("Dir must exist"), false); - m_chkDirChangeDir = CreateCheckBoxAndAddToSizer(dirbox, wxT("Change working dir"), false); - m_chkSmall = CreateCheckBoxAndAddToSizer(dirbox, "&Small version", false); + m_chkDirTextCtrl = CreateCheckBoxAndAddToSizer(dirbox, wxT("With textctrl")); + m_chkDirMustExist = CreateCheckBoxAndAddToSizer(dirbox, wxT("Dir must exist")); + m_chkDirChangeDir = CreateCheckBoxAndAddToSizer(dirbox, wxT("Change working dir")); + m_chkSmall = CreateCheckBoxAndAddToSizer(dirbox, "&Small version"); boxleft->Add(dirbox, 0, wxALL|wxGROW, 5); + boxleft->Add(CreateSizerWithTextAndButton + ( + PickerPage_SetDir, + "&Initial directory", + wxID_ANY, + &m_textInitialDir + ), wxSizerFlags().Expand().Border()); + + boxleft->AddSpacer(10); + boxleft->Add(new wxButton(this, PickerPage_Reset, wxT("&Reset")), 0, wxALIGN_CENTRE_HORIZONTAL | wxALL, 15); @@ -226,6 +242,11 @@ void DirPickerWidgetsPage::Reset() // event handlers // ---------------------------------------------------------------------------- +void DirPickerWidgetsPage::OnButtonSetDir(wxCommandEvent& WXUNUSED(event)) +{ + m_dirPicker->SetInitialDirectory(m_textInitialDir->GetValue()); +} + void DirPickerWidgetsPage::OnButtonReset(wxCommandEvent& WXUNUSED(event)) { Reset();