Moved the implemtation of the generic and the

native GTK 2.4 file dialogs into one place
   by making wxFileDialog derive from the
   generic variant and by then choosing which
   implementation to use. Later, we'll add
   run-time checks.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30868 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
2004-12-05 20:30:18 +00:00
parent 822cf31c27
commit 4e1901b70e
7 changed files with 321 additions and 119 deletions

View File

@@ -34,7 +34,7 @@ class WXDLLEXPORT wxListItem;
class WXDLLEXPORT wxStaticText;
class WXDLLEXPORT wxTextCtrl;
#if defined(__WXUNIVERSAL__)||defined(__WXGTK__)||defined(__WXX11__)||defined(__WXMGL__)||defined(__WXCOCOA__)
#if defined(__WXUNIVERSAL__)||defined(__WXX11__)||defined(__WXMGL__)||defined(__WXCOCOA__)
#define USE_GENERIC_FILEDIALOG
#endif
@@ -53,7 +53,15 @@ public:
const wxString& defaultFile = wxEmptyString,
const wxString& wildCard = wxFileSelectorDefaultWildcardStr,
long style = 0,
const wxPoint& pos = wxDefaultPosition);
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 );
virtual ~wxGenericFileDialog();
virtual void SetMessage(const wxString& message) { SetTitle(message); }
@@ -87,6 +95,10 @@ public:
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
@@ -114,8 +126,6 @@ private:
class WXDLLEXPORT wxFileDialog: public wxGenericFileDialog
{
DECLARE_DYNAMIC_CLASS(wxFileDialog)
public:
wxFileDialog() {}
@@ -129,6 +139,9 @@ public:
:wxGenericFileDialog(parent, message, defaultDir, defaultFile, wildCard, style, pos)
{
}
private:
DECLARE_DYNAMIC_CLASS(wxFileDialog)
};
#endif // USE_GENERIC_FILEDIALOG