]> git.saurik.com Git - wxWidgets.git/blame_incremental - include/wx/generic/filedlgg.h
don't define, nor use, LVS_EX_LABELTIP under WinCE
[wxWidgets.git] / include / wx / generic / filedlgg.h
... / ...
CommitLineData
1/////////////////////////////////////////////////////////////////////////////
2// Name: wx/generic/filedlgg.h
3// Purpose: wxGenericFileDialog
4// Author: Robert Roebling
5// Modified by:
6// Created: 8/17/99
7// Copyright: (c) Robert Roebling
8// RCS-ID: $Id$
9// Licence: wxWindows licence
10/////////////////////////////////////////////////////////////////////////////
11
12#ifndef _WX_FILEDLGG_H_
13#define _WX_FILEDLGG_H_
14
15#include "wx/listctrl.h"
16#include "wx/datetime.h"
17#include "wx/filefn.h"
18#include "wx/filedlg.h"
19#include "wx/generic/filectrlg.h"
20
21//-----------------------------------------------------------------------------
22// classes
23//-----------------------------------------------------------------------------
24
25class WXDLLIMPEXP_FWD_CORE wxBitmapButton;
26class WXDLLIMPEXP_FWD_CORE wxGenericFileCtrl;
27class WXDLLIMPEXP_FWD_CORE wxGenericFileDialog;
28class WXDLLIMPEXP_FWD_CORE wxFileCtrlEvent;
29
30//-------------------------------------------------------------------------
31// wxGenericFileDialog
32//-------------------------------------------------------------------------
33
34class WXDLLEXPORT wxGenericFileDialog: public wxFileDialogBase
35{
36public:
37 wxGenericFileDialog() : wxFileDialogBase() { Init(); }
38
39 wxGenericFileDialog(wxWindow *parent,
40 const wxString& message = wxFileSelectorPromptStr,
41 const wxString& defaultDir = wxEmptyString,
42 const wxString& defaultFile = wxEmptyString,
43 const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
44 long style = wxFD_DEFAULT_STYLE,
45 const wxPoint& pos = wxDefaultPosition,
46 const wxSize& sz = wxDefaultSize,
47 const wxString& name = wxFileDialogNameStr,
48 bool bypassGenericImpl = false );
49
50 bool Create( wxWindow *parent,
51 const wxString& message = wxFileSelectorPromptStr,
52 const wxString& defaultDir = wxEmptyString,
53 const wxString& defaultFile = wxEmptyString,
54 const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
55 long style = wxFD_DEFAULT_STYLE,
56 const wxPoint& pos = wxDefaultPosition,
57 const wxSize& sz = wxDefaultSize,
58 const wxString& name = wxFileDialogNameStr,
59 bool bypassGenericImpl = false );
60
61 virtual ~wxGenericFileDialog();
62
63 virtual void SetMessage(const wxString& message) { SetTitle(message); }
64 virtual void SetPath(const wxString& path)
65 { m_filectrl->SetPath(path); }
66 virtual void SetFilterIndex(int filterIndex)
67 { m_filectrl->SetFilterIndex(filterIndex); }
68 virtual void SetWildcard(const wxString& wildCard)
69 { m_filectrl->SetWildcard(wildCard); }
70
71 virtual wxString GetPath() const
72 { return m_filectrl->GetPath(); }
73 virtual void GetPaths(wxArrayString& paths) const
74 { m_filectrl->GetPaths(paths); }
75 virtual wxString GetDirectory() const
76 { return m_filectrl->GetDirectory(); }
77 virtual wxString GetFilename() const
78 { return m_filectrl->GetFilename(); }
79 virtual void GetFilenames(wxArrayString& files) const
80 { m_filectrl->GetFilenames(files); }
81 virtual wxString GetWildcard() const
82 { return m_filectrl->GetWildcard(); }
83 virtual int GetFilterIndex() const
84 { return m_filectrl->GetFilterIndex(); }
85
86 // implementation only from now on
87 // -------------------------------
88
89 virtual int ShowModal();
90 virtual bool Show( bool show = true );
91
92 void OnList( wxCommandEvent &event );
93 void OnReport( wxCommandEvent &event );
94 void OnUp( wxCommandEvent &event );
95 void OnHome( wxCommandEvent &event );
96 void OnOk( wxCommandEvent &event );
97 void OnNew( wxCommandEvent &event );
98 void OnFileActivated( wxFileCtrlEvent &event);
99
100private:
101 // if true, don't use this implementation at all
102 bool m_bypassGenericImpl;
103
104protected:
105 // update the state of m_upDirButton and m_newDirButton depending on the
106 // currently selected directory
107 void OnUpdateButtonsUI(wxUpdateUIEvent& event);
108
109 wxString m_filterExtension;
110 wxGenericFileCtrl *m_filectrl;
111 wxBitmapButton *m_upDirButton;
112 wxBitmapButton *m_newDirButton;
113
114private:
115 void Init();
116
117 DECLARE_DYNAMIC_CLASS(wxGenericFileDialog)
118 DECLARE_EVENT_TABLE()
119
120 // these variables are preserved between wxGenericFileDialog calls
121 static long ms_lastViewStyle; // list or report?
122 static bool ms_lastShowHidden; // did we show hidden files?
123};
124
125#ifdef wxHAS_GENERIC_FILEDIALOG
126
127class WXDLLEXPORT wxFileDialog: public wxGenericFileDialog
128{
129public:
130 wxFileDialog() {}
131
132 wxFileDialog(wxWindow *parent,
133 const wxString& message = wxFileSelectorPromptStr,
134 const wxString& defaultDir = wxEmptyString,
135 const wxString& defaultFile = wxEmptyString,
136 const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
137 long style = 0,
138 const wxPoint& pos = wxDefaultPosition)
139 :wxGenericFileDialog(parent, message, defaultDir, defaultFile, wildCard, style, pos)
140 {
141 }
142
143private:
144 DECLARE_DYNAMIC_CLASS(wxFileDialog)
145};
146
147#endif // wxHAS_GENERIC_FILEDIALOG
148
149#endif // _WX_FILEDLGG_H_