// RCS-ID: $Id$
// Copyright: (c) 1997 Karsten Ballüder Ballueder@usa.net
// Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
-// Licence: wxWindows license
+// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef _WX_CONFBASE_H_
#define _WX_CONFBASE_H_
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "confbase.h"
#endif
#include "wx/defs.h"
#include "wx/string.h"
+class WXDLLIMPEXP_BASE wxArrayString;
+
// ----------------------------------------------------------------------------
// constants
// ----------------------------------------------------------------------------
/// should we use registry instead of configuration files under Windows?
// (i.e. whether wxConfigBase::Create() will create a wxFileConfig (if it's
-// FALSE) or wxRegConfig (if it's true and we're under Win32) or wxIniConfig
-// (under Win16))
+// FALSE) or wxRegConfig (if it's true and we're under Win32))
#ifndef wxUSE_CONFIG_NATIVE
#define wxUSE_CONFIG_NATIVE 1
#endif
{
wxCONFIG_USE_LOCAL_FILE = 1,
wxCONFIG_USE_GLOBAL_FILE = 2,
- wxCONFIG_USE_RELATIVE_PATH = 4
+ wxCONFIG_USE_RELATIVE_PATH = 4,
+ wxCONFIG_USE_NO_ESCAPE_CHARACTERS = 8
};
// ----------------------------------------------------------------------------
// Keys are pairs "key_name = value" where value may be of string or integer
// (long) type (TODO doubles and other types such as wxDate coming soon).
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxConfigBase
+
+class WXDLLIMPEXP_BASE wxConfigBase
{
public:
// constants
// you work in the entry directory and the path is automatically restored
// when the function returns
// Taken out of wxConfig since not all compilers can cope with nested classes.
-class wxConfigPathChanger
+class WXDLLIMPEXP_BASE wxConfigPathChanger
{
public:
// ctor/dtor do path changing/restorin
wxString m_strName, // name of entry (i.e. name only)
m_strOldPath; // saved path
bool m_bChanged; // was the path changed?
+
+ DECLARE_NO_COPY_CLASS(wxConfigPathChanger)
};
// ----------------------------------------------------------------------------
// under Windows we prefer to use the native implementation
+// wxIniConfig isn't native anywhere after droping win16 in wxWidgets 2.6
#if defined(__WXMSW__) && wxUSE_CONFIG_NATIVE
- #ifdef __WIN32__
#define wxConfig wxRegConfig
- #define sm_classwxConfig sm_classwxRegConfig
- #else //WIN16
- #define wxConfig wxIniConfig
- #define sm_classwxConfig sm_classwxIniConfig
- #endif
#else // either we're under Unix or wish to use files even under Windows
#define wxConfig wxFileConfig
- #define sm_classwxConfig sm_classwxFileConfig
#endif
#endif // wxUSE_CONFIG
'_' only. '$' must be escaped ('\$') in order to be taken literally.
*/
-WXDLLEXPORT wxString wxExpandEnvVars(const wxString &sz);
+WXDLLIMPEXP_BASE wxString wxExpandEnvVars(const wxString &sz);
/*
Split path into parts removing '..' in progress
*/
-WXDLLEXPORT void wxSplitPath(wxArrayString& aParts, const wxChar *sz);
+WXDLLIMPEXP_BASE void wxSplitPath(wxArrayString& aParts, const wxChar *sz);
#endif