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/string.h"
#include "wx/gdicmn.h" #include "wx/gdicmn.h"
#include "wx/icon.h"
#include "wx/scrolbar.h" // for wxScrollBar::Element #include "wx/scrolbar.h" // for wxScrollBar::Element
// helper class used by wxMenu-related functions // helper class used by wxMenu-related functions
@@ -419,6 +420,12 @@ public:
const wxPoint& pt, const wxPoint& pt,
int flags = 0) const = 0; 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 dtor for any base class
virtual ~wxRenderer(); virtual ~wxRenderer();
@@ -760,6 +767,8 @@ public:
const wxPoint& pt, const wxPoint& pt,
int flags) const int flags) const
{ return m_renderer->HitTestFrame(rect, pt, flags); } { return m_renderer->HitTestFrame(rect, pt, flags); }
virtual wxIcon GetStdIcon(int which) const
{ return m_renderer->GetStdIcon(which); }
protected: protected:
wxRenderer *m_renderer; wxRenderer *m_renderer;

View File

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

View File

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

View File

@@ -31,6 +31,8 @@
#include "wx/app.h" #include "wx/app.h"
#include "wx/fontutil.h" #include "wx/fontutil.h"
#include "wx/univ/theme.h"
#include "wx/univ/renderer.h"
#include "wx/mgl/private.h" #include "wx/mgl/private.h"
#define MGL_DEBUG #define MGL_DEBUG
@@ -324,27 +326,9 @@ bool wxApp::Initialize()
return TRUE; return TRUE;
} }
#include "info.xpm"
#include "error.xpm"
#include "question.xpm"
#include "warning.xpm"
wxIcon wxApp::GetStdIcon(int which) const wxIcon wxApp::GetStdIcon(int which) const
{ {
switch(which) return wxTheme::Get()->GetRenderer()->GetStdIcon(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);
}
} }
void wxApp::CleanUp() void wxApp::CleanUp()