added wxTheme::GetArtProvider to wxUniv
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14755 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
c2edb18a7d
commit
536b70ac68
@ -438,12 +438,6 @@ 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();
|
||||
|
||||
@ -799,8 +793,6 @@ 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;
|
||||
|
@ -25,6 +25,7 @@
|
||||
class WXDLLEXPORT wxRenderer;
|
||||
class WXDLLEXPORT wxColourScheme;
|
||||
class WXDLLEXPORT wxInputHandler;
|
||||
class WXDLLEXPORT wxArtProvider;
|
||||
struct WXDLLEXPORT wxThemeInfo;
|
||||
|
||||
class WXDLLEXPORT wxTheme
|
||||
@ -51,6 +52,9 @@ public:
|
||||
// get the renderer implementing all the control-drawing operations in
|
||||
// this theme
|
||||
virtual wxRenderer *GetRenderer() = 0;
|
||||
|
||||
// get the art provider to be used together with this theme
|
||||
virtual wxArtProvider *GetArtProvider() = 0;
|
||||
|
||||
// get the input handler of the given type
|
||||
virtual wxInputHandler *GetInputHandler(const wxString& handlerType) = 0;
|
||||
|
@ -42,6 +42,7 @@
|
||||
#include "wx/confbase.h"
|
||||
#include "wx/tokenzr.h"
|
||||
#include "wx/utils.h"
|
||||
#include "wx/artprov.h"
|
||||
|
||||
#if !defined(__WXMSW__) || defined(__WXMICROWIN__)
|
||||
#include <signal.h> // for SIGTRAP used by wxTrap()
|
||||
@ -107,6 +108,9 @@ bool wxAppBase::OnInitGui()
|
||||
#ifdef __WXUNIVERSAL__
|
||||
if ( !wxTheme::Get() && !wxTheme::CreateDefault() )
|
||||
return FALSE;
|
||||
wxArtProvider *art = wxTheme::Get()->GetArtProvider();
|
||||
if ( art )
|
||||
wxArtProvider::PushProvider(art);
|
||||
#endif // __WXUNIVERSAL__
|
||||
|
||||
return TRUE;
|
||||
|
@ -48,12 +48,13 @@
|
||||
|
||||
#include "wx/notebook.h"
|
||||
#include "wx/spinbutt.h"
|
||||
#include "wx/toplevel.h"
|
||||
#include "wx/artprov.h"
|
||||
|
||||
#include "wx/univ/renderer.h"
|
||||
#include "wx/univ/inphand.h"
|
||||
#include "wx/univ/colschem.h"
|
||||
#include "wx/univ/theme.h"
|
||||
#include "wx/toplevel.h"
|
||||
|
||||
class WXDLLEXPORT wxGTKMenuGeometryInfo;
|
||||
|
||||
@ -256,8 +257,6 @@ public:
|
||||
virtual wxSize GetFrameIconSize() const;
|
||||
virtual int HitTestFrame(const wxRect& rect, const wxPoint& pt, int flags) const;
|
||||
|
||||
virtual wxIcon GetStdIcon(int which) const;
|
||||
|
||||
virtual void GetComboBitmaps(wxBitmap *bmpNormal,
|
||||
wxBitmap *bmpFocus,
|
||||
wxBitmap *bmpPressed,
|
||||
@ -566,6 +565,18 @@ public:
|
||||
virtual wxColour GetBackground(wxWindow *win) const;
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxGTKArtProvider
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class wxGTKArtProvider : public wxArtProvider
|
||||
{
|
||||
protected:
|
||||
virtual wxBitmap CreateBitmap(const wxArtID& id,
|
||||
const wxArtClient& client,
|
||||
const wxSize& size);
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxGTKTheme
|
||||
// ----------------------------------------------------------------------------
|
||||
@ -579,6 +590,7 @@ public:
|
||||
virtual ~wxGTKTheme();
|
||||
|
||||
virtual wxRenderer *GetRenderer();
|
||||
virtual wxArtProvider *GetArtProvider();
|
||||
virtual wxInputHandler *GetInputHandler(const wxString& control);
|
||||
virtual wxColourScheme *GetColourScheme();
|
||||
|
||||
@ -587,6 +599,8 @@ private:
|
||||
wxInputHandler *GetDefaultInputHandler();
|
||||
|
||||
wxGTKRenderer *m_renderer;
|
||||
|
||||
wxGTKArtProvider *m_artProvider;
|
||||
|
||||
// the names of the already created handlers and the handlers themselves
|
||||
// (these arrays are synchronized)
|
||||
@ -641,6 +655,16 @@ wxRenderer *wxGTKTheme::GetRenderer()
|
||||
return m_renderer;
|
||||
}
|
||||
|
||||
wxArtProvider *wxGTKTheme::GetArtProvider()
|
||||
{
|
||||
if ( !m_artProvider )
|
||||
{
|
||||
m_artProvider = new wxGTKArtProvider;
|
||||
}
|
||||
|
||||
return m_artProvider;
|
||||
}
|
||||
|
||||
wxColourScheme *wxGTKTheme::GetColourScheme()
|
||||
{
|
||||
if ( !m_scheme )
|
||||
@ -4384,27 +4408,19 @@ static char *question_xpm[] = {
|
||||
"$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$.$."
|
||||
};
|
||||
|
||||
|
||||
wxIcon wxGTKRenderer::GetStdIcon(int which) const
|
||||
wxBitmap wxGTKArtProvider::CreateBitmap(const wxArtID& id,
|
||||
const wxArtClient& WXUNUSED(client),
|
||||
const wxSize& WXUNUSED(size))
|
||||
{
|
||||
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);
|
||||
}
|
||||
if ( id == wxART_INFORMATION )
|
||||
return wxBitmap(info_xpm);
|
||||
if ( id == wxART_ERROR )
|
||||
return wxBitmap(error_xpm);
|
||||
if ( id == wxART_WARNING )
|
||||
return wxBitmap(warning_xpm);
|
||||
if ( id == wxART_QUESTION )
|
||||
return wxBitmap(question_xpm);
|
||||
return wxNullBitmap;
|
||||
}
|
||||
|
||||
|
||||
|
@ -50,9 +50,10 @@
|
||||
#include "wx/spinbutt.h"
|
||||
#include "wx/settings.h"
|
||||
#include "wx/menu.h"
|
||||
#include "wx/artprov.h"
|
||||
#include "wx/toplevel.h"
|
||||
|
||||
#include "wx/univ/scrtimer.h"
|
||||
#include "wx/toplevel.h"
|
||||
#include "wx/univ/renderer.h"
|
||||
#include "wx/univ/inphand.h"
|
||||
#include "wx/univ/colschem.h"
|
||||
@ -321,8 +322,6 @@ public:
|
||||
virtual wxSize GetFrameIconSize() const;
|
||||
virtual int HitTestFrame(const wxRect& rect, const wxPoint& pt, int flags) const;
|
||||
|
||||
virtual wxIcon GetStdIcon(int which) const;
|
||||
|
||||
virtual void GetComboBitmaps(wxBitmap *bmpNormal,
|
||||
wxBitmap *bmpFocus,
|
||||
wxBitmap *bmpPressed,
|
||||
@ -628,6 +627,18 @@ public:
|
||||
virtual wxColour GetBackground(wxWindow *win) const;
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxWin32ArtProvider
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class wxWin32ArtProvider : public wxArtProvider
|
||||
{
|
||||
protected:
|
||||
virtual wxBitmap CreateBitmap(const wxArtID& id,
|
||||
const wxArtClient& client,
|
||||
const wxSize& size);
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxWin32Theme
|
||||
// ----------------------------------------------------------------------------
|
||||
@ -641,6 +652,7 @@ public:
|
||||
virtual ~wxWin32Theme();
|
||||
|
||||
virtual wxRenderer *GetRenderer();
|
||||
virtual wxArtProvider *GetArtProvider();
|
||||
virtual wxInputHandler *GetInputHandler(const wxString& control);
|
||||
virtual wxColourScheme *GetColourScheme();
|
||||
|
||||
@ -649,6 +661,8 @@ private:
|
||||
wxInputHandler *GetDefaultInputHandler();
|
||||
|
||||
wxWin32Renderer *m_renderer;
|
||||
|
||||
wxWin32ArtProvider *m_artProvider;
|
||||
|
||||
// the names of the already created handlers and the handlers themselves
|
||||
// (these arrays are synchronized)
|
||||
@ -1187,6 +1201,16 @@ wxRenderer *wxWin32Theme::GetRenderer()
|
||||
return m_renderer;
|
||||
}
|
||||
|
||||
wxArtProvider *wxWin32Theme::GetArtProvider()
|
||||
{
|
||||
if ( !m_artProvider )
|
||||
{
|
||||
m_artProvider = new wxWin32ArtProvider;
|
||||
}
|
||||
|
||||
return m_artProvider;
|
||||
}
|
||||
|
||||
wxInputHandler *wxWin32Theme::GetDefaultInputHandler()
|
||||
{
|
||||
if ( !m_handlerDefault )
|
||||
@ -3857,26 +3881,19 @@ static char *warning_xpm[]={
|
||||
"....ddddddddddddddddddddddddddd.",
|
||||
".....ddddddddddddddddddddddddd.."};
|
||||
|
||||
wxIcon wxWin32Renderer::GetStdIcon(int which) const
|
||||
wxBitmap wxWin32ArtProvider::CreateBitmap(const wxArtID& id,
|
||||
const wxArtClient& WXUNUSED(client),
|
||||
const wxSize& WXUNUSED(size))
|
||||
{
|
||||
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);
|
||||
}
|
||||
if ( id == wxART_INFORMATION )
|
||||
return wxBitmap(info_xpm);
|
||||
if ( id == wxART_ERROR )
|
||||
return wxBitmap(error_xpm);
|
||||
if ( id == wxART_WARNING )
|
||||
return wxBitmap(warning_xpm);
|
||||
if ( id == wxART_QUESTION )
|
||||
return wxBitmap(question_xpm);
|
||||
return wxNullBitmap;
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user