// Show the filter list
wxDIRCTRL_SHOW_FILTERS = 0x0040,
// Use 3D borders on internal controls
- wxDIRCTRL_3D_INTERNAL = 0x0080
+ wxDIRCTRL_3D_INTERNAL = 0x0080,
+ // Editable labels
+ wxDIRCTRL_EDIT_LABELS = 0x0100
};
//-----------------------------------------------------------------------------
void SetDefaultPath(const wxString& path) { m_defaultPath = path; }
// Get dir or filename
- wxString GetPath() const ;
+ wxString GetPath() const;
+
// Get selected filename path only (else empty string).
// I.e. don't count a directory as a selection
- wxString GetFilePath() const ;
- void SetPath(const wxString& path) ;
+ wxString GetFilePath() const;
+ void SetPath(const wxString& path);
+
+ void ShowHidden( bool show );
+ bool GetShowHidden() { return m_showHidden; }
wxString GetFilter() const { return m_filter; }
void SetFilter(const wxString& filter);
int GetFilterIndex() const { return m_currentFilter; }
- void SetFilterIndex(int n) ;
+ void SetFilterIndex(int n);
wxTreeItemId GetRootId() { return m_rootId; }
wxTreeCtrl* GetTreeCtrl() const { return m_treeCtrl; }
wxDirFilterListCtrl* GetFilterListCtrl() const { return m_filterListCtrl; }
- //// Helpers
+ // Helper
void SetupSections();
+
// Parse the filter into an array of filters and an array of descriptions
int ParseFilter(const wxString& filterStr, wxArrayString& filters, wxArrayString& descriptions);
+
// Find the child that matches the first part of 'path'.
// E.g. if a child path is "/usr" and 'path' is "/usr/include"
// then the child for /usr is returned.
// Resize the components of the control
void DoResize();
+
+ // Collapse & expand the tree, thus re-creating it from scratch:
+ void ReCreateTree();
+
protected:
void ExpandDir(wxTreeItemId parentId);
+ void CollapseDir(wxTreeItemId parentId);
void AddSection(const wxString& path, const wxString& name, int imageId = 0);
//void FindChildFiles(wxTreeItemId id, int dirFlags, wxArrayString& filenames);
#define wxDirCtrl wxGenericDirCtrl
#endif
+// Symbols for accessing individual controls
+#define wxID_TREECTRL 7000
+#define wxID_FILTERLISTCTRL 7001
+
#endif // wxUSE_DIRDLG
#endif