X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b4cfe261db9bec8cdfb2664ed3f50e3e8350bbde..704c34908646c5eee35a11974f8d1016f54cc909:/include/wx/generic/filedlgg.h diff --git a/include/wx/generic/filedlgg.h b/include/wx/generic/filedlgg.h index 23203759db..656f97a02a 100644 --- a/include/wx/generic/filedlgg.h +++ b/include/wx/generic/filedlgg.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: filedlgg.h +// Name: wx/generic/filedlgg.h // Purpose: wxGenericFileDialog // Author: Robert Roebling // Modified by: @@ -12,31 +12,25 @@ #ifndef _WX_FILEDLGG_H_ #define _WX_FILEDLGG_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) -#pragma interface "filedlgg.h" -#endif - #include "wx/listctrl.h" #include "wx/datetime.h" +#include "wx/filefn.h" +#include "wx/filedlg.h" //----------------------------------------------------------------------------- // classes //----------------------------------------------------------------------------- -class WXDLLEXPORT wxBitmapButton; -class WXDLLEXPORT wxCheckBox; -class WXDLLEXPORT wxChoice; -class WXDLLEXPORT wxFileData; -class WXDLLEXPORT wxFileCtrl; -class WXDLLEXPORT wxGenericFileDialog; -class WXDLLEXPORT wxListEvent; -class WXDLLEXPORT wxListItem; -class WXDLLEXPORT wxStaticText; -class WXDLLEXPORT wxTextCtrl; - -#if defined(__WXUNIVERSAL__)||defined(__WXGTK__)||defined(__WXX11__)||defined(__WXMGL__)||defined(__WXCOCOA__) - #define USE_GENERIC_FILEDIALOG -#endif +class WXDLLIMPEXP_FWD_CORE wxBitmapButton; +class WXDLLIMPEXP_FWD_CORE wxCheckBox; +class WXDLLIMPEXP_FWD_CORE wxChoice; +class WXDLLIMPEXP_FWD_CORE wxFileData; +class WXDLLIMPEXP_FWD_CORE wxFileCtrl; +class WXDLLIMPEXP_FWD_CORE wxGenericFileDialog; +class WXDLLIMPEXP_FWD_CORE wxListEvent; +class WXDLLIMPEXP_FWD_CORE wxListItem; +class WXDLLIMPEXP_FWD_CORE wxStaticText; +class WXDLLIMPEXP_FWD_CORE wxTextCtrl; //------------------------------------------------------------------------- // wxGenericFileDialog @@ -45,15 +39,30 @@ class WXDLLEXPORT wxTextCtrl; class WXDLLEXPORT wxGenericFileDialog: public wxFileDialogBase { public: - wxGenericFileDialog() { } + wxGenericFileDialog() : wxFileDialogBase() { Init(); } wxGenericFileDialog(wxWindow *parent, - const wxString& message = wxFileSelectorPromptStr, + 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 bypassGenericImpl = false ); + + 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); + long style = wxFD_DEFAULT_STYLE, + const wxPoint& pos = wxDefaultPosition, + const wxSize& sz = wxDefaultSize, + const wxString& name = wxFileDialogNameStr, + bool bypassGenericImpl = false ); + virtual ~wxGenericFileDialog(); virtual void SetMessage(const wxString& message) { SetTitle(message); } @@ -88,6 +97,10 @@ public: virtual void UpdateControls(); +private: + // Don't use this implementation at all :-) + bool m_bypassGenericImpl; + protected: // use the filter with the given index void DoSetFilterIndex(int filterindex); @@ -102,6 +115,7 @@ protected: wxBitmapButton *m_newDirButton; private: + void Init(); DECLARE_DYNAMIC_CLASS(wxGenericFileDialog) DECLARE_EVENT_TABLE() @@ -110,12 +124,10 @@ private: static bool ms_lastShowHidden; // did we show hidden files? }; -#ifdef USE_GENERIC_FILEDIALOG +#ifdef wxUSE_GENERIC_FILEDIALOG class WXDLLEXPORT wxFileDialog: public wxGenericFileDialog { - DECLARE_DYNAMIC_CLASS(wxFileDialog) - public: wxFileDialog() {} @@ -129,9 +141,12 @@ public: :wxGenericFileDialog(parent, message, defaultDir, defaultFile, wildCard, style, pos) { } + +private: + DECLARE_DYNAMIC_CLASS(wxFileDialog) }; -#endif // USE_GENERIC_FILEDIALOG +#endif // wxUSE_GENERIC_FILEDIALOG //----------------------------------------------------------------------------- // wxFileData - a class to hold the file info for the wxFileCtrl @@ -149,6 +164,7 @@ public: is_drive = 0x0008 }; + wxFileData() { Init(); } // Full copy constructor wxFileData( const wxFileData& fileData ) { Copy(fileData); } // Create a filedata from this information @@ -169,7 +185,7 @@ public: void SetNewName( const wxString &filePath, const wxString &fileName ); // Get the size of the file in bytes - long GetSize() const { return m_size; } + wxFileOffset GetSize() const { return m_size; } // Get the type of file, either file extension or , , wxString GetFileType() const; // get the last modification time @@ -211,17 +227,20 @@ public: // initialize a wxListItem attributes void MakeItem( wxListItem &item ); - + // operators wxFileData& operator = (const wxFileData& fd) { Copy(fd); return *this; } -private: +protected: wxString m_fileName; wxString m_filePath; - long m_size; + wxFileOffset m_size; wxDateTime m_dateTime; wxString m_permissions; int m_type; - int m_image; + int m_image; + +private: + void Init(); }; //----------------------------------------------------------------------------- @@ -281,9 +300,8 @@ protected: wxFileData::fileListFieldType m_sort_field; private: - DECLARE_DYNAMIC_CLASS(wxFileCtrl); + DECLARE_DYNAMIC_CLASS(wxFileCtrl) DECLARE_EVENT_TABLE() }; #endif // _WX_FILEDLGG_H_ -