]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/dirctrl.h
added support for bitmaps in wxButton to wxOSX/Cocoa
[wxWidgets.git] / interface / wx / dirctrl.h
index ab11ed588fe8ad360240e0a8808aeeb559a1c55b..fa10290f49a1caaad55e32cbb43192a7f19c6900 100644 (file)
            directory.
     @style{wxDIRCTRL_EDIT_LABELS}
            Allow the folder and file labels to be editable.
+    @style{wxDIRCTRL_MULTIPLE}
+           Allows multiple files and folders to be selected.
     @endStyleTable
 
     @library{wxbase}
     @category{ctrl}
-    <!-- @appearance{genericdirctrl.png} -->
+    @appearance{genericdirctrl.png}
 */
 class wxGenericDirCtrl : public wxControl
 {
@@ -38,6 +40,7 @@ public:
         Default constructor.
     */
     wxGenericDirCtrl();
+
     /**
         Main constructor.
 
@@ -63,11 +66,11 @@ public:
         @param name
             The window name.
     */
-    wxGenericDirCtrl(wxWindow* parent, const wxWindowID id = -1,
+    wxGenericDirCtrl(wxWindow* parent, const wxWindowID id = wxID_ANY,
                      const wxString& dir = wxDirDialogDefaultFolderStr,
                      const wxPoint& pos = wxDefaultPosition,
                      const wxSize& size = wxDefaultSize,
-                     long style = wxDIRCTRL_3D_INTERNAL|wxBORDER_SUNKEN,
+                     long style = wxDIRCTRL_3D_INTERNAL,
                      const wxString& filter = wxEmptyString,
                      int defaultFilter = 0,
                      const wxString& name = wxTreeCtrlNameStr);
@@ -91,13 +94,12 @@ public:
         Create function for two-step construction. See wxGenericDirCtrl() for
         details.
     */
-    bool Create(wxWindow* parent, const wxWindowID id = -1,
+    bool Create(wxWindow* parent, const wxWindowID id = wxID_ANY,
                 const wxString& dir = wxDirDialogDefaultFolderStr,
                 const wxPoint& pos = wxDefaultPosition,
                 const wxSize& size = wxDefaultSize,
-                long style = wxDIRCTRL_3D_INTERNAL|wxBORDER_SUNKEN,
-                const wxString& filter = wxEmptyString,
-                int defaultFilter = 0,
+                long style = wxDIRCTRL_3D_INTERNAL,
+                const wxString& filter = wxEmptyString, int defaultFilter = 0,
                 const wxString& name = wxTreeCtrlNameStr);
 
     /**
@@ -118,6 +120,13 @@ public:
     */
     virtual wxString GetFilePath() const;
 
+    /**
+        Fills the array @a paths with the currently selected filepaths.
+
+        This function doesn't count a directory as a selection.
+    */
+    virtual void GetFilePaths(wxArrayString& paths) const;
+
     /**
         Returns the filter string.
     */
@@ -138,6 +147,11 @@ public:
     */
     virtual wxString GetPath() const;
 
+    /**
+        Fills the array @a paths with the selected directories and filenames.
+    */
+    virtual void GetPaths(wxArrayString& paths) const;
+
     /**
         Returns the root id for the tree control.
     */
@@ -185,5 +199,27 @@ public:
             control. If @false, they will not be displayed.
     */
     virtual void ShowHidden(bool show);
+
+    /**
+        Selects the given item.
+
+        In multiple selection controls, can be also used to deselect a
+        currently selected item if the value of @a select is false.
+        Existing selections are not changed. Only visible items can be
+        (de)selected, otherwise use ExpandPath().
+    */
+    virtual void SelectPath(const wxString& path, bool select = true);
+
+    /**
+        Selects only the specified paths, clearing any previous selection.
+
+        Only supported when wxDIRCTRL_MULTIPLE is set.
+    */
+    virtual void SelectPaths(const wxArrayString& paths);
+
+    /**
+        Removes the selection from all currently selected items.
+    */
+    virtual void UnselectAll();
 };