+ wxGenericFileDialog(wxWindow *parent,
+ const wxString& message = wxFileSelectorPromptStr,
+ const wxString& defaultDir = wxEmptyString,
+ const wxString& defaultFile = wxEmptyString,
+ const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
+ long style = 0,
+ const wxPoint& pos = wxDefaultPosition,
+ bool bypassGenericImpl = false );
+
+ bool Create( wxWindow *parent,
+ const wxString& message = wxFileSelectorPromptStr,
+ const wxString& defaultDir = wxEmptyString,
+ const wxString& defaultFile = wxEmptyString,
+ const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
+ long style = 0,
+ const wxPoint& pos = wxDefaultPosition,
+ bool bypassGenericImpl = false );
+
+ virtual ~wxGenericFileDialog();
+
+ 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;
+
+ // implementation only from now on
+ // -------------------------------
+
+ virtual int ShowModal();
+ virtual bool Show( bool show = true );
+
+ void OnSelected( wxListEvent &event );
+ void OnActivated( wxListEvent &event );
+ void OnList( wxCommandEvent &event );
+ void OnReport( wxCommandEvent &event );
+ void OnUp( wxCommandEvent &event );
+ void OnHome( wxCommandEvent &event );
+ void OnListOk( wxCommandEvent &event );
+ void OnNew( wxCommandEvent &event );
+ void OnChoiceFilter( wxCommandEvent &event );
+ void OnTextEnter( wxCommandEvent &event );
+ void OnTextChange( wxCommandEvent &event );
+ void OnCheck( wxCommandEvent &event );
+
+ virtual void HandleAction( const wxString &fn );
+
+ virtual void UpdateControls();
+
+private:
+ // Don't use this implementation at all :-)
+ bool m_bypassGenericImpl;
+
+protected:
+ // use the filter with the given index
+ void DoSetFilterIndex(int filterindex);
+
+ wxString m_filterExtension;
+ wxChoice *m_choice;
+ wxTextCtrl *m_text;
+ wxFileCtrl *m_list;
+ wxCheckBox *m_check;
+ wxStaticText *m_static;
+ wxBitmapButton *m_upDirButton;
+ wxBitmapButton *m_newDirButton;
+
+private:
+ void Init();
+ DECLARE_DYNAMIC_CLASS(wxGenericFileDialog)
+ DECLARE_EVENT_TABLE()
+
+ // these variables are preserved between wxGenericFileDialog calls
+ static long ms_lastViewStyle; // list or report?
+ static bool ms_lastShowHidden; // did we show hidden files?
+};