#endif
// Style flags for constructor style parameter
-#define wxCONFIG_USE_LOCAL_FILE 1
-#define wxCONFIG_USE_GLOBAL_FILE 2
+enum
+{
+ wxCONFIG_USE_LOCAL_FILE = 1,
+ wxCONFIG_USE_GLOBAL_FILE = 2,
+ wxCONFIG_USE_RELATIVE_PATH = 4
+};
// ----------------------------------------------------------------------------
// various helper global functions
/*
Split path into parts removing '..' in progress
*/
-extern void wxSplitPath(wxArrayString& aParts, const char *sz);
+extern void wxSplitPath(wxArrayString& aParts, const wxChar *sz);
// ----------------------------------------------------------------------------
// abstract base class wxConfigBase which defines the interface for derived
// There is always one current group given by the current path.
//
// Keys are pairs "key_name = value" where value may be of string or integer
-// (long) type (@@@ doubles and other types such as wxDate coming soon).
+// (long) type (TODO doubles and other types such as wxDate coming soon).
// ----------------------------------------------------------------------------
class WXDLLEXPORT wxConfigBase
{
// the type of an entry
enum EntryType
{
- Unknown,
- String,
- Boolean,
- Integer, // use Read(long *)
- Float // use Read(double *)
+ Type_Unknown,
+ Type_String,
+ Type_Boolean,
+ Type_Integer, // use Read(long *)
+ Type_Float // use Read(double *)
};
// static functions
static void DontCreateOnDemand() { ms_bAutoCreate = FALSE; }
// ctor & virtual dtor
- // environment variable expansion is on by default
-// wxConfigBase() { m_bExpandEnvVars = TRUE; m_bRecordDefaults = FALSE; }
-
- // ctor
-
- // Not all args will always be used by derived classes, but
- // including them all in each class ensures compatibility.
- // If appName is empty, uses wxApp name
- wxConfigBase(const wxString& appName = wxEmptyString, const wxString& vendorName = wxEmptyString,
- const wxString& localFilename = wxEmptyString, const wxString& globalFilename = wxEmptyString,
+ // ctor (can be used as default ctor too)
+ //
+ // Not all args will always be used by derived classes, but including
+ // them all in each class ensures compatibility. If appName is empty,
+ // uses wxApp name
+ wxConfigBase(const wxString& appName = wxEmptyString,
+ const wxString& vendorName = wxEmptyString,
+ const wxString& localFilename = wxEmptyString,
+ const wxString& globalFilename = wxEmptyString,
long style = 0);
// empty but ensures that dtor of all derived classes is virtual
virtual EntryType GetEntryType(const wxString& name) const
{
// by default all entries are strings
- return HasEntry(name) ? String : Unknown;
+ return HasEntry(name) ? Type_String : Type_Unknown;
}
// key access: returns TRUE if value was really read, FALSE if default used
wxString GetAppName() const { return m_appName; }
wxString GetVendorName() const { return m_vendorName; }
- void SetAppName(const wxString& appName) { m_appName = appName; }
- void SetVendorName(const wxString& vendorName) { m_vendorName = vendorName; }
-
void SetStyle(long style) { m_style = style; }
long GetStyle() const { return m_style; }