1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/generic/dirdlgg.h
3 // Purpose: wxGenericDirCtrl class
4 // Builds on wxDirCtrl class written by Robert Roebling for the
5 // wxFile application, modified by Harm van der Heijden.
6 // Further modified for Windows.
7 // Author: Robert Roebling, Harm van der Heijden, Julian Smart et al
11 // Copyright: (c) Robert Roebling, Harm van der Heijden, Julian Smart
12 // Licence: wxWindows licence
13 /////////////////////////////////////////////////////////////////////////////
15 #ifndef _WX_DIRDLGG_H_
16 #define _WX_DIRDLGG_H_
18 #if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
19 #pragma interface "dirdlgg.h"
22 class WXDLLEXPORT wxGenericDirCtrl
;
23 class WXDLLEXPORT wxTextCtrl
;
24 class WXDLLEXPORT wxTreeEvent
;
26 // we may be included directly as well as from wx/dirdlg.h (FIXME)
27 extern WXDLLEXPORT_DATA(const wxChar
*) wxDirDialogNameStr
;
28 extern WXDLLEXPORT_DATA(const wxChar
*) wxDirSelectorPromptStr
;
29 #ifndef wxDD_DEFAULT_STYLE
32 #define wxDD_DEFAULT_STYLE \
33 (wxDEFAULT_DIALOG_STYLE | wxDD_NEW_DIR_BUTTON)
35 #define wxDD_DEFAULT_STYLE \
36 (wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxDD_NEW_DIR_BUTTON)
40 #include "wx/dialog.h"
42 //-----------------------------------------------------------------------------
44 //-----------------------------------------------------------------------------
46 class WXDLLEXPORT wxGenericDirDialog
: public wxDialog
49 wxGenericDirDialog() : wxDialog() { }
51 wxGenericDirDialog(wxWindow
* parent
,
52 const wxString
& title
= wxDirSelectorPromptStr
,
53 const wxString
& defaultPath
= wxEmptyString
,
54 long style
= wxDD_DEFAULT_STYLE
,
55 const wxPoint
& pos
= wxDefaultPosition
,
56 const wxSize
& sz
= wxSize(450, 550),
57 const wxString
& name
= wxDirDialogNameStr
);
60 void SetMessage(const wxString
& message
) { m_message
= message
; }
61 void SetPath(const wxString
& path
);
62 void SetStyle(long style
) { m_dialogStyle
= style
; }
64 wxString
GetMessage() const { return m_message
; }
65 wxString
GetPath() const;
66 long GetStyle() const { return m_dialogStyle
; }
69 virtual int ShowModal();
71 // this one is specific to wxGenericDirDialog
72 wxTextCtrl
* GetInputCtrl() const { return m_input
; }
76 void OnCloseWindow(wxCloseEvent
& event
);
77 void OnOK(wxCommandEvent
& event
);
78 void OnTreeSelected(wxTreeEvent
&event
);
79 void OnTreeKeyDown(wxTreeEvent
&event
);
80 void OnNew(wxCommandEvent
& event
);
81 void OnGoHome(wxCommandEvent
& event
);
82 void OnShowHidden(wxCommandEvent
& event
);
87 wxGenericDirCtrl
* m_dirCtrl
;
91 DECLARE_DYNAMIC_CLASS(wxGenericDirDialog
)
94 #endif // _WX_DIRDLGG_H_