Moved wxStandardPathsCF into base library when using CarbonLib or Darwin.
Make wxStandardPathsBase::Get() return a wxStandardPathsBase reference. Implement it using wxAppTraits::GetStandardPaths() which is overridden by wxMac and wxCocoa GUI libraries to return a reference to a wxStandardPathsCF. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -49,6 +49,8 @@ struct WXDLLIMPEXP_BASE wxToolkitInfo
|
||||
// wxAppTraits: this class defines various configurable aspects of wxApp
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_BASE wxStandardPathsBase;
|
||||
|
||||
class WXDLLIMPEXP_BASE wxAppTraitsBase
|
||||
{
|
||||
public:
|
||||
@@ -75,6 +77,9 @@ public:
|
||||
// NB: returned pointer will be deleted by the caller
|
||||
virtual wxRendererNative *CreateRenderer() = 0;
|
||||
|
||||
// wxStandardPaths object is normally the same for wxBase and wxGUI
|
||||
// except in the case of wxMac and wxCocoa
|
||||
virtual wxStandardPathsBase& GetStandardPaths();
|
||||
|
||||
// functions abstracting differences between GUI and console modes
|
||||
// ------------------------------------------------------------------------
|
||||
|
@@ -24,10 +24,6 @@ public:
|
||||
wxStandardPathsCF();
|
||||
~wxStandardPathsCF();
|
||||
|
||||
// return the global standard paths object
|
||||
// Overrides wxStandardPathsBase version for GUI code.
|
||||
static wxStandardPathsCF& Get();
|
||||
|
||||
// wxMac specific: allow user to specify a different bundle
|
||||
wxStandardPathsCF(struct __CFBundle *bundle);
|
||||
void SetBundle(struct __CFBundle *bundle);
|
||||
@@ -43,13 +39,14 @@ protected:
|
||||
struct __CFBundle *m_bundle;
|
||||
};
|
||||
|
||||
// wxMac has its own base so it always uses this version.
|
||||
// Otherwise, we want to use this version only when compiling GUI code.
|
||||
// The CoreFoundation version is always available by its full name to all code.
|
||||
#if defined(__WXMAC__) || wxUSE_BASE == 0
|
||||
#define wxStandardPaths wxStandardPathsCF
|
||||
#else
|
||||
// If using UNIX (i.e. darwin) then use UNIX standard paths
|
||||
#if defined(__UNIX__)
|
||||
#include "wx/unix/stdpaths.h"
|
||||
#else
|
||||
// If compiling wxMac for CarbonLib then we are wxStandardPaths
|
||||
class WXDLLIMPEXP_BASE wxStandardPaths: public wxStandardPathsCF
|
||||
{
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif // _WX_MAC_STDPATHS_H_
|
||||
|
@@ -14,13 +14,6 @@
|
||||
|
||||
#include "wx/string.h"
|
||||
|
||||
#if defined(__WXMAC__)
|
||||
class WXDLLIMPEXP_BASE wxStandardPathsCF;
|
||||
#define wxStandardPaths wxStandardPathsCF
|
||||
#else
|
||||
class WXDLLIMPEXP_BASE wxStandardPaths;
|
||||
#endif
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxStandardPaths returns the standard locations in the file system
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -29,7 +22,7 @@ class WXDLLIMPEXP_BASE wxStandardPathsBase
|
||||
{
|
||||
public:
|
||||
// return the global standard paths object
|
||||
static wxStandardPaths& Get();
|
||||
static wxStandardPathsBase& Get();
|
||||
|
||||
|
||||
// return the directory with system config files:
|
||||
@@ -89,7 +82,8 @@ protected:
|
||||
|
||||
#if defined(__WXMSW__)
|
||||
#include "wx/msw/stdpaths.h"
|
||||
#elif defined(__WXMAC__) || defined(__WXCOCOA__)
|
||||
// We want CoreFoundation paths on both CarbonLib and Darwin (for all ports)
|
||||
#elif defined(__WXMAC__) || defined(__DARWIN__)
|
||||
#include "wx/mac/corefoundation/stdpaths.h"
|
||||
#elif defined(__OS2__)
|
||||
#include "wx/os2/stdpaths.h"
|
||||
|
@@ -37,6 +37,9 @@ public:
|
||||
virtual void DetachWriteFDOfEndProcessPipe(wxExecuteData& execData);
|
||||
virtual int WaitForChild(wxExecuteData& execData);
|
||||
|
||||
#if defined(__WXMAC__) || defined(__WXCOCOA__)
|
||||
virtual wxStandardPathsBase& GetStandardPaths();
|
||||
#endif
|
||||
virtual wxToolkitInfo& GetToolkitInfo();
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user