X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ea7ff9ad2ae6e715621515ece55b34009065bcbe..cd15bcaf50ead53ccf9d50965312f0dc754affb4:/samples/widgets/dirpicker.cpp diff --git a/samples/widgets/dirpicker.cpp b/samples/widgets/dirpicker.cpp index 1d0044bc4c..f7f96fb37b 100644 --- a/samples/widgets/dirpicker.cpp +++ b/samples/widgets/dirpicker.cpp @@ -31,6 +31,7 @@ #include "wx/app.h" #include "wx/log.h" #include "wx/radiobox.h" + #include "wx/textctrl.h" #endif #include "wx/artprov.h" @@ -52,7 +53,8 @@ enum { PickerPage_Reset = wxID_HIGHEST, - PickerPage_Dir + PickerPage_Dir, + PickerPage_SetDir }; @@ -90,6 +92,8 @@ protected: void OnDirChange(wxFileDirPickerEvent &ev); void OnCheckBox(wxCommandEvent &ev); void OnButtonReset(wxCommandEvent &ev); + void OnButtonSetDir(wxCommandEvent &ev); + // the picker wxDirPickerCtrl *m_dirPicker; @@ -100,7 +104,10 @@ protected: wxCheckBox *m_chkDirTextCtrl, *m_chkDirChangeDir, - *m_chkDirMustExist; + *m_chkDirMustExist, + *m_chkSmall; + wxTextCtrl *m_textInitialDir; + wxBoxSizer *m_sizer; private: @@ -114,6 +121,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) @@ -148,8 +156,19 @@ void DirPickerWidgetsPage::CreateContent() 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); 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); @@ -196,6 +215,9 @@ long DirPickerWidgetsPage::GetPickerStyle() if ( m_chkDirChangeDir->GetValue() ) style |= wxDIRP_CHANGE_DIR; + if ( m_chkSmall->GetValue() ) + style |= wxDIRP_SMALL; + return style; } @@ -213,6 +235,7 @@ void DirPickerWidgetsPage::Reset() m_chkDirTextCtrl->SetValue((wxDIRP_DEFAULT_STYLE & wxDIRP_USE_TEXTCTRL) != 0); m_chkDirMustExist->SetValue((wxDIRP_DEFAULT_STYLE & wxDIRP_DIR_MUST_EXIST) != 0); m_chkDirChangeDir->SetValue((wxDIRP_DEFAULT_STYLE & wxDIRP_CHANGE_DIR) != 0); + m_chkSmall->SetValue((wxFLP_DEFAULT_STYLE & wxDIRP_SMALL) != 0); } @@ -220,6 +243,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(); @@ -236,7 +264,8 @@ void DirPickerWidgetsPage::OnCheckBox(wxCommandEvent &event) { if (event.GetEventObject() == m_chkDirTextCtrl || event.GetEventObject() == m_chkDirChangeDir || - event.GetEventObject() == m_chkDirMustExist) + event.GetEventObject() == m_chkDirMustExist || + event.GetEventObject() == m_chkSmall) RecreatePicker(); }