]> git.saurik.com Git - wxWidgets.git/commitdiff
Auto complete file names in the text controls of wx{File,Dir}PickerCtrl.
authorVadim Zeitlin <vadim@wxwidgets.org>
Sat, 27 Aug 2011 14:11:20 +0000 (14:11 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sat, 27 Aug 2011 14:11:20 +0000 (14:11 +0000)
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

include/wx/filepicker.h
samples/widgets/dirpicker.cpp
samples/widgets/filepicker.cpp
src/common/filepickercmn.cpp

index 7e14d097d9b031bd1f311b3e1dcd7553265ad9ca..4ddb53f381cc2281c992157d684bdbbb05f925f5 100644 (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()); }
index 6614c0a8b20ceae31e5b99bb8bbfffcf87952300..1d0044bc4c0ddb498fd3c6f40ec226e65a1e028a 100644 (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();
 }
index 28cbc3f821118588d10c99a52b7885ced4bd2f6d..55cfe98c06f6881a99c14658e0334f3f576e565e 100644 (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();
 }
index 9236761eed6e9639f7733d672fa607e2cee46dc7..99cbb13d115a1e8e595522452ac7fe8403b73e26 100644 (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