X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/75cb911c7c8a475269901bf5f0c69c583d79e498..d7c37bdf337d7ca687263520de432eee4a3722db:/samples/widgets/filepicker.cpp diff --git a/samples/widgets/filepicker.cpp b/samples/widgets/filepicker.cpp index d1468bf30e..9d843c505a 100644 --- a/samples/widgets/filepicker.cpp +++ b/samples/widgets/filepicker.cpp @@ -4,7 +4,6 @@ // Purpose: Part of the widgets sample showing wx*PickerCtrl // Author: Francesco Montorsi // Created: 20/6/2006 -// Id: $Id$ // Copyright: (c) 2006 Francesco Montorsi // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -60,7 +59,8 @@ enum { PickerPage_Reset = wxID_HIGHEST, PickerPage_File, - PickerPage_SetDir + PickerPage_SetDir, + PickerPage_CurrentPath }; @@ -102,6 +102,7 @@ protected: void OnCheckBox(wxCommandEvent &ev); void OnButtonReset(wxCommandEvent &ev); void OnButtonSetDir(wxCommandEvent &ev); + void OnUpdatePath(wxUpdateUIEvent &ev); // the picker @@ -117,6 +118,7 @@ protected: *m_chkFileChangeDir, *m_chkSmall; wxRadioBox *m_radioFilePickerMode; + wxStaticText *m_labelPath; wxTextCtrl *m_textInitialDir; wxBoxSizer *m_sizer; @@ -138,6 +140,8 @@ BEGIN_EVENT_TABLE(FilePickerWidgetsPage, WidgetsPage) EVT_CHECKBOX(wxID_ANY, FilePickerWidgetsPage::OnCheckBox) EVT_RADIOBOX(wxID_ANY, FilePickerWidgetsPage::OnCheckBox) + + EVT_UPDATE_UI(PickerPage_CurrentPath, FilePickerWidgetsPage::OnUpdatePath) END_EVENT_TABLE() // ============================================================================ @@ -171,11 +175,11 @@ void FilePickerWidgetsPage::CreateContent() boxleft->Add(m_radioFilePickerMode, 0, wxALL|wxGROW, 5); wxStaticBoxSizer *filebox = new wxStaticBoxSizer(wxVERTICAL, this, wxT("&FilePicker style")); - m_chkFileTextCtrl = CreateCheckBoxAndAddToSizer(filebox, wxT("With textctrl"), false); - 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); + m_chkFileTextCtrl = CreateCheckBoxAndAddToSizer(filebox, wxT("With textctrl")); + m_chkFileOverwritePrompt = CreateCheckBoxAndAddToSizer(filebox, wxT("Overwrite prompt")); + m_chkFileMustExist = CreateCheckBoxAndAddToSizer(filebox, wxT("File must exist")); + m_chkFileChangeDir = CreateCheckBoxAndAddToSizer(filebox, wxT("Change working dir")); + m_chkSmall = CreateCheckBoxAndAddToSizer(filebox, "&Small version"); boxleft->Add(filebox, 0, wxALL|wxGROW, 5); @@ -194,15 +198,19 @@ void FilePickerWidgetsPage::CreateContent() Reset(); // set checkboxes state - // create pickers + // create the picker and the static text displaying its current value + m_labelPath = new wxStaticText(this, PickerPage_CurrentPath, ""); + m_filePicker = NULL; CreatePicker(); // right pane m_sizer = new wxBoxSizer(wxVERTICAL); - m_sizer->Add(1, 1, 1, wxGROW | wxALL, 5); // spacer - m_sizer->Add(m_filePicker, 0, wxEXPAND|wxALL, 5); - m_sizer->Add(1, 1, 1, wxGROW | wxALL, 5); // spacer + m_sizer->AddStretchSpacer(); + m_sizer->Add(m_filePicker, wxSizerFlags().Expand().Border()); + m_sizer->AddStretchSpacer(); + m_sizer->Add(m_labelPath, wxSizerFlags().Expand().Border()); + m_sizer->AddStretchSpacer(); // global pane wxSizer *sz = new wxBoxSizer(wxHORIZONTAL); @@ -297,7 +305,9 @@ void FilePickerWidgetsPage::UpdateFilePickerMode() void FilePickerWidgetsPage::OnButtonSetDir(wxCommandEvent& WXUNUSED(event)) { - m_filePicker->SetInitialDirectory(m_textInitialDir->GetValue()); + const wxString& dir = m_textInitialDir->GetValue(); + m_filePicker->SetInitialDirectory(dir); + wxLogMessage("Initial directory set to \"%s\"", dir); } void FilePickerWidgetsPage::OnButtonReset(wxCommandEvent& WXUNUSED(event)) @@ -329,4 +339,9 @@ void FilePickerWidgetsPage::OnCheckBox(wxCommandEvent &event) } } +void FilePickerWidgetsPage::OnUpdatePath(wxUpdateUIEvent& ev) +{ + ev.SetText( "Current path: " + m_filePicker->GetPath() ); +} + #endif // wxUSE_FILEPICKERCTRL