no more SetAppName/SetVendor in the config classes

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2063 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1999-04-07 13:01:50 +00:00
parent b58197f24a
commit 9869734d04
7 changed files with 54 additions and 116 deletions

View File

@@ -235,9 +235,7 @@ actually enumerating them, but you will probably never need them.
\membersection{Miscellaneous accessors} \membersection{Miscellaneous accessors}
\helpref{SetAppName}{wxconfigbasesetappname}\\
\helpref{GetAppName}{wxconfigbasegetappname}\\ \helpref{GetAppName}{wxconfigbasegetappname}\\
\helpref{SetVendorName}{wxconfigbasesetvendorname}\\
\helpref{GetVendorName}{wxconfigbasegetvendorname} \helpref{GetVendorName}{wxconfigbasegetvendorname}
\membersection{Key access} \membersection{Key access}
@@ -658,12 +656,6 @@ exists.
Sets the config object as the current one, returns the pointer to the previous Sets the config object as the current one, returns the pointer to the previous
current object (both the parameter and returned value may be NULL) current object (both the parameter and returned value may be NULL)
\membersection{wxConfigBase::SetAppName}\label{wxconfigbasesetappname}
\func{void }{SetAppName}{\param{const wxString\&}{ appName}}
Sets the application name.
\membersection{wxConfigBase::SetExpandingEnvVars}\label{wxconfigbasesetexpandingenvvars} \membersection{wxConfigBase::SetExpandingEnvVars}\label{wxconfigbasesetexpandingenvvars}
\func{void}{SetExpandEnvVars }{\param{bool }{bDoIt = TRUE}} \func{void}{SetExpandEnvVars }{\param{bool }{bDoIt = TRUE}}
@@ -688,12 +680,6 @@ If on (default is off) all default values are written back to the config file.
This allows the user to see what config options may be changed and is probably This allows the user to see what config options may be changed and is probably
useful only for wxFileConfig. useful only for wxFileConfig.
\membersection{wxConfigBase::SetVendorName}\label{wxconfigbasesetvendorname}
\func{void}{SetVendorName}{\param{const wxString\&}{ vendorName}}
Sets the vendor name.
\membersection{wxConfigBase::Write}\label{wxconfigbasewrite} \membersection{wxConfigBase::Write}\label{wxconfigbasewrite}
\func{bool}{Write}{\param{const wxString\& }{ key}, \param{const wxString\& }{ \func{bool}{Write}{\param{const wxString\& }{ key}, \param{const wxString\& }{

View File

@@ -53,8 +53,11 @@
#endif #endif
// Style flags for constructor style parameter // Style flags for constructor style parameter
#define wxCONFIG_USE_LOCAL_FILE 1 enum
#define wxCONFIG_USE_GLOBAL_FILE 2 {
wxCONFIG_USE_LOCAL_FILE = 1,
wxCONFIG_USE_GLOBAL_FILE = 2
};
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// various helper global functions // various helper global functions
@@ -81,7 +84,7 @@ extern void wxSplitPath(wxArrayString& aParts, const char *sz);
// There is always one current group given by the current path. // 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 // 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 class WXDLLEXPORT wxConfigBase
{ {
@@ -111,7 +114,9 @@ public:
// should Get() try to create a new log object if the current one is NULL? // should Get() try to create a new log object if the current one is NULL?
static void DontCreateOnDemand() { ms_bAutoCreate = FALSE; } static void DontCreateOnDemand() { ms_bAutoCreate = FALSE; }
// ctors & virtual dtor // ctor & virtual dtor
// ctor (can be used as default ctor too)
//
// Not all args will always be used by derived classes, but including // Not all args will always be used by derived classes, but including
// them all in each class ensures compatibility. If appName is empty, // them all in each class ensures compatibility. If appName is empty,
// uses wxApp name // uses wxApp name
@@ -235,11 +240,6 @@ public:
wxString GetAppName() const { return m_appName; } wxString GetAppName() const { return m_appName; }
wxString GetVendorName() const { return m_vendorName; } wxString GetVendorName() const { return m_vendorName; }
virtual void SetAppName(const wxString& appName)
{ m_appName = appName; }
virtual void SetVendorName(const wxString& vendorName)
{ m_vendorName = vendorName; }
void SetStyle(long style) { m_style = style; } void SetStyle(long style) { m_style = style; }
long GetStyle() const { return m_style; } long GetStyle() const { return m_style; }

View File

@@ -144,25 +144,12 @@ public:
static wxString GetLocalFileName(const char *szFile); static wxString GetLocalFileName(const char *szFile);
// ctor & dtor // ctor & dtor
// New constructor: one size fits all. Specify wxCONFIG_USE_LOCAL_FILE or
#if 0 // wxCONFIG_USE_GLOBAL_FILE to say which files should be used.
// the names of local and global (if not disabled) config files are wxFileConfig(const wxString& appName,
// constructed using Get{Local|Global}FileName functions described above const wxString& vendorName = "",
// (szAppName is just the (short) name of your application) const wxString& localFilename = "",
wxFileConfig(const char *szAppName, bool bLocalOnly = FALSE); const wxString& globalFilename = "",
// this ctor allows you to specify custom names for both files (if strGlobal
// isn't a full path, it's considered to be relative to the standard
// directory, i.e. /etc under Unix and %windir% under Windows, if strLocal
// is not an absolute path, it's considered to be relative to the user's
// directory). If either of strings is empty, the corresponding file is not
// used.
wxFileConfig(const wxString& strLocal, const wxString& strGlobal);
#endif
// New constructor: one size fits all. Specify wxCONFIG_USE_LOCAL_FILE
// or wxCONFIG_USE_GLOBAL_FILE to say which files should be used.
wxFileConfig(const wxString& appName, const wxString& vendorName = "",
const wxString& localFilename = "", const wxString& globalFilename = "",
long style = wxCONFIG_USE_LOCAL_FILE); long style = wxCONFIG_USE_LOCAL_FILE);
// dtor will save unsaved data // dtor will save unsaved data

View File

@@ -29,8 +29,10 @@ class WXDLLEXPORT wxRegConfig : public wxConfigBase
public: public:
// ctor & dtor // ctor & dtor
// will store data in HKLM\appName and HKCU\appName // will store data in HKLM\appName and HKCU\appName
wxRegConfig(const wxString& appName = "", const wxString& vendorName = "", wxRegConfig(const wxString& appName = "",
const wxString& localFilename = "", const wxString& globalFilename = "", const wxString& vendorName = "",
const wxString& localFilename = "",
const wxString& globalFilename = "",
long style = 0); long style = 0);
// dtor will save unsaved data // dtor will save unsaved data

View File

@@ -20,33 +20,22 @@
#include "wx/wxprec.h" #include "wx/wxprec.h"
#ifndef WX_PRECOMP #ifndef WX_PRECOMP
#include "wx/wx.h" #include "wx/wx.h"
#endif #endif
#include <wx/confbase.h>
#if wxUSE_CONFIG #if wxUSE_CONFIG
#ifdef __BORLANDC__ #ifdef __BORLANDC__
#pragma hdrstop #pragma hdrstop
#endif //__BORLANDC__ #endif //__BORLANDC__
#include <wx/app.h> #include "wx/app.h"
#include <wx/file.h> #include "wx/file.h"
#include <wx/log.h> #include "wx/log.h"
#include <wx/textfile.h> #include "wx/textfile.h"
#include <wx/utils.h> #include "wx/utils.h"
// we must include (one of) these files for wxConfigBase::Create #include "wx/config.h"
#if defined(__WXMSW__) && defined(wxCONFIG_WIN32_NATIVE)
#ifdef __WIN32__
#include <wx/msw/regconf.h>
#else //WIN16
#include <wx/msw/iniconf.h>
#endif
#else // either we're under Unix or wish to use files even under Windows
#include <wx/fileconf.h>
#endif
#include <stdlib.h> #include <stdlib.h>
#include <math.h> #include <math.h>
@@ -413,7 +402,5 @@ void wxSplitPath(wxArrayString& aParts, const char *sz)
} }
} }
#endif #endif // wxUSE_CONFIG
// wxUSE_CONFIG

