X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e1811a014bf84a353e46607ce9f5e48393a2e236..788519c6055dc2290c40fb1569d2889d8ef8e76b:/include/wx/generic/filedlgg.h diff --git a/include/wx/generic/filedlgg.h b/include/wx/generic/filedlgg.h index df25b6ddfa..80aa37e41b 100644 --- a/include/wx/generic/filedlgg.h +++ b/include/wx/generic/filedlgg.h @@ -16,15 +16,7 @@ #pragma interface "filedlgg.h" #endif -#include "wx/defs.h" - #include "wx/dialog.h" -#include "wx/checkbox.h" -#include "wx/listctrl.h" -#include "wx/textctrl.h" -#include "wx/choice.h" -#include "wx/checkbox.h" -#include "wx/stattext.h" //----------------------------------------------------------------------------- // data @@ -37,90 +29,14 @@ WXDLLEXPORT_DATA(extern const wxChar *)wxFileSelectorDefaultWildcardStr; // classes //----------------------------------------------------------------------------- +class wxCheckBox; +class wxChoice; class wxFileData; class wxFileCtrl; class wxFileDialog; - -//----------------------------------------------------------------------------- -// wxFileData -//----------------------------------------------------------------------------- - -class wxFileData : public wxObject -{ -private: - wxString m_name; - wxString m_fileName; - long m_size; - int m_hour; - int m_minute; - int m_year; - int m_month; - int m_day; - wxString m_permissions; - bool m_isDir; - bool m_isLink; - bool m_isExe; - -public: - wxFileData() { } - wxFileData( const wxString &name, const wxString &fname ); - wxString GetName() const; - wxString GetFullName() const; - wxString GetHint() const; - wxString GetEntry( int num ); - bool IsDir(); - bool IsLink(); - bool IsExe(); - long GetSize(); - void MakeItem( wxListItem &item ); - void SetNewName( const wxString &name, const wxString &fname ); - -private: - DECLARE_DYNAMIC_CLASS(wxFileData); -}; - -//----------------------------------------------------------------------------- -// wxFileCtrl -//----------------------------------------------------------------------------- - -class wxFileCtrl : public wxListCtrl -{ -private: - wxString m_dirName; - bool m_showHidden; - wxString m_wild; - -public: - wxFileCtrl(); - wxFileCtrl( wxWindow *win, - wxWindowID id, - const wxString &dirName, - const wxString &wild, - const wxPoint &pos = wxDefaultPosition, - const wxSize &size = wxDefaultSize, - long style = wxLC_LIST, - const wxValidator &validator = wxDefaultValidator, - const wxString &name = _T("filelist") ); - void ChangeToListMode(); - void ChangeToReportMode(); - void ChangeToIconMode(); - void ShowHidden( bool show = TRUE ); - long Add( wxFileData *fd, wxListItem &item ); - void Update(); - virtual void StatusbarText( char *WXUNUSED(text) ) {}; - void MakeDir(); - void GoToParentDir(); - void GoToHomeDir(); - void GoToDir( const wxString &dir ); - void SetWild( const wxString &wild ); - void GetDir( wxString &dir ); - void OnListDeleteItem( wxListEvent &event ); - void OnListEndLabelEdit( wxListEvent &event ); - -private: - DECLARE_DYNAMIC_CLASS(wxFileCtrl); - DECLARE_EVENT_TABLE() -}; +class wxListEvent; +class wxStaticText; +class wxTextCtrl; //------------------------------------------------------------------------- // File selector @@ -138,7 +54,7 @@ public: const wxString& wildCard = wxFileSelectorDefaultWildcardStr, long style = 0, const wxPoint& pos = wxDefaultPosition); - ~wxFileDialog(); + virtual ~wxFileDialog(); void SetMessage(const wxString& message) { m_message = message; } void SetPath(const wxString& path); @@ -154,7 +70,11 @@ public: wxString GetFilename() const { return m_fileName; } wxString GetWildcard() const { return m_wildCard; } long GetStyle() const { return m_dialogStyle; } - int GetFilterIndex() const { return m_filterIndex ; } + int GetFilterIndex() const { return m_filterIndex; } + + // for multiple file selection + void GetPaths(wxArrayString& paths) const; + void GetFilenames(wxArrayString& files) const; void OnSelected( wxListEvent &event ); void OnActivated( wxListEvent &event ); @@ -166,7 +86,8 @@ public: void OnNew( wxCommandEvent &event ); void OnChoice( wxCommandEvent &event ); void OnTextEnter( wxCommandEvent &event ); - + void OnCheck( wxCommandEvent &event ); + void HandleAction( const wxString &fn ); protected: @@ -177,6 +98,7 @@ protected: wxString m_fileName; wxString m_wildCard; int m_filterIndex; + wxString m_filterExtension; wxChoice *m_choice; wxTextCtrl *m_text; wxFileCtrl *m_list; @@ -186,15 +108,9 @@ protected: private: DECLARE_DYNAMIC_CLASS(wxFileDialog) DECLARE_EVENT_TABLE() -}; -enum -{ - wxOPEN = 1, - wxSAVE = 2, - wxOVERWRITE_PROMPT = 4, - wxHIDE_READONLY = 8, - wxFILE_MUST_EXIST = 16 + static long s_lastViewStyle; // list or report? + static bool s_lastShowHidden; }; // File selector - backward compatibility