]> git.saurik.com Git - wxWidgets.git/blobdiff - interface/wx/dirctrl.h
Add wxFileName::SetPermissions().
[wxWidgets.git] / interface / wx / dirctrl.h
index 244d9891d5a84f71460ed3be946c5aac14683d1a..9cb3d88f5e0dd3f1f8b044bd2ac69ef193d6843a 100644 (file)
@@ -2,10 +2,26 @@
 // Name:        dirctrl.h
 // Purpose:     interface of wxGenericDirCtrl
 // Author:      wxWidgets team
-// RCS-ID:      $Id$
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
+enum
+{
+    // Only allow directory viewing/selection, no files
+    wxDIRCTRL_DIR_ONLY       = 0x0010,
+    // When setting the default path, select the first file in the directory
+    wxDIRCTRL_SELECT_FIRST   = 0x0020,
+    // Show the filter list
+    wxDIRCTRL_SHOW_FILTERS   = 0x0040,
+    // Use 3D borders on internal controls
+    wxDIRCTRL_3D_INTERNAL    = 0x0080,
+    // Editable labels
+    wxDIRCTRL_EDIT_LABELS    = 0x0100,
+    // Allow multiple selection
+    wxDIRCTRL_MULTIPLE       = 0x0200
+};
+
+
 /**
     @class wxGenericDirCtrl
 
@@ -23,6 +39,8 @@
     @style{wxDIRCTRL_SELECT_FIRST}
            When setting the default path, select the first file in the
            directory.
+    @style{wxDIRCTRL_SHOW_FILTERS}
+           Show the drop-down filter list.
     @style{wxDIRCTRL_EDIT_LABELS}
            Allow the folder and file labels to be editable.
     @style{wxDIRCTRL_MULTIPLE}
 
     @library{wxcore}
     @category{ctrl}
-    @appearance{genericdirctrl.png}
+    @appearance{genericdirctrl}
+    @event{EVT_DIRCTRL_SELECTIONCHANGED(id, func)}
+          Selected directory has changed.
+          Processes a @c wxEVT_DIRCTRL_SELECTIONCHANGED event type.
+          Notice that this event is generated even for the changes done by the
+          program itself and not only those done by the user.
+          @since 2.9.5
+    @event{EVT_DIRCTRL_FILEACTIVATED(id, func)}
+          The user activated a file by double-clicking or pressing Enter.
+          @since 2.9.5
 */
 class wxGenericDirCtrl : public wxControl
 {
@@ -147,6 +174,13 @@ public:
     */
     virtual wxString GetPath() const;
 
+    /**
+        Gets the path corresponding to the given tree control item.
+
+        @since 2.9.5
+    */
+    wxString GetPath(wxTreeItemId itemId) const;
+
     /**
         Fills the array @a paths with the selected directories and filenames.
     */
@@ -223,3 +257,28 @@ public:
     virtual void UnselectAll();
 };
 
+
+
+class wxDirFilterListCtrl: public wxChoice
+{
+public:
+    wxDirFilterListCtrl();
+    wxDirFilterListCtrl(wxGenericDirCtrl* parent, const wxWindowID id = wxID_ANY,
+                        const wxPoint& pos = wxDefaultPosition,
+                        const wxSize& size = wxDefaultSize,
+                        long style = 0);
+    bool Create(wxGenericDirCtrl* parent, const wxWindowID id = wxID_ANY,
+                const wxPoint& pos = wxDefaultPosition,
+                const wxSize& size = wxDefaultSize,
+                long style = 0);
+
+    virtual ~wxDirFilterListCtrl() {}
+
+    void Init();
+
+    //// Operations
+    void FillFilterList(const wxString& filter, int defaultFilter);
+};
+
+wxEventType wxEVT_DIRCTRL_SELECTIONCHANGED;
+wxEventType wxEVT_DIRCTRL_FILEACTIVATED;