switched to using a real class instead of a namespace because of Mac base/GUI problems
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30004 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		@@ -12,33 +12,25 @@
 | 
				
			|||||||
#ifndef _WX_STDPATHS_H_
 | 
					#ifndef _WX_STDPATHS_H_
 | 
				
			||||||
#define _WX_STDPATHS_H_
 | 
					#define _WX_STDPATHS_H_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "wx/string.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class WXDLLIMPEXP_BASE wxStandardPaths;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// ----------------------------------------------------------------------------
 | 
					// ----------------------------------------------------------------------------
 | 
				
			||||||
// wxStandardPaths returns the standard locations in the file system
 | 
					// wxStandardPaths returns the standard locations in the file system
 | 
				
			||||||
// ----------------------------------------------------------------------------
 | 
					// ----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class WXDLLIMPEXP_BASE wxStandardPaths
 | 
					class WXDLLIMPEXP_BASE wxStandardPathsBase
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
#ifdef __UNIX_LIKE__
 | 
					    // return the global standard paths object
 | 
				
			||||||
    // set the program installation directory which is /usr/local by default
 | 
					    static wxStandardPaths& Get();
 | 
				
			||||||
    //
 | 
					 | 
				
			||||||
    // under some systems (currently only Linux) the program directory can be
 | 
					 | 
				
			||||||
    // determined automatically but for portable programs you should always set
 | 
					 | 
				
			||||||
    // it explicitely
 | 
					 | 
				
			||||||
    static void SetInstallPrefix(const wxString& prefix);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    // get the program installation prefix
 | 
					 | 
				
			||||||
    //
 | 
					 | 
				
			||||||
    // if the prefix had been previously by SetInstallPrefix, returns that
 | 
					 | 
				
			||||||
    // value, otherwise tries to determine it automatically (Linux only right
 | 
					 | 
				
			||||||
    // now) and returns /usr/local if it failed
 | 
					 | 
				
			||||||
    static wxString GetInstallPrefix();
 | 
					 | 
				
			||||||
#endif // __UNIX_LIKE__
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // return the directory with system config files:
 | 
					    // return the directory with system config files:
 | 
				
			||||||
    // /etc under Unix, c:\Windows under Windows, /Library/Preferences for Mac
 | 
					    // /etc under Unix, c:\Documents and Settings\All Users\Application Data
 | 
				
			||||||
    static wxString GetConfigDir();
 | 
					    // under Windows, /Library/Preferences for Mac
 | 
				
			||||||
 | 
					    virtual wxString GetConfigDir() const = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // return the directory for the user config files:
 | 
					    // return the directory for the user config files:
 | 
				
			||||||
    // $HOME under Unix, c:\Documents and Settings\username under Windows,
 | 
					    // $HOME under Unix, c:\Documents and Settings\username under Windows,
 | 
				
			||||||
