X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/debe6624c1e9d4bf3243381153d1e173c849bcd8..032e024c1c6ab6a20226604baab9d00558620e72:/include/wx/msw/filedlg.h diff --git a/include/wx/msw/filedlg.h b/include/wx/msw/filedlg.h index f33db5ac67..4c4ec74993 100644 --- a/include/wx/msw/filedlg.h +++ b/include/wx/msw/filedlg.h @@ -1,88 +1,69 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: filedlg.h +// Name: wx/msw/filedlg.h // Purpose: wxFileDialog class // Author: Julian Smart // Modified by: // Created: 01/02/97 // RCS-ID: $Id$ -// Copyright: (c) Julian Smart and Markus Holzem -// Licence: wxWindows license +// Copyright: (c) Julian Smart +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifndef __FILEDLGH__ -#define __FILEDLGH__ +#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 char*) wxFileSelectorPromptStr; -WXDLLEXPORT_DATA(extern const char*) wxFileSelectorDefaultWildcardStr; - -class WXDLLEXPORT wxFileDialog: public wxDialog +class WXDLLIMPEXP_CORE wxFileDialog: public wxFileDialogBase { -DECLARE_DYNAMIC_CLASS(wxFileDialog) -protected: - wxString m_message; - long m_dialogStyle; - wxWindow * m_parent; - wxString m_dir; - wxString m_path; // Full path - wxString m_fileName; - wxString m_wildCard; - int m_filterIndex; public: - wxFileDialog(wxWindow *parent, const wxString& message = wxFileSelectorPromptStr, - const wxString& defaultDir = "", const wxString& defaultFile = "", const wxString& wildCard = wxFileSelectorDefaultWildcardStr, - long style = 0, const wxPoint& pos = wxDefaultPosition); + wxFileDialog(wxWindow *parent, + const wxString& message = wxFileSelectorPromptStr, + const wxString& defaultDir = wxEmptyString, + const wxString& defaultFile = wxEmptyString, + const wxString& wildCard = wxFileSelectorDefaultWildcardStr, + long style = wxFD_DEFAULT_STYLE, + const wxPoint& pos = wxDefaultPosition, + const wxSize& sz = wxDefaultSize, + const wxString& name = wxFileDialogNameStr); - inline void SetMessage(const wxString& message) { m_message = message; } - inline void SetPath(const wxString& path) { m_path = path; } - inline void SetDirectory(const wxString& dir) { m_dir = dir; } - inline void SetFilename(const wxString& name) { m_fileName = name; } - inline void SetWildcard(const wxString& wildCard) { m_wildCard = wildCard; } - inline void SetStyle(long style) { m_dialogStyle = style; } - inline void SetFilterIndex(int filterIndex) { m_filterIndex = filterIndex; } + virtual void GetPaths(wxArrayString& paths) const; + virtual void GetFilenames(wxArrayString& files) const; +#ifndef __WXWINCE__ + virtual bool SupportsExtraControl() const { return true; } + void MSWOnInitDialogHook(WXHWND hwnd); +#endif // __WXWINCE__ - inline wxString GetMessage(void) const { return m_message; } - inline wxString GetPath(void) const { return m_path; } - inline wxString GetDirectory(void) const { return m_dir; } - inline wxString GetFilename(void) const { return m_fileName; } - inline wxString GetWildcard(void) const { return m_wildCard; } - inline long GetStyle(void) const { return m_dialogStyle; } - inline int GetFilterIndex(void) const { return m_filterIndex ; } + virtual int ShowModal(); - int ShowModal(void); -}; + // wxMSW-specific implementation from now on + // ----------------------------------------- -#define wxOPEN 1 -#define wxSAVE 2 -#define wxOVERWRITE_PROMPT 4 -#define wxHIDE_READONLY 8 + // called from the hook procedure on CDN_INITDONE reception + virtual void MSWOnInitDone(WXHWND hDlg); -// File selector - backward compatibility -char* WXDLLEXPORT wxFileSelector(const char *message = wxFileSelectorPromptStr, const char *default_path = NULL, - const char *default_filename = NULL, const char *default_extension = NULL, - const char *wildcard = wxFileSelectorDefaultWildcardStr, int flags = 0, - wxWindow *parent = NULL, int x = -1, int y = -1); +protected: + +#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__) -// An extended version of wxFileSelector -char* WXDLLEXPORT wxFileSelectorEx(const char *message = wxFileSelectorPromptStr, const char *default_path = NULL, - const char *default_filename = NULL, int *indexDefaultExtension = NULL, - const char *wildcard = wxFileSelectorDefaultWildcardStr, int flags = 0, - wxWindow *parent = NULL, int x = -1, int y = -1); +private: + wxArrayString m_fileNames; -// Generic file load dialog -char* WXDLLEXPORT wxLoadFileSelector(const char *what, const char *extension, const char *default_name = NULL, wxWindow *parent = 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) + wxDECLARE_NO_COPY_CLASS(wxFileDialog); +}; -// Generic file save dialog -char* WXDLLEXPORT wxSaveFileSelector(const char *what, const char *extension, const char *default_name = NULL, wxWindow *parent = NULL); +#endif // _WX_FILEDLG_H_ -#endif - // __FILEDLGH__