// Created: 01/02/97
// RCS-ID: $Id$
// Copyright: (c) Julian Smart
-// Licence: wxWidgets licence
+// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#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,
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_