const wxArtClient& client = wxART_OTHER,
const wxSize& size = wxDefaultSize);
+ // Helper used by several generic classes: return the icon corresponding to
+ // the standard wxICON_INFORMATION/WARNING/ERROR/QUESTION flags (only one
+ // can be set)
+ static wxIcon GetMessageBoxIcon(int flags);
+
// Query the providers for iconbundle with given ID and return it. Return
// wxNullIconBundle if no provider provides it.
static wxIconBundle GetIconBundle(const wxArtID& id,
return icon;
}
+/* static */
+wxIcon wxArtProvider::GetMessageBoxIcon(int flags)
+{
+ wxIcon icon;
+ switch ( flags & wxICON_MASK )
+ {
+ default:
+ wxFAIL_MSG(_T("incorrect message box icon flags"));
+ // fall through
+
+ case wxICON_ERROR:
+ icon = wxArtProvider::GetIcon(wxART_ERROR, wxART_MESSAGE_BOX);
+ break;
+
+ case wxICON_INFORMATION:
+ icon = wxArtProvider::GetIcon(wxART_INFORMATION, wxART_MESSAGE_BOX);
+ break;
+
+ case wxICON_WARNING:
+ icon = wxArtProvider::GetIcon(wxART_WARNING, wxART_MESSAGE_BOX);
+ break;
+
+ case wxICON_QUESTION:
+ icon = wxArtProvider::GetIcon(wxART_QUESTION, wxART_MESSAGE_BOX);
+ break;
+ }
+
+ return icon;
+}
+
#if defined(__WXGTK20__) && !defined(__WXUNIVERSAL__)
#include <gtk/gtk.h>
extern GtkIconSize wxArtClientToIconSize(const wxArtClient& client);
wxBoxSizer *sizerTop = new wxBoxSizer(wxVERTICAL);
wxBoxSizer *sizerAll = new wxBoxSizer(isPda ? wxVERTICAL : wxHORIZONTAL);
- wxBitmap bitmap;
- switch ( style & wxICON_MASK )
+ if (!isPda)
{
- case wxICON_ERROR:
- bitmap = wxArtProvider::GetBitmap(wxART_ERROR, wxART_MESSAGE_BOX);
-#ifdef __WXPM__
- bitmap.SetId(wxICON_SMALL_ERROR);
-#endif
- break;
-
- case wxICON_INFORMATION:
- bitmap = wxArtProvider::GetBitmap(wxART_INFORMATION, wxART_MESSAGE_BOX);
-#ifdef __WXPM__
- bitmap.SetId(wxICON_SMALL_INFO);
-#endif
- break;
-
- case wxICON_WARNING:
- bitmap = wxArtProvider::GetBitmap(wxART_WARNING, wxART_MESSAGE_BOX);
-#ifdef __WXPM__
- bitmap.SetId(wxICON_SMALL_WARNING);
-#endif
- break;
-
- default:
- wxFAIL_MSG(_T("incorrect log style"));
+ wxStaticBitmap *icon = new wxStaticBitmap
+ (
+ this,
+ wxID_ANY,
+ wxArtProvider::GetMessageBoxIcon(style)
+ );
+ sizerAll->Add(icon, 0, wxALIGN_CENTRE_VERTICAL);
}
- if (!isPda)
- sizerAll->Add(new wxStaticBitmap(this, wxID_ANY, bitmap), 0,
- wxALIGN_CENTRE_VERTICAL);
-
// create the text sizer with a minimal size so that we are sure it won't be too small
wxString message = EllipsizeString(messages.Last());
wxSizer *szText = CreateTextSizer(message);
// 1) icon
if (m_dialogStyle & wxICON_MASK)
{
- wxBitmap bitmap;
- switch ( m_dialogStyle & wxICON_MASK )
- {
- default:
- wxFAIL_MSG(_T("incorrect log style"));
- // fall through
-
- case wxICON_ERROR:
- bitmap = wxArtProvider::GetIcon(wxART_ERROR, wxART_MESSAGE_BOX);
- break;
-
- case wxICON_INFORMATION:
- bitmap = wxArtProvider::GetIcon(wxART_INFORMATION, wxART_MESSAGE_BOX);
- break;
-
- case wxICON_WARNING:
- bitmap = wxArtProvider::GetIcon(wxART_WARNING, wxART_MESSAGE_BOX);
- break;
-
- case wxICON_QUESTION:
- bitmap = wxArtProvider::GetIcon(wxART_QUESTION, wxART_MESSAGE_BOX);
- break;
- }
- wxStaticBitmap *icon = new wxStaticBitmap(this, wxID_ANY, bitmap);
+ wxStaticBitmap *icon = new wxStaticBitmap
+ (
+ this,
+ wxID_ANY,
+ wxArtProvider::GetMessageBoxIcon(m_dialogStyle)
+ );
if (is_pda)
topsizer->Add( icon, 0, wxTOP|wxLEFT|wxRIGHT | wxALIGN_LEFT, 10 );
else