- Added wxWrapSizer (Arne Steinarson)
- Added wxSpinCtrlDouble (John Labenski)
- Support custom labels in wxMessageDialog (Gareth Simpson for wxMac version).
+- Also added wxCANCEL_DEFAULT to wxMessageDialog.
- Allow copying text in the log dialogs.
- Added multisample (anti-aliasing) support to wxGLCanvas (Olivier Playez).
- Initialize wx{Client,Paint,Window}DC with fonts/colours of its window.
wxASSERT_MSG( ((style & wxYES_NO) == wxYES_NO) || !(style & wxYES_NO),
"wxYES and wxNO may only be used together" );
+ wxASSERT_MSG( !(style & wxYES) || !(style & wxOK),
+ "wxOK and wxYES/wxNO can't be used together" );
+
+ wxASSERT_MSG( (style & wxYES) || (style & wxOK),
+ "one of wxOK and wxYES/wxNO must be used" );
+
wxASSERT_MSG( (style & wxID_OK) != wxID_OK,
"wxMessageBox: Did you mean wxOK (and not wxID_OK)?" );
+ wxASSERT_MSG( !(style & wxNO_DEFAULT) || (style & wxNO),
+ "wxNO_DEFAULT is invalid without wxNO" );
+
+ wxASSERT_MSG( !(style & wxCANCEL_DEFAULT) || (style & wxCANCEL),
+ "wxCANCEL_DEFAULT is invalid without wxCANCEL" );
+
+ wxASSERT_MSG( !(style & wxCANCEL_DEFAULT) || !(style & wxNO_DEFAULT),
+ "only one default button can be specified" );
+
m_dialogStyle = style;
}
@c wxCANCEL.
@style{wxNO_DEFAULT}
Makes the "No" button default, can only be used with @c wxYES_NO.
+ @style{wxCANCEL_DEFAULT}
+ Makes the "Cancel" button default, can only be used with @c wxCANCEL
@style{wxYES_DEFAULT}
Makes the "Yes" button default, this is the default behaviour and
this flag exists solely for symmetry with @c wxNO_DEFAULT.
+ @style{wxOK_DEFAULT}
+ Makes the "OK" button default, this is the default behaviour and
+ this flag exists solely for symmetry with @c wxCANCEL_DEFAULT.
@style{wxICON_EXCLAMATION}
Displays an exclamation mark symbol.
@style{wxICON_ERROR}
implemented only under MSW).
@endStyleTable
+ Notice that not all styles are compatible: only one of @c wxOK and @c
+ wxYES_NO may be specified (and one of them must be specified) and at
+ most one default button style can be used and it is only valid if the
+ corresponding button is shown in the message box.
+
@param parent
Parent window.
@param message
*/
wxMessageDialog(wxWindow* parent, const wxString& message,
const wxString& caption = "Message box",
- long style = wxOK | wxCANCEL,
+ long style = wxOK | wxCENTRE,
const wxPoint& pos = wxDefaultPosition);
/**
HWND hWnd = m_parent ? GetHwndOf(m_parent) : NULL;
// translate wx style in MSW
- unsigned int msStyle = MB_OK;
+ unsigned int msStyle;
const long wxStyle = GetMessageDialogStyle();
- if (wxStyle & wxYES_NO)
+ if ( wxStyle & wxYES_NO )
{
#if !(defined(__SMARTPHONE__) && defined(__WXWINCE__))
if (wxStyle & wxCANCEL)
#endif // !(__SMARTPHONE__ && __WXWINCE__)
msStyle = MB_YESNO;
- if (wxStyle & wxNO_DEFAULT)
+ if ( wxStyle & wxNO_DEFAULT )
msStyle |= MB_DEFBUTTON2;
+ else if ( wxStyle & wxCANCEL_DEFAULT )
+ msStyle |= MB_DEFBUTTON3;
}
-
- if (wxStyle & wxOK)
+ else // without Yes/No we're going to have an OK button
{
- if (wxStyle & wxCANCEL)
+ if ( wxStyle & wxCANCEL )
+ {
msStyle = MB_OKCANCEL;
- else
+
+ if ( wxStyle & wxCANCEL_DEFAULT )
+ msStyle |= MB_DEFBUTTON2;
+ }
+ else // just "OK"
+ {
msStyle = MB_OK;
+ }
}
+
if (wxStyle & wxICON_EXCLAMATION)
msStyle |= MB_ICONEXCLAMATION;
else if (wxStyle & wxICON_HAND)