]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/filedlg.h
Don't define __STRICT_ANSI__, we should build both with and without it.
[wxWidgets.git] / include / wx / msw / filedlg.h
index 37601524ba8d9026f6e9f6ba7c347cb22fc77fa7..a1958bace719990c6ea52ddeabb93d587a29e448 100644 (file)
@@ -4,7 +4,6 @@
 // Author:      Julian Smart
 // Modified by:
 // Created:     01/02/97
-// RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -16,7 +15,7 @@
 // wxFileDialog
 //-------------------------------------------------------------------------
 
-class WXDLLEXPORT wxFileDialog: public wxFileDialogBase
+class WXDLLIMPEXP_CORE wxFileDialog: public wxFileDialogBase
 {
 public:
     wxFileDialog(wxWindow *parent,
@@ -24,29 +23,48 @@ 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);
+
+    // called from the hook procedure on CDN_SELCHANGE.
+    void MSWOnSelChange(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_