wxFileDialog cleanup, extracted common code to fldlgcmn.cpp (patch 754187)
[wxWidgets.git] / include / wx / msw / filedlg.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: wx/msw/filedlg.h
3 // Purpose: wxFileDialog class
4 // Author: Julian Smart
5 // Modified by:
6 // Created: 01/02/97
7 // RCS-ID: $Id$
8 // Copyright: (c) Julian Smart
9 // Licence: wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11
12 #ifndef _WX_FILEDLG_H_
13 #define _WX_FILEDLG_H_
14
15 #ifdef __GNUG__
16 #pragma interface "filedlg.h"
17 #endif
18
19 #include "wx/dialog.h"
20
21 /*
22 * File selector
23 */
24
25 class WXDLLEXPORT wxFileDialog: public wxDialog
26 {
27 public:
28 wxFileDialog(wxWindow *parent,
29 const wxString& message = wxFileSelectorPromptStr,
30 const wxString& defaultDir = wxEmptyString,
31 const wxString& defaultFile = wxEmptyString,
32 const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
33 long style = 0,
34 const wxPoint& pos = wxDefaultPosition);
35
36 void SetMessage(const wxString& message) { m_message = message; }
37 void SetPath(const wxString& path);
38 void SetDirectory(const wxString& dir) { m_dir = dir; }
39 void SetFilename(const wxString& name) { m_fileName = name; }
40 void SetWildcard(const wxString& wildCard) { m_wildCard = wildCard; }
41 void SetStyle(long style) { m_dialogStyle = style; }
42 void SetFilterIndex(int filterIndex) { m_filterIndex = filterIndex; }
43
44 wxString GetMessage() const { return m_message; }
45 wxString GetPath() const { return m_path; }
46 void GetPaths(wxArrayString& paths) const;
47 wxString GetDirectory() const { return m_dir; }
48 wxString GetFilename() const { return m_fileName; }
49 void GetFilenames(wxArrayString& files) const { files = m_fileNames; }
50 wxString GetWildcard() const { return m_wildCard; }
51 long GetStyle() const { return m_dialogStyle; }
52 int GetFilterIndex() const { return m_filterIndex ; }
53
54 virtual int ShowModal();
55
56 protected:
57 wxString m_message;
58 long m_dialogStyle;
59 wxWindow * m_parent;
60 wxString m_dir;
61 wxString m_path; // Full path
62 wxString m_fileName;
63 wxArrayString m_fileNames;
64 wxString m_wildCard;
65 int m_filterIndex;
66
67 private:
68 DECLARE_DYNAMIC_CLASS(wxFileDialog)
69 DECLARE_NO_COPY_CLASS(wxFileDialog)
70 };
71
72 #endif // _WX_FILEDLG_H_
73