Get rid of wxFontMapper in wxBase library.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33069 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
David Elliott 2005-03-26 07:10:52 +00:00
parent 267e11c550
commit 73302af6dd
2 changed files with 16 additions and 11 deletions

View File

@ -28,7 +28,7 @@
class WXDLLIMPEXP_BASE wxConfigBase;
#endif // wxUSE_CONFIG
class WXDLLIMPEXP_BASE wxFontMapper;
class WXDLLIMPEXP_CORE wxFontMapper;
#if wxUSE_GUI
class WXDLLIMPEXP_CORE wxWindow;
@ -60,7 +60,14 @@ public:
virtual ~wxFontMapperBase();
// return instance of the wxFontMapper singleton
#if wxUSE_GUI
// GUI code needs to know it's a wxFontMapper because there
// are additional methods in the subclass.
static wxFontMapper *Get();
#else
// wxBase code only cares that it's a wxFontMapperBase
static wxFontMapperBase *Get();
#endif
// set the singleton to 'mapper' instance and return previous one
static wxFontMapper *Set(wxFontMapper *mapper);
@ -251,13 +258,7 @@ private:
DECLARE_NO_COPY_CLASS(wxFontMapper)
};
#else // !wxUSE_GUI
class WXDLLIMPEXP_BASE wxFontMapper : public wxFontMapperBase
{
};
#endif // wxUSE_GUI/!wxUSE_GUI
#endif // wxUSE_GUI
// ----------------------------------------------------------------------------
// global variables

View File

@ -199,7 +199,7 @@ class wxFontMapperModule : public wxModule
public:
wxFontMapperModule() : wxModule() { }
virtual bool OnInit() { return true; }
virtual void OnExit() { delete wxFontMapper::Set(NULL); }
virtual void OnExit() { delete wxFontMapperBase::Set(NULL); }
DECLARE_DYNAMIC_CLASS(wxFontMapperModule)
};
@ -234,7 +234,11 @@ wxFontMapperBase::~wxFontMapperBase()
}
/* static */
wxFontMapper *wxFontMapperBase::Get()
// Declared as returning wxFontMapper when wxUSE_GUI=1. Unfortunately, it's
// only implemented in wxBase library. Note that if the last resort
// is taken and GUI code tries to treat it as a real wxFontMapper
// then you'd be in trouble.
wxFontMapperBase *wxFontMapperBase::Get()
{
if ( !sm_instance )
{
@ -255,7 +259,7 @@ wxFontMapper *wxFontMapperBase::Get()
}
}
return sm_instance;
return (wxFontMapperBase*)sm_instance;
}
/* static */