X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d16d698f1ed6135546bcd365e1198ad96cb88a6d..d5cc191c9cd48a915ce0dfc6e49511b2fddb6746:/samples/widgets/filepicker.cpp diff --git a/samples/widgets/filepicker.cpp b/samples/widgets/filepicker.cpp index ec6f48f014..d1468bf30e 100644 --- a/samples/widgets/filepicker.cpp +++ b/samples/widgets/filepicker.cpp @@ -6,7 +6,7 @@ // Created: 20/6/2006 // Id: $Id$ // Copyright: (c) 2006 Francesco Montorsi -// License: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// // ============================================================================ @@ -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" @@ -58,7 +59,8 @@ enum enum { PickerPage_Reset = wxID_HIGHEST, - PickerPage_File + PickerPage_File, + PickerPage_SetDir }; @@ -99,6 +101,7 @@ protected: void OnFileChange(wxFileDirPickerEvent &ev); void OnCheckBox(wxCommandEvent &ev); void OnButtonReset(wxCommandEvent &ev); + void OnButtonSetDir(wxCommandEvent &ev); // the picker @@ -111,8 +114,10 @@ protected: wxCheckBox *m_chkFileTextCtrl, *m_chkFileOverwritePrompt, *m_chkFileMustExist, - *m_chkFileChangeDir; + *m_chkFileChangeDir, + *m_chkSmall; wxRadioBox *m_radioFilePickerMode; + wxTextCtrl *m_textInitialDir; wxBoxSizer *m_sizer; @@ -127,6 +132,7 @@ private: BEGIN_EVENT_TABLE(FilePickerWidgetsPage, WidgetsPage) EVT_BUTTON(PickerPage_Reset, FilePickerWidgetsPage::OnButtonReset) + EVT_BUTTON(PickerPage_SetDir, FilePickerWidgetsPage::OnButtonSetDir) EVT_FILEPICKER_CHANGED(PickerPage_File, FilePickerWidgetsPage::OnFileChange) @@ -169,8 +175,20 @@ void FilePickerWidgetsPage::CreateContent() m_chkFileOverwritePrompt = CreateCheckBoxAndAddToSizer(filebox, wxT("Overwrite prompt"), false); m_chkFileMustExist = CreateCheckBoxAndAddToSizer(filebox, wxT("File must exist"), false); m_chkFileChangeDir = CreateCheckBoxAndAddToSizer(filebox, wxT("Change working dir"), false); + m_chkSmall = CreateCheckBoxAndAddToSizer(filebox, "&Small version", false); + boxleft->Add(filebox, 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); @@ -183,7 +201,7 @@ void FilePickerWidgetsPage::CreateContent() // right pane m_sizer = new wxBoxSizer(wxVERTICAL); m_sizer->Add(1, 1, 1, wxGROW | wxALL, 5); // spacer - m_sizer->Add(m_filePicker, 0, wxALIGN_CENTER|wxALL, 5); + m_sizer->Add(m_filePicker, 0, wxEXPAND|wxALL, 5); m_sizer->Add(1, 1, 1, wxGROW | wxALL, 5); // spacer // global pane @@ -222,6 +240,9 @@ long FilePickerWidgetsPage::GetPickerStyle() if ( m_chkFileChangeDir->GetValue() ) style |= wxFLP_CHANGE_DIR; + if ( m_chkSmall->GetValue() ) + style |= wxFLP_SMALL; + if (m_radioFilePickerMode->GetSelection() == FilePickerMode_Open) style |= wxFLP_OPEN; else @@ -234,7 +255,7 @@ void FilePickerWidgetsPage::RecreatePicker() { m_sizer->Remove(1); CreatePicker(); - m_sizer->Insert(1, m_filePicker, 0, wxALIGN_CENTER||wxALL, 5); + m_sizer->Insert(1, m_filePicker, 0, wxEXPAND|wxALL, 5); m_sizer->Layout(); } @@ -247,6 +268,7 @@ void FilePickerWidgetsPage::Reset() m_chkFileOverwritePrompt->SetValue((wxFLP_DEFAULT_STYLE & wxFLP_OVERWRITE_PROMPT) != 0); m_chkFileMustExist->SetValue((wxFLP_DEFAULT_STYLE & wxFLP_FILE_MUST_EXIST) != 0); m_chkFileChangeDir->SetValue((wxFLP_DEFAULT_STYLE & wxFLP_CHANGE_DIR) != 0); + m_chkSmall->SetValue((wxFLP_DEFAULT_STYLE & wxFLP_SMALL) != 0); UpdateFilePickerMode(); } @@ -273,6 +295,11 @@ void FilePickerWidgetsPage::UpdateFilePickerMode() // event handlers // ---------------------------------------------------------------------------- +void FilePickerWidgetsPage::OnButtonSetDir(wxCommandEvent& WXUNUSED(event)) +{ + m_filePicker->SetInitialDirectory(m_textInitialDir->GetValue()); +} + void FilePickerWidgetsPage::OnButtonReset(wxCommandEvent& WXUNUSED(event)) { Reset(); @@ -291,7 +318,8 @@ void FilePickerWidgetsPage::OnCheckBox(wxCommandEvent &event) if (event.GetEventObject() == m_chkFileTextCtrl || event.GetEventObject() == m_chkFileOverwritePrompt || event.GetEventObject() == m_chkFileMustExist || - event.GetEventObject() == m_chkFileChangeDir) + event.GetEventObject() == m_chkFileChangeDir || + event.GetEventObject() == m_chkSmall) RecreatePicker(); if (event.GetEventObject() == m_radioFilePickerMode)