@@ -46,40 +38,52 @@ public:
 | 
				
			|||||||
    //
 | 
					    //
 | 
				
			||||||
    // only use this if you have a single file to put there, otherwise
 | 
					    // only use this if you have a single file to put there, otherwise
 | 
				
			||||||
    // GetUserDataDir() is more appropriate
 | 
					    // GetUserDataDir() is more appropriate
 | 
				
			||||||
    static wxString GetUserConfigDir();
 | 
					    virtual wxString GetUserConfigDir() const = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // return the location of the applications global, i.e. not user-specific,
 | 
					    // return the location of the applications global, i.e. not user-specific,
 | 
				
			||||||
    // data files
 | 
					    // data files
 | 
				
			||||||
    //
 | 
					    //
 | 
				
			||||||
    // prefix/share/appname under Unix, c:\Program Files\appname under Windows,
 | 
					    // prefix/share/appname under Unix, c:\Program Files\appname under Windows,
 | 
				
			||||||
    // appname.app/Contents/SharedSupport app bundle directory under Mac
 | 
					    // appname.app/Contents/SharedSupport app bundle directory under Mac
 | 
				
			||||||
    static wxString GetDataDir();
 | 
					    virtual wxString GetDataDir() const = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // return the location for application data files which are host-specific
 | 
					    // return the location for application data files which are host-specific
 | 
				
			||||||
    //
 | 
					    //
 | 
				
			||||||
    // same as GetDataDir() except under Unix where it is /etc/appname
 | 
					    // same as GetDataDir() except under Unix where it is /etc/appname
 | 
				
			||||||
    static wxString GetLocalDataDir();
 | 
					    virtual wxString GetLocalDataDir() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // return the directory for the user-dependent application data files
 | 
					    // return the directory for the user-dependent application data files
 | 
				
			||||||
    //
 | 
					    //
 | 
				
			||||||
    // $HOME/.appname under Unix,
 | 
					    // $HOME/.appname under Unix,
 | 
				
			||||||
    // c:\Documents and Settings\username\Application Data\appname under Windows
 | 
					    // c:\Documents and Settings\username\Application Data\appname under Windows
 | 
				
			||||||
    // and ~/Library/Application Support/appname under Mac
 | 
					    // and ~/Library/Application Support/appname under Mac
 | 
				
			||||||
    static wxString GetUserDataDir();
 | 
					    virtual wxString GetUserDataDir() const = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // return the directory for user data files which shouldn't be shared with
 | 
					    // return the directory for user data files which shouldn't be shared with
 | 
				
			||||||
    // the other machines
 | 
					    // the other machines
 | 
				
			||||||
    //
 | 
					    //
 | 
				
			||||||
    // same as GetUserDataDir() for all platforms except Windows where it is
 | 
					    // same as GetUserDataDir() for all platforms except Windows where it is
 | 
				
			||||||
    // the "Local Settings\Application Data\appname" directory
 | 
					    // the "Local Settings\Application Data\appname" directory
 | 
				
			||||||
    static wxString GetUserLocalDataDir();
 | 
					    virtual wxString GetUserLocalDataDir() const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // return the directory where the loadable modules (plugins) live
 | 
					    // return the directory where the loadable modules (plugins) live
 | 
				
			||||||
    //
 | 
					    //
 | 
				
			||||||
    // prefix/lib/appname under Unix, program directory under Windows and
 | 
					    // prefix/lib/appname under Unix, program directory under Windows and
 | 
				
			||||||
    // Contents/Plugins app bundle subdirectory under Mac
 | 
					    // Contents/Plugins app bundle subdirectory under Mac
 | 
				
			||||||
    static wxString GetPluginsDir();
 | 
					    virtual wxString GetPluginsDir() const = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // virtual dtor for the base class
 | 
				
			||||||
 | 
					    virtual ~wxStandardPathsBase();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#if defined(__WXMSW__)
 | 
				
			||||||
 | 
					    #include "wx/msw/stdpaths.h"
 | 
				
			||||||
 | 
					#elif defined(__WXMAC_OSX__) || defined(__WXCOCOA__)
 | 
				
			||||||
 | 
					    #include "wx/mac/stdpaths.h"
 | 
				
			||||||
 | 
					#elif defined(__UNIX__)
 | 
				
			||||||
 | 
					    #include "wx/unix/stdpaths.h"
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif // _WX_STDPATHS_H_
 | 
					#endif // _WX_STDPATHS_H_
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										59
									
								
								src/common/stdpbase.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								src/common/stdpbase.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,59 @@
 | 
				
			|||||||
 | 
					///////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					// Name:        common/stdpbase.cpp
 | 
				
			||||||
 | 
					// Purpose:     wxStandardPathsBase methods common to all ports
 | 
				
			||||||
 | 
					// Author:      Vadim Zeitlin
 | 
				
			||||||
 | 
					// Modified by:
 | 
				
			||||||
 | 
					// Created:     2004-10-19
 | 
				
			||||||
 | 
					// RCS-ID:      $Id$
 | 
				
			||||||
 | 
					// Copyright:   (c) 2004 Vadim Zeitlin <vadim@wxwindows.org>
 | 
				
			||||||
 | 
					// License:     wxWindows license
 | 
				
			||||||
 | 
					///////////////////////////////////////////////////////////////////////////////
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ============================================================================
 | 
				
			||||||
 | 
					// declarations
 | 
				
			||||||
 | 
					// ============================================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					// headers
 | 
				
			||||||
 | 
					// ----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// for compilers that support precompilation, includes "wx.h".
 | 
				
			||||||
 | 
					#include "wx/wxprec.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifdef __BORLANDC__
 | 
				
			||||||
 | 
					    #pragma hdrstop
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "wx/stdpaths.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					// module globals
 | 
				
			||||||
 | 
					// ----------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static wxStandardPaths gs_stdPaths;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// ============================================================================
 | 
				
			||||||
 | 
					// implementation
 | 
				
			||||||
 | 
					// ============================================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/* static */
 | 
				
			||||||
 | 
					wxStandardPaths& wxStandardPathsBase::Get()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    return gs_stdPaths;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					wxStandardPathsBase::~wxStandardPathsBase()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    // nothing to do here
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					wxString wxStandardPathsBase::GetLocalDataDir() const
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    return GetDataDir();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					wxString wxStandardPathsBase::GetUserLocalDataDir() const
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    return GetUserDataDir();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Reference in New Issue
	
	Block a user