wxMessageBox off the main thread lost result code.
[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 // Copyright: (c) Julian Smart
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
10
11 #ifndef _WX_FILEDLG_H_
12 #define _WX_FILEDLG_H_
13
14 //-------------------------------------------------------------------------
15 // wxFileDialog
16 //-------------------------------------------------------------------------
17
18 class WXDLLIMPEXP_CORE wxFileDialog: public wxFileDialogBase
19 {
20 public:
21 wxFileDialog(wxWindow *parent,
22 const wxString& message = wxFileSelectorPromptStr,
23 const wxString& defaultDir = wxEmptyString,
24 const wxString& defaultFile = wxEmptyString,
25 const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
26 long style = wxFD_DEFAULT_STYLE,
27 const wxPoint& pos = wxDefaultPosition,
28 const wxSize& sz = wxDefaultSize,
29 const wxString& name = wxFileDialogNameStr);
30
31 virtual void GetPaths(wxArrayString& paths) const;
32 virtual void GetFilenames(wxArrayString& files) const;
33 #ifndef __WXWINCE__
34 virtual bool SupportsExtraControl() const { return true; }
35 void MSWOnInitDialogHook(WXHWND hwnd);
36 #endif // __WXWINCE__
37
38 virtual int ShowModal();
39
40 // wxMSW-specific implementation from now on
41 // -----------------------------------------
42
43 // called from the hook procedure on CDN_INITDONE reception
44 virtual void MSWOnInitDone(WXHWND hDlg);
45
46 // called from the hook procedure on CDN_SELCHANGE.
47 void MSWOnSelChange(WXHWND hDlg);
48
49 protected:
50
51 #if !(defined(__SMARTPHONE__) && defined(__WXWINCE__))
52 virtual void DoMoveWindow(int x, int y, int width, int height);
53 virtual void DoCentre(int dir);
54 virtual void DoGetSize( int *width, int *height ) const;
55 virtual void DoGetPosition( int *x, int *y ) const;
56 #endif // !(__SMARTPHONE__ && __WXWINCE__)
57
58 private:
59 wxArrayString m_fileNames;
60
61 // remember if our SetPosition() or Centre() (which requires special
62 // treatment) was called
63 bool m_bMovedWindow;
64 int m_centreDir; // nothing to do if 0
65
66 DECLARE_DYNAMIC_CLASS(wxFileDialog)
67 wxDECLARE_NO_COPY_CLASS(wxFileDialog);
68 };
69
70 #endif // _WX_FILEDLG_H_
71