added wxArtProvider::GetMessageBoxIcon() to avoid duplicating the same code in generic message and log dialogs (and soon notification message too)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -148,6 +148,11 @@ public:
|
|||||||
const wxArtClient& client = wxART_OTHER,
|
const wxArtClient& client = wxART_OTHER,
|
||||||
const wxSize& size = wxDefaultSize);
|
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
|
// Query the providers for iconbundle with given ID and return it. Return
|
||||||
// wxNullIconBundle if no provider provides it.
|
// wxNullIconBundle if no provider provides it.
|
||||||
static wxIconBundle GetIconBundle(const wxArtID& id,
|
static wxIconBundle GetIconBundle(const wxArtID& id,
|
||||||
|
@@ -303,6 +303,36 @@ wxArtProvider::~wxArtProvider()
|
|||||||
return icon;
|
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__)
|
#if defined(__WXGTK20__) && !defined(__WXUNIVERSAL__)
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
extern GtkIconSize wxArtClientToIconSize(const wxArtClient& client);
|
extern GtkIconSize wxArtClientToIconSize(const wxArtClient& client);
|
||||||
|
@@ -793,37 +793,16 @@ wxLogDialog::wxLogDialog(wxWindow *parent,
|
|||||||
wxBoxSizer *sizerTop = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer *sizerTop = new wxBoxSizer(wxVERTICAL);
|
||||||
wxBoxSizer *sizerAll = new wxBoxSizer(isPda ? wxVERTICAL : wxHORIZONTAL);
|
wxBoxSizer *sizerAll = new wxBoxSizer(isPda ? wxVERTICAL : wxHORIZONTAL);
|
||||||
|
|
||||||
wxBitmap bitmap;
|
|
||||||
switch ( style & wxICON_MASK )
|
|
||||||
{
|
|
||||||
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"));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!isPda)
|
if (!isPda)
|
||||||
sizerAll->Add(new wxStaticBitmap(this, wxID_ANY, bitmap), 0,
|
{
|
||||||
wxALIGN_CENTRE_VERTICAL);
|
wxStaticBitmap *icon = new wxStaticBitmap
|
||||||
|
(
|
||||||
|
this,
|
||||||
|
wxID_ANY,
|
||||||
|
wxArtProvider::GetMessageBoxIcon(style)
|
||||||
|
);
|
||||||
|
sizerAll->Add(icon, 0, wxALIGN_CENTRE_VERTICAL);
|
||||||
|
}
|
||||||
|
|
||||||
// create the text sizer with a minimal size so that we are sure it won't be too small
|
// create the text sizer with a minimal size so that we are sure it won't be too small
|
||||||
wxString message = EllipsizeString(messages.Last());
|
wxString message = EllipsizeString(messages.Last());
|
||||||
|
@@ -83,30 +83,12 @@ void wxGenericMessageDialog::DoCreateMsgdialog()
|
|||||||
// 1) icon
|
// 1) icon
|
||||||
if (m_dialogStyle & wxICON_MASK)
|
if (m_dialogStyle & wxICON_MASK)
|
||||||
{
|
{
|
||||||
wxBitmap bitmap;
|
wxStaticBitmap *icon = new wxStaticBitmap
|
||||||
switch ( m_dialogStyle & wxICON_MASK )
|
(
|
||||||
{
|
this,
|
||||||
default:
|
wxID_ANY,
|
||||||
wxFAIL_MSG(_T("incorrect log style"));
|
wxArtProvider::GetMessageBoxIcon(m_dialogStyle)
|
||||||
// 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);
|
|
||||||
if (is_pda)
|
if (is_pda)
|
||||||
topsizer->Add( icon, 0, wxTOP|wxLEFT|wxRIGHT | wxALIGN_LEFT, 10 );
|
topsizer->Add( icon, 0, wxTOP|wxLEFT|wxRIGHT | wxALIGN_LEFT, 10 );
|
||||||
else
|
else
|
||||||
|
Reference in New Issue
Block a user