// 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
/////////////////////////////////////////////////////////////////////////////
{
PickerPage_Reset = wxID_HIGHEST,
PickerPage_File,
- PickerPage_SetDir
+ PickerPage_SetDir,
+ PickerPage_CurrentPath
};
void OnCheckBox(wxCommandEvent &ev);
void OnButtonReset(wxCommandEvent &ev);
void OnButtonSetDir(wxCommandEvent &ev);
+ void OnUpdatePath(wxUpdateUIEvent &ev);
// the picker
*m_chkFileChangeDir,
*m_chkSmall;
wxRadioBox *m_radioFilePickerMode;
+ wxStaticText *m_labelPath;
wxTextCtrl *m_textInitialDir;
wxBoxSizer *m_sizer;
EVT_CHECKBOX(wxID_ANY, FilePickerWidgetsPage::OnCheckBox)
EVT_RADIOBOX(wxID_ANY, FilePickerWidgetsPage::OnCheckBox)
+
+ EVT_UPDATE_UI(PickerPage_CurrentPath, FilePickerWidgetsPage::OnUpdatePath)
END_EVENT_TABLE()
// ============================================================================
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);
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);
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))
}
}
+void FilePickerWidgetsPage::OnUpdatePath(wxUpdateUIEvent& ev)
+{
+ ev.SetText( "Current path: " + m_filePicker->GetPath() );
+}
+
#endif // wxUSE_FILEPICKERCTRL