From df02852424b38b483c4c072eb1df6ac35825153c Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Mon, 15 Oct 2001 22:53:01 +0000 Subject: [PATCH] added GetStdIcon support to wxRenderer git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@12017 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/univ/renderer.h | 9 +++++++++ src/gtk/app.cpp | 17 +++++++++++++++-- src/gtk1/app.cpp | 17 +++++++++++++++-- src/mgl/app.cpp | 22 +++------------------- 4 files changed, 42 insertions(+), 23 deletions(-) diff --git a/include/wx/univ/renderer.h b/include/wx/univ/renderer.h index a22d6466f6..f1c705542e 100644 --- a/include/wx/univ/renderer.h +++ b/include/wx/univ/renderer.h @@ -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; diff --git a/src/gtk/app.cpp b/src/gtk/app.cpp index b27af26cf3..60780e3d70 100644 --- a/src/gtk/app.cpp +++ b/src/gtk/app.cpp @@ -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__ diff --git a/src/gtk1/app.cpp b/src/gtk1/app.cpp index b27af26cf3..60780e3d70 100644 --- a/src/gtk1/app.cpp +++ b/src/gtk1/app.cpp @@ -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__ diff --git a/src/mgl/app.cpp b/src/mgl/app.cpp index d9ff129be0..bb061200c3 100644 --- a/src/mgl/app.cpp +++ b/src/mgl/app.cpp @@ -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() -- 2.45.2