]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/filedlg.h
Use wmain() if supported by the compiler/CRT instead of main().
[wxWidgets.git] / include / wx / msw / filedlg.h
index 1ba36bce96f43ec1a039d9e906e3478f2f7a438f..4c4ec7499345d1bbcefa239ba2aa6d9f9f2ca0a3 100644 (file)
 #ifndef _WX_FILEDLG_H_
 #define _WX_FILEDLG_H_
 
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
-    #pragma interface "filedlg.h"
-#endif
-
 //-------------------------------------------------------------------------
 // wxFileDialog
 //-------------------------------------------------------------------------
 
-class WXDLLEXPORT wxFileDialog: public wxFileDialogBase
+class WXDLLIMPEXP_CORE wxFileDialog: public wxFileDialogBase
 {
 public:
     wxFileDialog(wxWindow *parent,
@@ -28,19 +24,45 @@ 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 SetPath(const wxString& path);
     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__
 
     virtual int ShowModal();
 
+    // wxMSW-specific implementation from now on
+    // -----------------------------------------
+
+    // called from the hook procedure on CDN_INITDONE reception
+    virtual void MSWOnInitDone(WXHWND hDlg);
+
+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__)
+
 private:
     wxArrayString m_fileNames;
 
+    // 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)
+    wxDECLARE_NO_COPY_CLASS(wxFileDialog);
 };
 
 #endif // _WX_FILEDLG_H_