added wxAppTraits::CreateConfig() (patch 1721149)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46189 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -16,15 +16,16 @@
|
|||||||
#include "wx/platinfo.h"
|
#include "wx/platinfo.h"
|
||||||
|
|
||||||
class WXDLLIMPEXP_BASE wxArrayString;
|
class WXDLLIMPEXP_BASE wxArrayString;
|
||||||
class WXDLLIMPEXP_BASE wxObject;
|
class WXDLLIMPEXP_BASE wxConfigBase;
|
||||||
class WXDLLEXPORT wxAppTraits;
|
|
||||||
class WXDLLIMPEXP_BASE wxEventLoopBase;
|
class WXDLLIMPEXP_BASE wxEventLoopBase;
|
||||||
#if wxUSE_FONTMAP
|
#if wxUSE_FONTMAP
|
||||||
class WXDLLEXPORT wxFontMapper;
|
class WXDLLEXPORT wxFontMapper;
|
||||||
#endif // wxUSE_FONTMAP
|
#endif // wxUSE_FONTMAP
|
||||||
class WXDLLIMPEXP_BASE wxLog;
|
class WXDLLIMPEXP_BASE wxLog;
|
||||||
class WXDLLIMPEXP_BASE wxMessageOutput;
|
class WXDLLIMPEXP_BASE wxMessageOutput;
|
||||||
|
class WXDLLIMPEXP_BASE wxObject;
|
||||||
class WXDLLEXPORT wxRendererNative;
|
class WXDLLEXPORT wxRendererNative;
|
||||||
|
class WXDLLIMPEXP_BASE wxStandardPathsBase;
|
||||||
class WXDLLIMPEXP_BASE wxString;
|
class WXDLLIMPEXP_BASE wxString;
|
||||||
class WXDLLIMPEXP_BASE wxTimer;
|
class WXDLLIMPEXP_BASE wxTimer;
|
||||||
class WXDLLIMPEXP_BASE wxTimerImpl;
|
class WXDLLIMPEXP_BASE wxTimerImpl;
|
||||||
@@ -36,8 +37,6 @@ class GSocketGUIFunctionsTable;
|
|||||||
// wxAppTraits: this class defines various configurable aspects of wxApp
|
// wxAppTraits: this class defines various configurable aspects of wxApp
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
class WXDLLIMPEXP_BASE wxStandardPathsBase;
|
|
||||||
|
|
||||||
class WXDLLIMPEXP_BASE wxAppTraitsBase
|
class WXDLLIMPEXP_BASE wxAppTraitsBase
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@@ -47,6 +46,13 @@ public:
|
|||||||
// hooks for working with the global objects, may be overridden by the user
|
// hooks for working with the global objects, may be overridden by the user
|
||||||
// ------------------------------------------------------------------------
|
// ------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#if wxUSE_CONFIG
|
||||||
|
// create the default configuration object (base class version is
|
||||||
|
// implemented in config.cpp and creates wxRegConfig for wxMSW and
|
||||||
|
// wxFileConfig for all the other platforms)
|
||||||
|
virtual wxConfigBase *CreateConfig();
|
||||||
|
#endif // wxUSE_CONFIG
|
||||||
|
|
||||||
#if wxUSE_LOG
|
#if wxUSE_LOG
|
||||||
// create the default log target
|
// create the default log target
|
||||||
virtual wxLog *CreateLogTarget() = 0;
|
virtual wxLog *CreateLogTarget() = 0;
|
||||||
|
@@ -37,6 +37,7 @@
|
|||||||
|
|
||||||
#if wxUSE_CONFIG && ((wxUSE_FILE && wxUSE_TEXTFILE) || wxUSE_CONFIG_NATIVE)
|
#if wxUSE_CONFIG && ((wxUSE_FILE && wxUSE_TEXTFILE) || wxUSE_CONFIG_NATIVE)
|
||||||
|
|
||||||
|
#include "wx/apptrait.h"
|
||||||
#include "wx/file.h"
|
#include "wx/file.h"
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@@ -54,6 +55,22 @@ bool wxConfigBase::ms_bAutoCreate = true;
|
|||||||
// implementation
|
// implementation
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// wxAppTraitsBase
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
wxConfigBase *wxAppTraitsBase::CreateConfig()
|
||||||
|
{
|
||||||
|
return new
|
||||||
|
#if defined(__WXMSW__) && wxUSE_CONFIG_NATIVE
|
||||||
|
wxRegConfig(wxTheApp->GetAppName(), wxTheApp->GetVendorName());
|
||||||
|
#elif defined(__WXPALMOS__) && wxUSE_CONFIG_NATIVE
|
||||||
|
wxPrefConfig(wxTheApp->GetAppName());
|
||||||
|
#else // either we're under Unix or wish to use files even under Windows
|
||||||
|
wxFileConfig(wxTheApp->GetAppName());
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// wxConfigBase
|
// wxConfigBase
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -87,14 +104,10 @@ wxConfigBase *wxConfigBase::Set(wxConfigBase *pConfig)
|
|||||||
wxConfigBase *wxConfigBase::Create()
|
wxConfigBase *wxConfigBase::Create()
|
||||||
{
|
{
|
||||||
if ( ms_bAutoCreate && ms_pConfig == NULL ) {
|
if ( ms_bAutoCreate && ms_pConfig == NULL ) {
|
||||||
ms_pConfig =
|
wxAppTraits * const traits = wxTheApp ? wxTheApp->GetTraits() : NULL;
|
||||||
#if defined(__WXMSW__) && wxUSE_CONFIG_NATIVE
|
wxCHECK_MSG( traits, NULL, _T("create wxApp before calling this") );
|
||||||
new wxRegConfig(wxTheApp->GetAppName(), wxTheApp->GetVendorName());
|
|
||||||
#elif defined(__WXPALMOS__) && wxUSE_CONFIG_NATIVE
|
ms_pConfig = traits->CreateConfig();
|
||||||
new wxPrefConfig(wxTheApp->GetAppName());
|
|
||||||
#else // either we're under Unix or wish to use files even under Windows
|
|
||||||
new wxFileConfig(wxTheApp->GetAppName());
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return ms_pConfig;
|
return ms_pConfig;
|
||||||
|
Reference in New Issue
Block a user