The picker styles don't make sense for the button so we don't use them when
creating the button but we do need to somehow use the style the picker was
created with to create an appropriate dialog when it's clicked.
Fix the problem by simply storing the style in a member variable and using it
instead of wxWindow::m_windowStyle.
Closes #11635.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63654
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
protected:
wxString m_message, m_wildcard;
protected:
wxString m_message, m_wildcard;
+
+ // we just store the style passed to the ctor here instead of passing it to
+ // 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;
- if (this->HasFlag(wxFLP_OPEN))
+ if ( m_pickerStyle & wxFLP_OPEN )
filedlgstyle |= wxFD_OPEN;
filedlgstyle |= wxFD_OPEN;
- if (this->HasFlag(wxFLP_SAVE))
+ if ( m_pickerStyle & wxFLP_SAVE )
filedlgstyle |= wxFD_SAVE;
filedlgstyle |= wxFD_SAVE;
- if (this->HasFlag(wxFLP_OVERWRITE_PROMPT))
+ if ( m_pickerStyle & wxFLP_OVERWRITE_PROMPT )
filedlgstyle |= wxFD_OVERWRITE_PROMPT;
filedlgstyle |= wxFD_OVERWRITE_PROMPT;
- if (this->HasFlag(wxFLP_FILE_MUST_EXIST))
+ if ( m_pickerStyle & wxFLP_FILE_MUST_EXIST )
filedlgstyle |= wxFD_FILE_MUST_EXIST;
filedlgstyle |= wxFD_FILE_MUST_EXIST;
- if (this->HasFlag(wxFLP_CHANGE_DIR))
+ if ( m_pickerStyle & wxFLP_CHANGE_DIR )
filedlgstyle |= wxFD_CHANGE_DIR;
return filedlgstyle;
filedlgstyle |= wxFD_CHANGE_DIR;
return filedlgstyle;
{
long dirdlgstyle = wxDD_DEFAULT_STYLE;
{
long dirdlgstyle = wxDD_DEFAULT_STYLE;
- if (this->HasFlag(wxDIRP_DIR_MUST_EXIST))
+ if ( m_pickerStyle & wxDIRP_DIR_MUST_EXIST )
dirdlgstyle |= wxDD_DIR_MUST_EXIST;
dirdlgstyle |= wxDD_DIR_MUST_EXIST;
- if (this->HasFlag(wxDIRP_CHANGE_DIR))
+ if ( m_pickerStyle & wxDIRP_CHANGE_DIR )
dirdlgstyle |= wxDD_CHANGE_DIR;
return dirdlgstyle;
dirdlgstyle |= wxDD_CHANGE_DIR;
return dirdlgstyle;
const wxString& wildcard,
const wxPoint& pos,
const wxSize& size,
const wxString& wildcard,
const wxPoint& pos,
const wxSize& size,
const wxValidator& validator,
const wxString& name)
{
const wxValidator& validator,
const wxString& name)
{
+ m_pickerStyle = style;
+
// create this button
if ( !wxButton::Create(parent, id, label, pos, size, 0, validator, name) )
{
// create this button
if ( !wxButton::Create(parent, id, label, pos, size, 0, validator, name) )
{