X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/19d40bab31d5addfa75e7671c3b8914c7b797a8f..ed673c6a48b3479beac60a93ff8f44611e44415f:/include/wx/confbase.h diff --git a/include/wx/confbase.h b/include/wx/confbase.h index 2c31f070ef..c4cfa87538 100644 --- a/include/wx/confbase.h +++ b/include/wx/confbase.h @@ -53,24 +53,12 @@ #endif // Style flags for constructor style parameter -#define wxCONFIG_USE_LOCAL_FILE 1 -#define wxCONFIG_USE_GLOBAL_FILE 2 - -// ---------------------------------------------------------------------------- -// various helper global functions -// ---------------------------------------------------------------------------- - -/* - Replace environment variables ($SOMETHING) with their values. The format is - $VARNAME or ${VARNAME} where VARNAME contains alphanumeric characters and - '_' only. '$' must be escaped ('\$') in order to be taken literally. - */ -extern wxString wxExpandEnvVars(const wxString &sz); - -/* - Split path into parts removing '..' in progress - */ -extern void wxSplitPath(wxArrayString& aParts, const char *sz); +enum +{ + wxCONFIG_USE_LOCAL_FILE = 1, + wxCONFIG_USE_GLOBAL_FILE = 2, + wxCONFIG_USE_RELATIVE_PATH = 4 +}; // ---------------------------------------------------------------------------- // abstract base class wxConfigBase which defines the interface for derived @@ -81,7 +69,7 @@ extern void wxSplitPath(wxArrayString& aParts, const char *sz); // 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 { @@ -90,11 +78,11 @@ public: // 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 @@ -112,16 +100,15 @@ public: 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 @@ -161,7 +148,7 @@ public: 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 @@ -238,19 +225,16 @@ public: 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; } protected: static bool IsImmutable(const wxString& key) - #ifndef __WXMAC__ +#if !defined(__WXMAC__) && !defined(__EMX__) { return !key.IsEmpty() && key[0u] == wxCONFIG_IMMUTABLE_PREFIX; } - #else +#else { return !key.IsEmpty() && key[0ul] == wxCONFIG_IMMUTABLE_PREFIX; } - #endif +#endif private: // are we doing automatic environment variable expansion? @@ -311,9 +295,23 @@ private: #define sm_classwxConfig sm_classwxFileConfig #endif -#endif +#endif // wxUSE_CONFIG - // wxUSE_CONFIG +// ---------------------------------------------------------------------------- +// various helper global functions (defined even if !wxUSE_CONFIG) +// ---------------------------------------------------------------------------- + +/* + Replace environment variables ($SOMETHING) with their values. The format is + $VARNAME or ${VARNAME} where VARNAME contains alphanumeric characters and + '_' only. '$' must be escaped ('\$') in order to be taken literally. + */ +extern wxString wxExpandEnvVars(const wxString &sz); + +/* + Split path into parts removing '..' in progress + */ +extern void wxSplitPath(wxArrayString& aParts, const wxChar *sz); #endif // _WX_CONFIG_H_