]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/filedlgg.h
Only compile wxStd{Input,Output}Stream if wxUSE_STREAMS==1.
[wxWidgets.git] / include / wx / generic / filedlgg.h
index 661d7f88b744cdaddd2abec18d2e8fec87071363..b4f35b3afd52cdff93c80653da06b8e4221f7d57 100644 (file)
@@ -15,6 +15,7 @@
 #include "wx/listctrl.h"
 #include "wx/datetime.h"
 #include "wx/filefn.h"
+#include "wx/artprov.h"
 #include "wx/filedlg.h"
 #include "wx/generic/filectrlg.h"
 
@@ -31,7 +32,7 @@ class WXDLLIMPEXP_FWD_CORE wxFileCtrlEvent;
 // wxGenericFileDialog
 //-------------------------------------------------------------------------
 
-class WXDLLEXPORT wxGenericFileDialog: public wxFileDialogBase
+class WXDLLIMPEXP_CORE wxGenericFileDialog: public wxFileDialogBase
 {
 public:
     wxGenericFileDialog() : wxFileDialogBase() { Init(); }
@@ -60,14 +61,33 @@ public:
 
     virtual ~wxGenericFileDialog();
 
+    virtual void SetDirectory(const wxString& dir)
+        { m_filectrl->SetDirectory(dir); }
+    virtual void SetFilename(const wxString& name)
+        { m_filectrl->SetFilename(name); }
     virtual void SetMessage(const wxString& message) { SetTitle(message); }
-    virtual void SetPath(const wxString& path);
-    virtual void SetFilterIndex(int filterIndex);
-    virtual void SetWildcard(const wxString& wildCard);
-
-    // for multiple file selection
-    virtual void GetPaths(wxArrayString& paths) const;
-    virtual void GetFilenames(wxArrayString& files) const;
+    virtual void SetPath(const wxString& path)
+        { m_filectrl->SetPath(path); }
+    virtual void SetFilterIndex(int filterIndex)
+        { m_filectrl->SetFilterIndex(filterIndex); }
+    virtual void SetWildcard(const wxString& wildCard)
+        { m_filectrl->SetWildcard(wildCard); }
+
+    virtual wxString GetPath() const
+        { return m_filectrl->GetPath(); }
+    virtual void GetPaths(wxArrayString& paths) const
+        { m_filectrl->GetPaths(paths); }
+    virtual wxString GetDirectory() const
+        { return m_filectrl->GetDirectory(); }
+    virtual wxString GetFilename() const
+        { return m_filectrl->GetFilename(); }
+    virtual void GetFilenames(wxArrayString& files) const
+        { m_filectrl->GetFilenames(files); }
+    virtual wxString GetWildcard() const
+        { return m_filectrl->GetWildcard(); }
+    virtual int GetFilterIndex() const
+        { return m_filectrl->GetFilterIndex(); }
+    virtual bool SupportsExtraControl() const { return true; }
 
     // implementation only from now on
     // -------------------------------
@@ -83,13 +103,14 @@ public:
     void OnNew( wxCommandEvent &event );
     void OnFileActivated( wxFileCtrlEvent &event);
 
-    virtual void UpdateControls();
-
 private:
-    // Don't use this implementation at all :-)
+    // if true, don't use this implementation at all
     bool m_bypassGenericImpl;
 
 protected:
+    // update the state of m_upDirButton and m_newDirButton depending on the
+    // currently selected directory
+    void OnUpdateButtonsUI(wxUpdateUIEvent& event);
 
     wxString               m_filterExtension;
     wxGenericFileCtrl     *m_filectrl;
@@ -98,6 +119,9 @@ protected:
 
 private:
     void Init();
+    wxBitmapButton* AddBitmapButton( wxWindowID winId, const wxArtID& artId,
+                                     const wxString& tip, wxSizer *sizer );
+
     DECLARE_DYNAMIC_CLASS(wxGenericFileDialog)
     DECLARE_EVENT_TABLE()
 
@@ -108,10 +132,10 @@ private:
 
 #ifdef wxHAS_GENERIC_FILEDIALOG
 
-class WXDLLEXPORT wxFileDialog: public wxGenericFileDialog
+class WXDLLIMPEXP_CORE wxFileDialog: public wxGenericFileDialog
 {
 public:
-     wxFileDialog() {}
+    wxFileDialog() {}
 
     wxFileDialog(wxWindow *parent,
                  const wxString& message = wxFileSelectorPromptStr,
@@ -119,8 +143,12 @@ public:
                  const wxString& defaultFile = wxEmptyString,
                  const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
                  long style = 0,
-                 const wxPoint& pos = wxDefaultPosition)
-          :wxGenericFileDialog(parent, message, defaultDir, defaultFile, wildCard, style, pos)
+                 const wxPoint& pos = wxDefaultPosition,
+                 const wxSize& size = wxDefaultSize)
+          :wxGenericFileDialog(parent, message,
+                               defaultDir, defaultFile, wildCard,
+                               style,
+                               pos, size)
      {
      }