X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ba681060f36767a2682b8547871af2c6f8159955..9c34a216817028bc533e07873d047208a96b05a2:/include/wx/gtk/filedlg.h diff --git a/include/wx/gtk/filedlg.h b/include/wx/gtk/filedlg.h index 78e4e84eb5..ececadcf0b 100644 --- a/include/wx/gtk/filedlg.h +++ b/include/wx/gtk/filedlg.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: filedlg.h +// Name: wx/gtk/filedlg.h // Purpose: // Author: Robert Roebling // Id: $Id$ @@ -7,74 +7,78 @@ // 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 char *wxFileSelectorPromptStr; -extern const char *wxFileSelectorDefaultWildcardStr; - -class wxFileDialog: public wxDialog +class WXDLLIMPEXP_CORE wxFileDialog: public wxFileDialogBase { - - DECLARE_DYNAMIC_CLASS(wxFileDialog) - - friend void gtk_filedialog_ok_callback( GtkWidget *widget, gpointer data ); - - public: - - wxFileDialog() {}; - - wxFileDialog(wxWindow *parent, const wxString& message = wxFileSelectorPromptStr, - const wxString& defaultDir = "", const wxString& defaultFile = "", - const wxString& wildCard = wxFileSelectorDefaultWildcardStr, - long style = 0, const wxPoint& pos = wxDefaultPosition); - - inline void SetMessage(const wxString& message) { m_message = message; } - inline void SetPath(const wxString& path) { m_path = path; } - inline void SetDirectory(const wxString& dir) { m_dir = dir; } - inline void SetFilename(const wxString& name) { m_fileName = name; } - inline void SetWildcard(const wxString& wildCard) { m_wildCard = wildCard; } - inline void SetStyle(long style) { m_dialogStyle = style; } - inline void SetFilterIndex(int filterIndex) { m_filterIndex = filterIndex; } - - inline wxString GetMessage(void) const { return m_message; } - inline wxString GetPath(void) const { return m_path; } - inline wxString GetDirectory(void) const { return m_dir; } - inline wxString GetFilename(void) const { return m_fileName; } - inline wxString GetWildcard(void) const { return m_wildCard; } - inline long GetStyle(void) const { return m_dialogStyle; } - inline int GetFilterIndex(void) const { return m_filterIndex ; } - - int ShowModal(void); - - 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; +public: + wxFileDialog() { } + + wxFileDialog(wxWindow *parent, + const wxString& message = wxFileSelectorPromptStr, + 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 = 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 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 GTKSelectionChanged(const wxString& filename); + + +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 OnFakeOk( wxCommandEvent &event ); + void OnSize(wxSizeEvent&); + virtual void AddChildGTK(wxWindowGTK* child); + + 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 - -#endif - // __GTKFILEDLGH__ +#endif // _WX_GTKFILEDLG_H_