Initialize picker style in native GTK file/dir pickers.
This fixes the styles used in the native wxGTK version after changes in r63654: we must initialize base class m_pickerStyle now and the code didn't do this before resulting in various asserts and incorrect behaviour. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63690 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
293a13bad7
commit
459128ac88
@ -29,7 +29,7 @@ class WXDLLIMPEXP_CORE wxGenericFileDirButton : public wxButton,
|
||||
public wxFileDirPickerWidgetBase
|
||||
{
|
||||
public:
|
||||
wxGenericFileDirButton() { }
|
||||
wxGenericFileDirButton() { Init(); }
|
||||
wxGenericFileDirButton(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxString& label = wxFilePickerWidgetLabel,
|
||||
@ -42,12 +42,11 @@ public:
|
||||
const wxValidator& validator = wxDefaultValidator,
|
||||
const wxString& name = wxFilePickerWidgetNameStr)
|
||||
{
|
||||
Init();
|
||||
Create(parent, id, label, path, message, wildcard,
|
||||
pos, size, style, validator, name);
|
||||
}
|
||||
|
||||
virtual ~wxGenericFileDirButton() {}
|
||||
|
||||
virtual wxControl *AsControl() { return this; }
|
||||
|
||||
public: // overrideable
|
||||
@ -82,6 +81,10 @@ protected:
|
||||
// wxButton as some of our bits can conflict with wxButton styles and it
|
||||
// just doesn't make sense to use picker styles for wxButton anyhow
|
||||
long m_pickerStyle;
|
||||
|
||||
private:
|
||||
// common part of all ctors
|
||||
void Init() { m_pickerStyle = -1; }
|
||||
};
|
||||
|
||||
|
||||
@ -115,6 +118,12 @@ public: // overrideable
|
||||
|
||||
virtual long GetDialogStyle() const
|
||||
{
|
||||
// the derived class must initialize it if it doesn't use the
|
||||
// non-default wxGenericFileDirButton ctor
|
||||
wxASSERT_MSG( m_pickerStyle != -1,
|
||||
"forgot to initialize m_pickerStyle?" );
|
||||
|
||||
|
||||
long filedlgstyle = 0;
|
||||
|
||||
if ( m_pickerStyle & wxFLP_OPEN )
|
||||
|
@ -61,7 +61,7 @@ protected: \
|
||||
class WXDLLIMPEXP_CORE wxFileButton : public wxGenericFileButton
|
||||
{
|
||||
public:
|
||||
wxFileButton() { m_dialog = NULL; }
|
||||
wxFileButton() { Init(); }
|
||||
wxFileButton(wxWindow *parent,
|
||||
wxWindowID id,
|
||||
const wxString& label = wxFilePickerWidgetLabel,
|
||||
@ -74,7 +74,8 @@ public:
|
||||
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);
|
||||
}
|
||||
@ -109,6 +110,10 @@ protected:
|
||||
|
||||
wxDialog *m_dialog;
|
||||
|
||||
private:
|
||||
// common part of all ctors
|
||||
void Init() { m_dialog = NULL; }
|
||||
|
||||
DECLARE_DYNAMIC_CLASS(wxFileButton)
|
||||
};
|
||||
|
||||
@ -134,6 +139,8 @@ public:
|
||||
{
|
||||
Init();
|
||||
|
||||
m_pickerStyle = style;
|
||||
|
||||
Create(parent, id, label, path, message, wxEmptyString,
|
||||
pos, size, style, validator, name);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user