Auto complete file names in the text controls of wx{File,Dir}PickerCtrl.

There doesn't seem to be any reason not to do this in the controls which we
know are meant for entering file or directory names into them.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68920 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2011-08-27 14:11:20 +00:00
parent 9a995b1a42
commit ea7ff9ad2a
4 changed files with 51 additions and 17 deletions

View File

@ -253,13 +253,7 @@ public:
const wxSize& size = wxDefaultSize,
long style = wxFLP_DEFAULT_STYLE,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxFilePickerCtrlNameStr)
{
return wxFileDirPickerCtrlBase::CreateBase(parent, id, path,
message, wildcard,
pos, size, style,
validator, name);
}
const wxString& name = wxFilePickerCtrlNameStr);
void SetFileName(const wxFileName &filename)
{ SetPath(filename.GetFullPath()); }
@ -358,14 +352,7 @@ public:
const wxSize& size = wxDefaultSize,
long style = wxDIRP_DEFAULT_STYLE,
const wxValidator& validator = wxDefaultValidator,
const wxString& name = wxDirPickerCtrlNameStr)
{
return wxFileDirPickerCtrlBase::CreateBase
(
parent, id, path, message, wxEmptyString,
pos, size, style, validator, name
);
}
const wxString& name = wxDirPickerCtrlNameStr);
void SetDirName(const wxFileName &dirname)
{ SetPath(dirname.GetPath()); }

View File

@ -203,7 +203,7 @@ void DirPickerWidgetsPage::RecreatePicker()
{
m_sizer->Remove(1);
CreatePicker();
m_sizer->Insert(1, m_dirPicker, 0, wxALIGN_CENTER|wxALL, 5);
m_sizer->Insert(1, m_dirPicker, 0, wxEXPAND|wxALL, 5);
m_sizer->Layout();
}

View File

@ -234,7 +234,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();
}

View File

@ -183,6 +183,30 @@ void wxFileDirPickerCtrlBase::OnFileDirChange(wxFileDirPickerEvent &ev)
IMPLEMENT_DYNAMIC_CLASS(wxFilePickerCtrl, wxPickerBase)
bool wxFilePickerCtrl::Create(wxWindow *parent,
wxWindowID id,
const wxString& path,
const wxString& message,
const wxString& wildcard,
const wxPoint& pos,
const wxSize& size,
long style,
const wxValidator& validator,
const wxString& name)
{
if ( !wxFileDirPickerCtrlBase::CreateBase
(
parent, id, path, message, wildcard,
pos, size, style, validator, name
) )
return false;
if ( HasTextCtrl() )
GetTextCtrl()->AutoCompleteFileNames();
return true;
}
bool wxFilePickerCtrl::CheckPath(const wxString& path) const
{
// if wxFLP_SAVE was given or wxFLP_FILE_MUST_EXIST has NOT been given we
@ -207,6 +231,29 @@ wxString wxFilePickerCtrl::GetTextCtrlValue() const
#if wxUSE_DIRPICKERCTRL
IMPLEMENT_DYNAMIC_CLASS(wxDirPickerCtrl, wxPickerBase)
bool wxDirPickerCtrl::Create(wxWindow *parent,
wxWindowID id,
const wxString& path,
const wxString& message,
const wxPoint& pos,
const wxSize& size,
long style,
const wxValidator& validator,
const wxString& name)
{
if ( !wxFileDirPickerCtrlBase::CreateBase
(
parent, id, path, message, wxString(),
pos, size, style, validator, name
) )
return false;
if ( HasTextCtrl() )
GetTextCtrl()->AutoCompleteDirectories();
return true;
}
bool wxDirPickerCtrl::CheckPath(const wxString& path) const
{
// if wxDIRP_DIR_MUST_EXIST has NOT been given we must accept any path