X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0659e7ee61824b55b986995edabf55f0111376ae..c61f4f6dbd971245f694eb01034c86040a44db00:/include/wx/generic/dirdlgg.h diff --git a/include/wx/generic/dirdlgg.h b/include/wx/generic/dirdlgg.h index c70aedf6eb..7fd5768b02 100644 --- a/include/wx/generic/dirdlgg.h +++ b/include/wx/generic/dirdlgg.h @@ -5,6 +5,7 @@ // Modified by: // Created: 12/12/98 // Copyright: (c) Harm van der Heijden and Robert Roebling +// RCS-ID: $Id$ // Licence: wxWindows licence // // Notes: wxDirDialog class written by Harm van der Heijden, @@ -54,15 +55,20 @@ #pragma interface "dirdlgg.h" #endif +#include "wx/defs.h" + +#if wxUSE_DIRDLG + #include "wx/dialog.h" -//#include "wx/checkbox.h" +#include "wx/checkbox.h" #include "wx/treectrl.h" //----------------------------------------------------------------------------- // data //----------------------------------------------------------------------------- -WXDLLEXPORT_DATA(extern const char*) wxFileSelectorPromptStr; +WXDLLEXPORT_DATA(extern const wxChar*) wxFileSelectorPromptStr; +WXDLLEXPORT_DATA(extern const wxChar*) wxDirDialogDefaultFolderStr; //----------------------------------------------------------------------------- // classes @@ -72,17 +78,65 @@ class wxDirItemData; class wxDirCtrl; class wxDirDialog; +//----------------------------------------------------------------------------- +// wxDirItemData +//----------------------------------------------------------------------------- + +class WXDLLEXPORT wxDirItemData : public wxTreeItemData +{ +public: + wxDirItemData(wxString& path, wxString& name); + ~wxDirItemData(); + bool HasSubDirs(); + void SetNewDirName( wxString path ); + wxString m_path, m_name; + bool m_isHidden; + bool m_hasSubDirs; +}; + +//----------------------------------------------------------------------------- +// wxDirCtrl +//----------------------------------------------------------------------------- + +class WXDLLEXPORT wxDirCtrl: public wxTreeCtrl +{ +public: + bool m_showHidden; + wxTreeItemId m_rootId; + + wxDirCtrl(); + wxDirCtrl(wxWindow *parent, const wxWindowID id = -1, + const wxString &dir = wxDirDialogDefaultFolderStr, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + const long style = wxTR_HAS_BUTTONS, + const wxString& name = wxTreeCtrlNameStr ); + void ShowHidden( const bool yesno ); + void OnExpandItem(wxTreeEvent &event ); + void OnCollapseItem(wxTreeEvent &event ); + void OnBeginEditItem(wxTreeEvent &event ); + void OnEndEditItem(wxTreeEvent &event ); + +protected: + void CreateItems(const wxTreeItemId &parent); + void SetupSections(); + wxArrayString m_paths, m_names; + +private: + DECLARE_EVENT_TABLE() + DECLARE_DYNAMIC_CLASS(wxDirCtrl) +}; + //----------------------------------------------------------------------------- // wxDirDialog //----------------------------------------------------------------------------- class WXDLLEXPORT wxDirDialog: public wxDialog { - DECLARE_DYNAMIC_CLASS(wxDirDialog) - public: +public: wxDirDialog(wxWindow *parent, const wxString& message = wxFileSelectorPromptStr, - const wxString& defaultPath = "", + const wxString& defaultPath = wxEmptyString, long style = 0, const wxPoint& pos = wxDefaultPosition); inline void SetMessage(const wxString& message) { m_message = message; } inline void SetPath(const wxString& path) { m_path = path; } @@ -95,27 +149,29 @@ class WXDLLEXPORT wxDirDialog: public wxDialog int ShowModal(); void OnTreeSelected( wxTreeEvent &event ); - void OnTreeKeyDown( wxKeyEvent &event ); - void OnSize(wxSizeEvent& event); + void OnTreeKeyDown( wxTreeEvent &event ); void OnOK(wxCommandEvent& event); void OnCancel(wxCommandEvent& event); void OnNew(wxCommandEvent& event); // void OnCheck(wxCommandEvent& event); - DECLARE_EVENT_TABLE() - protected: +protected: // implementation - wxString m_message; - long m_dialogStyle; - wxWindow * m_parent; - wxString m_path; - wxDirCtrl *m_dir; - wxTextCtrl *m_input; - // wxCheckBox *m_check; - wxButton *m_ok, *m_cancel, *m_new; - void doSize(); + wxString m_message; + long m_dialogStyle; + wxString m_path; + wxDirCtrl *m_dir; + wxTextCtrl *m_input; + wxCheckBox *m_check; // not yet used + wxButton *m_ok, *m_cancel, *m_new; + +private: + DECLARE_EVENT_TABLE() + DECLARE_DYNAMIC_CLASS(wxDirDialog) }; +#endif + #endif // _WX_DIRDLGG_H_