X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/80f624ec0c99878e327bfd070d6a92adf48eac14..7ddb15416407390de67cc26b04e91ea99a521f57:/include/wx/generic/dirctrlg.h diff --git a/include/wx/generic/dirctrlg.h b/include/wx/generic/dirctrlg.h index b2ff47f63c..73bf95d51c 100644 --- a/include/wx/generic/dirctrlg.h +++ b/include/wx/generic/dirctrlg.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: dirctrlg.h +// Name: wx/generic/dirctrlg.h // Purpose: wxGenericDirCtrl class // Builds on wxDirCtrl class written by Robert Roebling for the // wxFile application, modified by Harm van der Heijden. @@ -15,10 +15,6 @@ #ifndef _WX_DIRCTRL_H_ #define _WX_DIRCTRL_H_ -#if wxUSE_DIRDLG || wxUSE_FILEDLG - #include "wx/imaglist.h" -#endif - #if wxUSE_DIRDLG #include "wx/treectrl.h" @@ -31,7 +27,6 @@ //----------------------------------------------------------------------------- class WXDLLIMPEXP_FWD_CORE wxTextCtrl; -class WXDLLIMPEXP_FWD_CORE wxImageList; class WXDLLIMPEXP_FWD_BASE wxHashTable; //----------------------------------------------------------------------------- @@ -44,10 +39,8 @@ enum wxDIRCTRL_DIR_ONLY = 0x0010, // When setting the default path, select the first file in the directory wxDIRCTRL_SELECT_FIRST = 0x0020, -#if WXWIN_COMPATIBILITY_2_8 - // Unused, for compatibility only + // Show the filter list wxDIRCTRL_SHOW_FILTERS = 0x0040, -#endif // WXWIN_COMPATIBILITY_2_8 // Use 3D borders on internal controls wxDIRCTRL_3D_INTERNAL = 0x0080, // Editable labels @@ -116,6 +109,8 @@ public: void OnCollapseItem(wxTreeEvent &event ); void OnBeginEditItem(wxTreeEvent &event ); void OnEndEditItem(wxTreeEvent &event ); + void OnTreeSelChange(wxTreeEvent &event); + void OnItemActivated(wxTreeEvent &event); void OnSize(wxSizeEvent &event ); // Try to expand as much of the given path as possible. @@ -166,6 +161,8 @@ public: // If the path string has been used (we're at the leaf), done is set to true virtual wxTreeItemId FindChild(wxTreeItemId parentId, const wxString& path, bool& done); + wxString GetPath(wxTreeItemId itemId) const; + // Resize the components of the control virtual void DoResize(); @@ -194,6 +191,9 @@ protected: bool ExtractWildcard(const wxString& filterStr, int n, wxString& filter, wxString& description); private: + void PopulateNode(wxTreeItemId node); + wxDirItemData* GetItemData(wxTreeItemId itemId); + bool m_showHidden; wxTreeItemId m_rootId; wxString m_defaultPath; // Starting path @@ -210,6 +210,15 @@ private: wxDECLARE_NO_COPY_CLASS(wxGenericDirCtrl); }; +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_DIRCTRL_SELECTIONCHANGED, wxTreeEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_CORE, wxEVT_DIRCTRL_FILEACTIVATED, wxTreeEvent ); + +#define wx__DECLARE_DIRCTRL_EVT(evt, id, fn) \ + wx__DECLARE_EVT1(wxEVT_DIRCTRL_ ## evt, id, wxTreeEventHandler(fn)) + +#define EVT_DIRCTRL_SELECTIONCHANGED(id, fn) wx__DECLARE_DIRCTRL_EVT(SELECTIONCHANGED, id, fn) +#define EVT_DIRCTRL_FILEACTIVATED(id, fn) wx__DECLARE_DIRCTRL_EVT(FILEACTIVATED, id, fn) + //----------------------------------------------------------------------------- // wxDirFilterListCtrl //----------------------------------------------------------------------------- @@ -264,7 +273,9 @@ protected: // wxFileIconsTable - use wxTheFileIconsTable which is created as necessary //------------------------------------------------------------------------- -#if wxUSE_DIRDLG || wxUSE_FILEDLG +#if wxUSE_DIRDLG || wxUSE_FILEDLG || wxUSE_FILECTRL + +class WXDLLIMPEXP_FWD_CORE wxImageList; class WXDLLIMPEXP_CORE wxFileIconsTable { @@ -298,7 +309,11 @@ protected: // The global fileicons table extern WXDLLIMPEXP_DATA_CORE(wxFileIconsTable *) wxTheFileIconsTable; -#endif // wxUSE_DIRDLG || wxUSE_FILEDLG +#endif // wxUSE_DIRDLG || wxUSE_FILEDLG || wxUSE_FILECTRL + +// old wxEVT_COMMAND_* constants +#define wxEVT_COMMAND_DIRCTRL_SELECTIONCHANGED wxEVT_DIRCTRL_SELECTIONCHANGED +#define wxEVT_COMMAND_DIRCTRL_FILEACTIVATED wxEVT_DIRCTRL_FILEACTIVATED #endif // _WX_DIRCTRLG_H_