]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/generic/dirdlgg.h
wxOS2 build fixes after wxColourBase introduction.
[wxWidgets.git] / include / wx / generic / dirdlgg.h
... / ...
CommitLineData
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
8// Modified by:
9// Created: 21/3/2000
10// RCS-ID: $Id$
11// Copyright: (c) Robert Roebling, Harm van der Heijden, Julian Smart
12// Licence: wxWindows licence
13/////////////////////////////////////////////////////////////////////////////
14
15#ifndef _WX_DIRDLGG_H_
16#define _WX_DIRDLGG_H_
17
18class WXDLLEXPORT wxGenericDirCtrl;
19class WXDLLEXPORT wxTextCtrl;
20class WXDLLEXPORT wxTreeEvent;
21
22// we may be included directly as well as from wx/dirdlg.h (FIXME)
23extern WXDLLEXPORT_DATA(const wxChar) wxDirDialogNameStr[];
24extern WXDLLEXPORT_DATA(const wxChar) wxDirSelectorPromptStr[];
25#ifndef wxDD_DEFAULT_STYLE
26
27#ifdef __WXWINCE__
28 #define wxDD_DEFAULT_STYLE \
29 (wxDEFAULT_DIALOG_STYLE | wxDD_NEW_DIR_BUTTON)
30#else
31 #define wxDD_DEFAULT_STYLE \
32 (wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxDD_NEW_DIR_BUTTON)
33#endif
34#endif
35
36#include "wx/dialog.h"
37
38//-----------------------------------------------------------------------------
39// wxGenericDirDialog
40//-----------------------------------------------------------------------------
41
42class WXDLLEXPORT wxGenericDirDialog : public wxDialog
43{
44public:
45 wxGenericDirDialog() : wxDialog() { }
46
47 wxGenericDirDialog(wxWindow* parent,
48 const wxString& title = wxDirSelectorPromptStr,
49 const wxString& defaultPath = wxEmptyString,
50 long style = wxDD_DEFAULT_STYLE,
51 const wxPoint& pos = wxDefaultPosition,
52 const wxSize& sz = wxSize(450, 550),
53 const wxString& name = wxDirDialogNameStr);
54
55 //// Accessors
56 void SetMessage(const wxString& message) { m_message = message; }
57 void SetPath(const wxString& path);
58 void SetStyle(long style) { m_dialogStyle = style; }
59
60 wxString GetMessage() const { return m_message; }
61 wxString GetPath() const;
62 long GetStyle() const { return m_dialogStyle; }
63
64 //// Overrides
65 virtual int ShowModal();
66
67 // this one is specific to wxGenericDirDialog
68 wxTextCtrl* GetInputCtrl() const { return m_input; }
69
70protected:
71 //// Event handlers
72 void OnCloseWindow(wxCloseEvent& event);
73 void OnOK(wxCommandEvent& event);
74 void OnTreeSelected(wxTreeEvent &event);
75 void OnTreeKeyDown(wxTreeEvent &event);
76 void OnNew(wxCommandEvent& event);
77 void OnGoHome(wxCommandEvent& event);
78 void OnShowHidden(wxCommandEvent& event);
79
80 wxString m_message;
81 long m_dialogStyle;
82 wxString m_path;
83 wxGenericDirCtrl* m_dirCtrl;
84 wxTextCtrl* m_input;
85
86 DECLARE_EVENT_TABLE()
87 DECLARE_DYNAMIC_CLASS(wxGenericDirDialog)
88};
89
90#endif // _WX_DIRDLGG_H_