X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c67daf87774c71ae9f73af9969008af220e52a11..a7689c49fe02c0c065facf736ab28b19f5997b7c:/include/wx/gtk/filedlg.h diff --git a/include/wx/gtk/filedlg.h b/include/wx/gtk/filedlg.h index dd4452794b..7cbbe54e43 100644 --- a/include/wx/gtk/filedlg.h +++ b/include/wx/gtk/filedlg.h @@ -1,96 +1,85 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: filedlg.h +// Name: wx/gtk/filedlg.h // Purpose: // Author: Robert Roebling -// Created: 01/02/97 -// Id: -// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem +// Id: $Id$ +// Copyright: (c) 1998 Robert Roebling // 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 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 - -char* wxFileSelector(const char *message = wxFileSelectorPromptStr, const char *default_path = (const char *) NULL, - const char *default_filename = (const char *) NULL, const char *default_extension = (const char *) NULL, - const char *wildcard = wxFileSelectorDefaultWildcardStr, int flags = 0, - wxWindow *parent = (wxWindow *) NULL, int x = -1, int y = -1); - -char* wxLoadFileSelector(const char *what, const char *extension, const char *default_name = (const char *) NULL, - wxWindow *parent = (wxWindow *) NULL); - -char* wxSaveFileSelector(const char *what, const char *extension, const char *default_name = (const char *) NULL, - wxWindow *parent = (wxWindow *) NULL); - - - -#endif - // __GTKFILEDLGH__ +#endif // _WX_GTKFILEDLG_H_