]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/filedlg.h
Move the wxWebFileProtocolHandler from the IE backend to the common source, add the...
[wxWidgets.git] / include / wx / msw / filedlg.h
index f4637fcc788f50e43f0658dfb572201212be5f8a..4c4ec7499345d1bbcefa239ba2aa6d9f9f2ca0a3 100644 (file)
 #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,46 @@ public:
                  const wxString& defaultDir = wxEmptyString,
                  const wxString& defaultFile = wxEmptyString,
                  const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
-                 long style = 0,
-                 const wxPoint& pos = wxDefaultPosition);
+                 long style = wxFD_DEFAULT_STYLE,
+                 const wxPoint& pos = wxDefaultPosition,
+                 const wxSize& sz = wxDefaultSize,
+                 const wxString& name = wxFileDialogNameStr);
+
+    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__
 
-    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; }
+    virtual int ShowModal();
 
-    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 ; }
+    // wxMSW-specific implementation from now on
+    // -----------------------------------------
 
-    virtual int ShowModal();
+    // called from the hook procedure on CDN_INITDONE reception
+    virtual void MSWOnInitDone(WXHWND hDlg);
 
 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;
-
-private:
-    DECLARE_DYNAMIC_CLASS(wxFileDialog)
-};
 
-// 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);
+#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
-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);
+private:
+    wxArrayString m_fileNames;
 
-// 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);
+    // remember if our SetPosition() or Centre() (which requires special
+    // treatment) was called
+    bool m_bMovedWindow;
+    int m_centreDir;        // nothing to do if 0
 
-// 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);
+    DECLARE_DYNAMIC_CLASS(wxFileDialog)
+    wxDECLARE_NO_COPY_CLASS(wxFileDialog);
+};
 
-#endif
-    // _WX_FILEDLG_H_
+#endif // _WX_FILEDLG_H_