View File

@@ -198,15 +198,11 @@ void wxFileConfig::Init()
wxFileConfig::wxFileConfig(const wxString& appName, const wxString& vendorName, wxFileConfig::wxFileConfig(const wxString& appName, const wxString& vendorName,
const wxString& strLocal, const wxString& strGlobal, const wxString& strLocal, const wxString& strGlobal,
long style) long style)
: wxConfigBase(appName, vendorName, strLocal, strGlobal, style), : wxConfigBase(!appName && wxTheApp ? wxTheApp->GetAppName()
: appName,
vendorName, strLocal, strGlobal, style),
m_strLocalFile(strLocal), m_strGlobalFile(strGlobal) m_strLocalFile(strLocal), m_strGlobalFile(strGlobal)
{ {
// Make up an application name if not supplied
if (appName.IsEmpty() && wxTheApp)
{
SetAppName(wxTheApp->GetAppName());
}
// Make up names for files if empty // Make up names for files if empty
if ( m_strLocalFile.IsEmpty() && (style & wxCONFIG_USE_LOCAL_FILE) ) if ( m_strLocalFile.IsEmpty() && (style & wxCONFIG_USE_LOCAL_FILE) )
{ {
@@ -1106,17 +1102,10 @@ bool ConfigGroup::DeleteSubgroup(ConfigGroup *pGroup)
} }
// and subgroups of this sungroup // and subgroups of this sungroup
#if 0
// pGroup->m_aSubgroups.Count() gets decremented in DeleteSubgroup(),
// so we cannot do this.
nCount = pGroup->m_aSubgroups.Count(); nCount = pGroup->m_aSubgroups.Count();
for ( size_t nGroup = 0; nGroup < nCount; nGroup++ ) { for ( size_t nGroup = 0; nGroup < nCount; nGroup++ ) {
pGroup->DeleteSubgroup(pGroup->m_aSubgroups[nGroup]);
}
#endif
while(pGroup->m_aSubgroups.Count() > 0)
pGroup->DeleteSubgroup(pGroup->m_aSubgroups[0]); pGroup->DeleteSubgroup(pGroup->m_aSubgroups[0]);
}
LineList *pLine = pGroup->m_pLine; LineList *pLine = pGroup->m_pLine;
if ( pLine != NULL ) { if ( pLine != NULL ) {

View File

@@ -55,31 +55,18 @@
// ctor & dtor // ctor & dtor
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
wxIniConfig::wxIniConfig(const wxString& strAppName, const wxString& strVendor, wxIniConfig::wxIniConfig(const wxString& strAppName,
const wxString& localFilename, const wxString& globalFilename, long style): const wxString& strVendor,
wxConfigBase(strAppName, strVendor, localFilename, globalFilename, style) const wxString& localFilename,
const wxString& globalFilename,
long style)
: wxConfigBase(!appName && wxTheApp ? wxTheApp->GetAppName()
: appName,
!vendorName ? (wxTheApp ? wxTheApp->GetVendorName()
: appName)
: vendorName,
strLocal, strGlobal, style),
{ {
if ( GetAppName().IsEmpty() )
{
wxString app;
if (wxTheApp)
app = wxTheApp->GetAppName();
wxASSERT( !app.IsEmpty() );
SetAppName(app);
}
// Vendor name is required in wxIniConfig.
// TODO: should it be required? Why isn't appName used instead? -- JACS
if ( GetVendorName().IsEmpty() )
{
wxString vendor;
if (wxTheApp)
vendor = wxTheApp->GetVendorName();
else
vendor = strAppName;
SetVendorName(vendor);
}
m_strLocalFilename = localFilename; m_strLocalFilename = localFilename;
if (m_strLocalFilename.IsEmpty()) if (m_strLocalFilename.IsEmpty())
{ {