/////////////////////////////////////////////////////////////////////////////
-// Name: filedlg.h
+// Name: wx/gtk/filedlg.h
// Purpose:
// Author: Robert Roebling
// Id: $Id$
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
+#ifndef _WX_GTKFILEDLG_H_
+#define _WX_GTKFILEDLG_H_
-#ifndef __GTKFILEDLGH__
-#define __GTKFILEDLGH__
-
-#ifdef __GNUG__
-#pragma interface
-#endif
-
-#include "wx/dialog.h"
+#include "wx/gtk/filectrl.h" // for wxGtkFileChooser
//-------------------------------------------------------------------------
-// File selector
+// wxFileDialog
//-------------------------------------------------------------------------
-extern const wxChar *wxFileSelectorPromptStr;
-extern const wxChar *wxFileSelectorDefaultWildcardStr;
-
-class wxFileDialog: public wxDialog
+class WXDLLIMPEXP_CORE wxFileDialog: public wxFileDialogBase
{
public:
wxFileDialog() { }
wxFileDialog(wxWindow *parent,
const wxString& message = wxFileSelectorPromptStr,
- const wxString& defaultDir = "",
- const wxString& defaultFile = "",
+ 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);
+ bool Create(wxWindow *parent,
+ const wxString& message = wxFileSelectorPromptStr,
+ const wxString& defaultDir = wxEmptyString,
+ const wxString& defaultFile = wxEmptyString,
const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
- long style = 0,
- const wxPoint& pos = wxDefaultPosition);
-
- 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; }
-
- wxString GetMessage() const { return m_message; }
- wxString GetPath() const { return m_path; }
- wxString GetDirectory() const { return m_dir; }
- wxString GetFilename() const { return m_fileName; }
- wxString GetWildcard() const { return m_wildCard; }
- long GetStyle() const { return m_dialogStyle; }
- int GetFilterIndex() const { return m_filterIndex ; }
-
-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;
-
+ long style = wxFD_DEFAULT_STYLE,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& sz = wxDefaultSize,
+ const wxString& name = wxFileDialogNameStr);
+ virtual ~wxFileDialog();
+
+ virtual wxString GetPath() const;
+ virtual void GetPaths(wxArrayString& paths) const;
+ virtual wxString GetDirectory() const;
+ virtual wxString GetFilename() const;
+ virtual void GetFilenames(wxArrayString& files) const;
+ virtual int GetFilterIndex() const;
+
+ virtual void SetMessage(const wxString& message);
+ virtual void SetPath(const wxString& path);
+ virtual void SetDirectory(const wxString& dir);
+ virtual void SetFilename(const wxString& name);
+ virtual void SetWildcard(const wxString& wildCard);
+ virtual void SetFilterIndex(int filterIndex);
+
+ virtual int ShowModal();
+
+ virtual bool SupportsExtraControl() const { return true; }
+
+ // Implementation only.
+ void GTKOnAccept();
+ void GTKOnCancel();
+
+protected:
+ // override this from wxTLW since the native
+ // form doesn't have any m_wxwindow
+ virtual void DoSetSize(int x, int y,
+ int width, int height,
+ int sizeFlags = wxSIZE_AUTO);
+
+
private:
+ void OnSize(wxSizeEvent&);
+ virtual void AddChildGTK(wxWindowGTK* child);
+
+ wxString m_selectedDirectory;
+ wxGtkFileChooser m_fc;
+
DECLARE_DYNAMIC_CLASS(wxFileDialog)
+ DECLARE_EVENT_TABLE()
};
-#define wxOPEN 1
-#define wxSAVE 2
-#define wxOVERWRITE_PROMPT 4
-#define wxHIDE_READONLY 8
-#define wxFILE_MUST_EXIST 16
-
-// 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);
-
-// 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);
-
-// 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);
-
-// 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);
-
-#endif
- // __GTKFILEDLGH__
+#endif // _WX_GTKFILEDLG_H_