X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2b5f62a0b2db198609b45dec622a018dae37008e..09b895cb4a954494063eb17d3dc302a654fd99e5:/include/wx/msw/filedlg.h diff --git a/include/wx/msw/filedlg.h b/include/wx/msw/filedlg.h index f4637fcc78..3cc4a52d55 100644 --- a/include/wx/msw/filedlg.h +++ b/include/wx/msw/filedlg.h @@ -12,20 +12,11 @@ #ifndef _WX_FILEDLG_H_ #define _WX_FILEDLG_H_ -#ifdef __GNUG__ - #pragma interface "filedlg.h" -#endif +//------------------------------------------------------------------------- +// wxFileDialog +//------------------------------------------------------------------------- -#include "wx/dialog.h" - -/* - * File selector - */ - -WXDLLEXPORT_DATA(extern const wxChar*) wxFileSelectorPromptStr; -WXDLLEXPORT_DATA(extern const wxChar*) wxFileSelectorDefaultWildcardStr; - -class WXDLLEXPORT wxFileDialog: public wxDialog +class WXDLLIMPEXP_CORE wxFileDialog: public wxFileDialogBase { public: wxFileDialog(wxWindow *parent, @@ -33,80 +24,43 @@ public: const wxString& defaultDir = wxEmptyString, const wxString& defaultFile = wxEmptyString, const wxString& wildCard = wxFileSelectorDefaultWildcardStr, - long style = 0, - const wxPoint& pos = wxDefaultPosition); - - void SetMessage(const wxString& message) { m_message = message; } - void SetPath(const wxString& path); - void SetDirectory(const wxString& dir) { m_dir = dir; } - void SetFilename(const wxString& name) { m_fileName = name; } - void SetWildcard(const wxString& wildCard) { m_wildCard = wildCard; } - void SetStyle(long style) { m_dialogStyle = style; } - void SetFilterIndex(int filterIndex) { m_filterIndex = filterIndex; } + long style = wxFD_DEFAULT_STYLE, + const wxPoint& pos = wxDefaultPosition, + const wxSize& sz = wxDefaultSize, + const wxString& name = wxFileDialogNameStr); - wxString GetMessage() const { return m_message; } - wxString GetPath() const { return m_path; } - void GetPaths(wxArrayString& paths) const; - wxString GetDirectory() const { return m_dir; } - wxString GetFilename() const { return m_fileName; } - void GetFilenames(wxArrayString& files) const { files = m_fileNames; } - wxString GetWildcard() const { return m_wildCard; } - long GetStyle() const { return m_dialogStyle; } - int GetFilterIndex() const { return m_filterIndex ; } + virtual void SetPath(const wxString& path); + virtual void GetPaths(wxArrayString& paths) const; + virtual void GetFilenames(wxArrayString& files) const; virtual int ShowModal(); -protected: - wxString m_message; - long m_dialogStyle; - wxWindow * m_parent; - wxString m_dir; - wxString m_path; // Full path - wxString m_fileName; - wxArrayString m_fileNames; - wxString m_wildCard; - int m_filterIndex; + // wxMSW-specific implementation from now on + // ----------------------------------------- -private: - DECLARE_DYNAMIC_CLASS(wxFileDialog) -}; + // called from the hook procedure on CDN_INITDONE reception + virtual void MSWOnInitDone(WXHWND hDlg); -// File selector - backward compatibility -WXDLLEXPORT wxString -wxFileSelector(const wxChar *message = wxFileSelectorPromptStr, - const wxChar *default_path = NULL, - const wxChar *default_filename = NULL, - const wxChar *default_extension = NULL, - const wxChar *wildcard = wxFileSelectorDefaultWildcardStr, - int flags = 0, - wxWindow *parent = NULL, - int x = -1, int y = -1); +protected: -// An extended version of wxFileSelector -WXDLLEXPORT wxString -wxFileSelectorEx(const wxChar *message = wxFileSelectorPromptStr, - const wxChar *default_path = NULL, - const wxChar *default_filename = NULL, - int *indexDefaultExtension = NULL, - const wxChar *wildcard = wxFileSelectorDefaultWildcardStr, - int flags = 0, - wxWindow *parent = NULL, - int x = -1, int y = -1); +#if !(defined(__SMARTPHONE__) && defined(__WXWINCE__)) + virtual void DoMoveWindow(int x, int y, int width, int height); + virtual void DoCentre(int dir); + virtual void DoGetSize( int *width, int *height ) const; + virtual void DoGetPosition( int *x, int *y ) const; +#endif // !(__SMARTPHONE__ && __WXWINCE__) -// Ask for filename to load -WXDLLEXPORT wxString -wxLoadFileSelector(const wxChar *what, - const wxChar *extension, - const wxChar *default_name = (const wxChar *)NULL, - wxWindow *parent = (wxWindow *) NULL); +private: + wxArrayString m_fileNames; -// Ask for filename to save -WXDLLEXPORT wxString -wxSaveFileSelector(const wxChar *what, - const wxChar *extension, - const wxChar *default_name = (const wxChar *) NULL, - wxWindow *parent = (wxWindow *) NULL); + // remember if our SetPosition() or Centre() (which requires special + // treatment) was called + bool m_bMovedWindow; + int m_centreDir; // nothing to do if 0 + + DECLARE_DYNAMIC_CLASS(wxFileDialog) + DECLARE_NO_COPY_CLASS(wxFileDialog) +}; -#endif - // _WX_FILEDLG_H_ +#endif // _WX_FILEDLG_H_