]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/gtk/filepicker.h
activating DrawRectangle optimization
[wxWidgets.git] / include / wx / gtk / filepicker.h
index e1bd484781c3f8421aaf624c1948b460d4c01fd7..68a59090e02d4ad9060f3b61bf29db07f082cf4d 100644 (file)
@@ -61,7 +61,7 @@ protected:                                                                    \
 class WXDLLIMPEXP_CORE wxFileButton : public wxGenericFileButton
 {
 public:
 class WXDLLIMPEXP_CORE wxFileButton : public wxGenericFileButton
 {
 public:
-    wxFileButton() { m_dialog = NULL; }
+    wxFileButton() { Init(); }
     wxFileButton(wxWindow *parent,
                  wxWindowID id,
                  const wxString& label = wxFilePickerWidgetLabel,
     wxFileButton(wxWindow *parent,
                  wxWindowID id,
                  const wxString& label = wxFilePickerWidgetLabel,
@@ -74,7 +74,8 @@ public:
                  const wxValidator& validator = wxDefaultValidator,
                  const wxString& name = wxFilePickerWidgetNameStr)
     {
                  const wxValidator& validator = wxDefaultValidator,
                  const wxString& name = wxFilePickerWidgetNameStr)
     {
-        m_dialog = NULL;
+        Init();
+        m_pickerStyle = style;
         Create(parent, id, label, path, message, wildcard,
                pos, size, style, validator, name);
     }
         Create(parent, id, label, path, message, wildcard,
                pos, size, style, validator, name);
     }
@@ -99,16 +100,8 @@ public:     // overrides
     // event handler for the click
     void OnDialogOK(wxCommandEvent &);
 
     // event handler for the click
     void OnDialogOK(wxCommandEvent &);
 
-    // GtkFileChooserButton does not support GTK_FILE_CHOOSER_ACTION_SAVE
-    // so we replace it with GTK_FILE_CHOOSER_ACTION_OPEN; since wxFD_SAVE
-    // is not supported, wxFD_OVERWRITE_PROMPT isn't too...
-    virtual long GetDialogStyle() const
-    {
-         return (wxGenericFileButton::GetDialogStyle() &
-                     ~(wxFD_SAVE | wxFD_OVERWRITE_PROMPT)) | wxFD_OPEN;
-    }
-
     virtual void SetPath(const wxString &str);
     virtual void SetPath(const wxString &str);
+    virtual void SetInitialDirectory(const wxString& dir);
 
     // see macro defined above
     FILEDIRBTN_OVERRIDES
 
     // see macro defined above
     FILEDIRBTN_OVERRIDES
@@ -116,6 +109,10 @@ public:     // overrides
 protected:
     wxDialog *m_dialog;
 
 protected:
     wxDialog *m_dialog;
 
+private:
+    // common part of all ctors
+    void Init() { m_dialog = NULL; }
+
     DECLARE_DYNAMIC_CLASS(wxFileButton)
 };
 
     DECLARE_DYNAMIC_CLASS(wxFileButton)
 };
 
@@ -141,6 +138,8 @@ public:
     {
         Init();
 
     {
         Init();
 
+        m_pickerStyle = style;
+
         Create(parent, id, label, path, message, wxEmptyString,
                 pos, size, style, validator, name);
     }
         Create(parent, id, label, path, message, wxEmptyString,
                 pos, size, style, validator, name);
     }
@@ -171,28 +170,27 @@ public:     // overrides
     }
 
     virtual void SetPath(const wxString &str);
     }
 
     virtual void SetPath(const wxString &str);
+    virtual void SetInitialDirectory(const wxString& dir);
 
     // see macro defined above
     FILEDIRBTN_OVERRIDES
 
 protected:
 
     // see macro defined above
     FILEDIRBTN_OVERRIDES
 
 protected:
-    // common part of all ctors
-    void Init()
-    {
-        m_dialog = NULL;
-        m_bIgnoreNextChange = false;
-    }
-
     wxDialog *m_dialog;
 
 public:    // used by the GTK callback only
 
     bool m_bIgnoreNextChange;
 
     wxDialog *m_dialog;
 
 public:    // used by the GTK callback only
 
     bool m_bIgnoreNextChange;
 
-    void UpdatePath(const char *gtkpath)
-        { m_path = wxString::FromAscii(gtkpath); }
+    void GTKUpdatePath(const char *gtkpath);
 
 private:
 
 private:
+    void Init()
+    {
+        m_dialog = NULL;
+        m_bIgnoreNextChange = false;
+    }
+
     DECLARE_DYNAMIC_CLASS(wxDirButton)
 };
 
     DECLARE_DYNAMIC_CLASS(wxDirButton)
 };