added GetStdIcon support to wxRenderer

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12017 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík 2001-10-15 22:53:01 +00:00
parent 6311b1e88c
commit df02852424
4 changed files with 42 additions and 23 deletions

View File

@ -42,6 +42,7 @@ class WXDLLEXPORT wxGauge;
#include "wx/string.h"
#include "wx/gdicmn.h"
#include "wx/icon.h"
#include "wx/scrolbar.h" // for wxScrollBar::Element
// helper class used by wxMenu-related functions
@ -419,6 +420,12 @@ public:
const wxPoint& pt,
int flags = 0) const = 0;
// get the standard icon used by wxWin dialogs - this allows the user
// to customize the standard dialogs. The 'which' parameter is one of
// wxICON_XXX values
virtual wxIcon GetStdIcon(int which) const = 0;
// virtual dtor for any base class
virtual ~wxRenderer();
@ -760,6 +767,8 @@ public:
const wxPoint& pt,
int flags) const
{ return m_renderer->HitTestFrame(rect, pt, flags); }
virtual wxIcon GetStdIcon(int which) const
{ return m_renderer->GetStdIcon(which); }
protected:
wxRenderer *m_renderer;

View File

@ -28,6 +28,11 @@
#include "wx/module.h"
#include "wx/image.h"
#ifdef __WXUNIVERSAL__
#include "wx/univ/theme.h"
#include "wx/univ/renderer.h"
#endif
#if wxUSE_THREADS
#include "wx/thread.h"
#endif
@ -859,13 +864,14 @@ int wxEntry( int argc, char *argv[] )
return retValue;
}
#ifndef __WXUNIVERSAL__
#include "wx/gtk/info.xpm"
#include "wx/gtk/error.xpm"
#include "wx/gtk/question.xpm"
#include "wx/gtk/warning.xpm"
wxIcon
wxApp::GetStdIcon(int which) const
wxIcon wxApp::GetStdIcon(int which) const
{
switch(which)
{
@ -886,6 +892,13 @@ wxApp::GetStdIcon(int which) const
return wxIcon(error_xpm);
}
}
#else
wxIcon wxApp::GetStdIcon(int which) const
{
return wxTheme::Get()->GetRenderer()->GetStdIcon(which);
}
#endif // !__WXUNIVERSAL__
#ifdef __WXDEBUG__

View File

@ -28,6 +28,11 @@
#include "wx/module.h"
#include "wx/image.h"
#ifdef __WXUNIVERSAL__
#include "wx/univ/theme.h"
#include "wx/univ/renderer.h"
#endif
#if wxUSE_THREADS
#include "wx/thread.h"
#endif
@ -859,13 +864,14 @@ int wxEntry( int argc, char *argv[] )
return retValue;
}
#ifndef __WXUNIVERSAL__
#include "wx/gtk/info.xpm"
#include "wx/gtk/error.xpm"
#include "wx/gtk/question.xpm"
#include "wx/gtk/warning.xpm"
wxIcon
wxApp::GetStdIcon(int which) const
wxIcon wxApp::GetStdIcon(int which) const
{
switch(which)
{
@ -886,6 +892,13 @@ wxApp::GetStdIcon(int which) const
return wxIcon(error_xpm);
}
}
#else
wxIcon wxApp::GetStdIcon(int which) const
{
return wxTheme::Get()->GetRenderer()->GetStdIcon(which);
}
#endif // !__WXUNIVERSAL__
#ifdef __WXDEBUG__

View File

@ -31,6 +31,8 @@
#include "wx/app.h"
#include "wx/fontutil.h"
#include "wx/univ/theme.h"
#include "wx/univ/renderer.h"
#include "wx/mgl/private.h"
#define MGL_DEBUG
@ -324,27 +326,9 @@ bool wxApp::Initialize()
return TRUE;
}
#include "info.xpm"
#include "error.xpm"
#include "question.xpm"
#include "warning.xpm"
wxIcon wxApp::GetStdIcon(int which) const
{
switch(which)
{
case wxICON_INFORMATION:
return wxIcon(info_xpm);
case wxICON_QUESTION:
return wxIcon(question_xpm);
case wxICON_EXCLAMATION:
return wxIcon(warning_xpm);
default:
wxFAIL_MSG(wxT("requested non existent standard icon"));
// still fall through
case wxICON_HAND:
return wxIcon(error_xpm);
}
return wxTheme::Get()->GetRenderer()->GetStdIcon(which);
}
void wxApp::CleanUp()