X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/8b17ba727c69f66dfa0a73dfdd04ff7d30e3c188..10769d8c47c21fe0ec5034726791a5ad4cf19475:/include/wx/generic/filedlgg.h diff --git a/include/wx/generic/filedlgg.h b/include/wx/generic/filedlgg.h index 04f081b6bf..80aa37e41b 100644 --- a/include/wx/generic/filedlgg.h +++ b/include/wx/generic/filedlgg.h @@ -6,7 +6,7 @@ // Created: 8/17/99 // Copyright: (c) Robert Roebling // RCS-ID: $Id$ -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_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/button.h" -#include "wx/validate.h" -#include "wx/textctrl.h" -#include "wx/choice.h" //----------------------------------------------------------------------------- // data @@ -37,89 +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( const int num ); - bool IsDir(); - bool IsLink(); - bool IsExe(); - long GetSize(); - bool NewNameIsLegal( const wxString &s ); - bool Rename( const wxString &s ); - void MakeItem( wxListItem &item ); - -private: - DECLARE_DYNAMIC_CLASS(wxFileData); -}; - -//----------------------------------------------------------------------------- -// wxFileCtrl -//----------------------------------------------------------------------------- - -class wxFileCtrl : public wxListCtrl -{ -private: - wxString m_dirName; - bool m_showHidden; - -public: - wxFileCtrl(); - wxFileCtrl( wxWindow *win, const wxWindowID id, const wxString &dirName, - const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, - const long style = wxLC_LIST, const wxValidator &validator = wxDefaultValidator, - const wxString &name = _T("filelist") ); - void ChangeToListMode(); - void ChangeToReportMode(); - void ChangeToIconMode(); - void ShowHidden( bool show = TRUE ); - void Update(); - virtual void StatusbarText( char *WXUNUSED(text) ) {}; - int FillList( wxStringList &list ); - void DeleteFiles(); - void CopyFiles( char *dest ); - void MoveFiles( char *dest ); - void RenameFile(); - void MakeDir(); - void GoToParentDir(); - void GoToHomeDir(); - void GoToDir( const wxString &dir ); - void GetDir( wxString &dir ); - void OnListDeleteItem( wxListEvent &event ); - void OnListKeyDown( wxListEvent &event ); - void OnListEndLabelEdit( wxListEvent &event ); - -private: - DECLARE_DYNAMIC_CLASS(wxFileCtrl); - DECLARE_EVENT_TABLE() -}; +class wxListEvent; +class wxStaticText; +class wxTextCtrl; //------------------------------------------------------------------------- // File selector @@ -137,6 +54,7 @@ public: const wxString& wildCard = wxFileSelectorDefaultWildcardStr, long style = 0, const wxPoint& pos = wxDefaultPosition); + virtual ~wxFileDialog(); void SetMessage(const wxString& message) { m_message = message; } void SetPath(const wxString& path); @@ -152,39 +70,48 @@ 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 ); void OnList( wxCommandEvent &event ); void OnReport( wxCommandEvent &event ); - void OnIcon( wxCommandEvent &event ); void OnUp( wxCommandEvent &event ); void OnHome( wxCommandEvent &event ); void OnListOk( wxCommandEvent &event ); - -protected: - wxString m_message; - long m_dialogStyle; - wxString m_dir; - wxString m_path; // Full path - wxString m_fileName; - wxString m_wildCard; - int m_filterIndex; - wxChoice *m_choice; - wxTextCtrl *m_text; - wxFileCtrl *m_list; - + void OnNew( wxCommandEvent &event ); + void OnChoice( wxCommandEvent &event ); + void OnTextEnter( wxCommandEvent &event ); + void OnCheck( wxCommandEvent &event ); + + void HandleAction( const wxString &fn ); + +protected: + wxString m_message; + long m_dialogStyle; + wxString m_dir; + wxString m_path; // Full path + wxString m_fileName; + wxString m_wildCard; + int m_filterIndex; + wxString m_filterExtension; + wxChoice *m_choice; + wxTextCtrl *m_text; + wxFileCtrl *m_list; + wxCheckBox *m_check; + wxStaticText *m_static; + private: 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 + static long s_lastViewStyle; // list or report? + static bool s_lastShowHidden; +}; // File selector - backward compatibility WXDLLEXPORT wxString