Added wxFilePickerCtrl::SetInitialDirectory().

This method allows to configure the initial directory to be shown when
browsing for files in an initially empty wxFileDirPickerCtrl.

It is also available for wxDirPickerCtrl but is less useful there.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70043 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2011-12-18 12:34:47 +00:00
parent b9bb74e9fc
commit 75cb911c7c
9 changed files with 182 additions and 17 deletions

View File

@@ -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;
@@ -102,6 +106,8 @@ protected:
*m_chkDirChangeDir,
*m_chkDirMustExist,
*m_chkSmall;
wxTextCtrl *m_textInitialDir;
wxBoxSizer *m_sizer;
private:
@@ -115,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)
@@ -152,6 +159,16 @@ void DirPickerWidgetsPage::CreateContent()
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);
@@ -226,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();