]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/filedlgg.h
SCROLLWIN instead of SCROLL again
[wxWidgets.git] / include / wx / generic / filedlgg.h
index f3724ad09d07cbfdc88f9cbfa60132ae7bd0e793..9d39b679f9035b4ca3e76b6cfc2d5ad0a3e5e35b 100644 (file)
@@ -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_
@@ -23,6 +23,8 @@
 #include "wx/listctrl.h"
 #include "wx/textctrl.h"
 #include "wx/choice.h"
+#include "wx/checkbox.h"
+#include "wx/stattext.h"
 
 //-----------------------------------------------------------------------------
 // data
@@ -60,19 +62,19 @@ private:
     bool     m_isExe;
 
 public:
-    wxFileData() {}
+    wxFileData() { }
     wxFileData( const wxString &name, const wxString &fname );
     wxString GetName() const;
     wxString GetFullName() const;
     wxString GetHint() const;
-    wxString GetEntry( const int num );
+    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);
 };
@@ -90,18 +92,22 @@ private:
 
 public:
     wxFileCtrl();
-    wxFileCtrl( wxWindow *win, const wxWindowID id, 
-      const wxString &dirName, const wxString &wild,
-      const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize, 
-      const long style = wxLC_LIST, const wxValidator &validator = wxDefaultValidator,
-      const wxString &name = _T("filelist") );
+    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 = wxT("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) ) {};
+    virtual void StatusbarText( wxChar *WXUNUSED(text) ) {};
     void MakeDir();
     void GoToParentDir();
     void GoToHomeDir();
@@ -109,9 +115,10 @@ public:
     void SetWild( const wxString &wild );
     void GetDir( wxString &dir );
     void OnListDeleteItem( wxListEvent &event );
+    void OnListDeleteAllItems( wxListEvent &event );
     void OnListEndLabelEdit( wxListEvent &event );
 
-private:    
+private:
     DECLARE_DYNAMIC_CLASS(wxFileCtrl);
     DECLARE_EVENT_TABLE()
 };
@@ -132,6 +139,7 @@ public:
                  const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
                  long style = 0,
                  const wxPoint& pos = wxDefaultPosition);
+    ~wxFileDialog();
 
     void SetMessage(const wxString& message) { m_message = message; }
     void SetPath(const wxString& path);
@@ -147,8 +155,12 @@ 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 );
@@ -157,29 +169,34 @@ public:
     void OnHome( wxCommandEvent &event );
     void OnListOk( wxCommandEvent &event );
     void OnNew( 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 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