wxConfig -> wxConfigBase renaming plus some minor changes

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@415 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1998-08-02 23:11:03 +00:00
parent 88f2aa3720
commit 5fe256deb7
2 changed files with 43 additions and 29 deletions

View File

@@ -1,6 +1,6 @@
///////////////////////////////////////////////////////////////////////////////
// Name: config.cpp
// Purpose: implementation of wxConfig class
// Purpose: implementation of wxConfigBase class
// Author: Vadim Zeitlin
// Modified by:
// Created: 07.04.98
@@ -38,7 +38,7 @@
#include <wx/textfile.h>
#include <wx/config.h>
// we must include (one of) these files for wxConfig::Create
// we must include (one of) these files for wxConfigBase::Create
#if defined(__MSWIN__) && defined(wxCONFIG_WIN32_NATIVE)
#ifdef __WIN32__
#include <wx/msw/regconf.h>
@@ -56,24 +56,24 @@
// global and class static variables
// ----------------------------------------------------------------------------
wxConfig *wxConfig::ms_pConfig = NULL;
wxConfigBase *wxConfigBase::ms_pConfig = NULL;
// ============================================================================
// implementation
// ============================================================================
// ----------------------------------------------------------------------------
// wxConfig
// wxConfigBase
// ----------------------------------------------------------------------------
wxConfig *wxConfig::Set(wxConfig *pConfig)
wxConfigBase *wxConfigBase::Set(wxConfigBase *pConfig)
{
wxConfig *pOld = ms_pConfig;
wxConfigBase *pOld = ms_pConfig;
ms_pConfig = pConfig;
return pOld;
}
wxConfig *wxConfig::Create()
wxConfigBase *wxConfigBase::Create()
{
return ms_pConfig =
#if defined(__MSWIN__) && defined(wxCONFIG_WIN32_NATIVE)
@@ -88,7 +88,7 @@ wxConfig *wxConfig::Create()
#endif
}
const char *wxConfig::Read(const char *szKey, const char *szDefault) const
const char *wxConfigBase::Read(const char *szKey, const char *szDefault) const
{
static char s_szBuf[1024];
wxString s;
@@ -102,10 +102,10 @@ const char *wxConfig::Read(const char *szKey, const char *szDefault) const
// Config::PathChanger
// ----------------------------------------------------------------------------
wxConfig::PathChanger::PathChanger(const wxConfig *pContainer,
wxConfigBase::PathChanger::PathChanger(const wxConfigBase *pContainer,
const wxString& strEntry)
{
m_pContainer = (wxConfig *)pContainer;
m_pContainer = (wxConfigBase *)pContainer;
wxString strPath = strEntry.Before(wxCONFIG_PATH_SEPARATOR);
// special case of "/keyname" when there is nothing before "/"
@@ -127,7 +127,7 @@ wxConfig::PathChanger::PathChanger(const wxConfig *pContainer,
}
}
wxConfig::PathChanger::~PathChanger()
wxConfigBase::PathChanger::~PathChanger()
{
// only restore path if it was changed
if ( m_bChanged ) {

View File

@@ -157,6 +157,7 @@ wxString wxFileConfig::GetLocalFileName(const char *szFile)
str << szFile;
#ifdef __WXMSW__
if ( strchr(szFile, '.') == NULL )
str << ".ini";
#endif
@@ -432,13 +433,13 @@ void wxFileConfig::SetPath(const wxString& strPath)
// enumeration
// ----------------------------------------------------------------------------
bool wxFileConfig::GetFirstGroup(wxString& str, long& lIndex)
bool wxFileConfig::GetFirstGroup(wxString& str, long& lIndex) const
{
lIndex = 0;
return GetNextGroup(str, lIndex);
}
bool wxFileConfig::GetNextGroup (wxString& str, long& lIndex)
bool wxFileConfig::GetNextGroup (wxString& str, long& lIndex) const
{
if ( uint(lIndex) < m_pCurrentGroup->Groups().Count() ) {
str = m_pCurrentGroup->Groups()[lIndex++]->Name();
@@ -448,13 +449,13 @@ bool wxFileConfig::GetNextGroup (wxString& str, long& lIndex)
return FALSE;
}
bool wxFileConfig::GetFirstEntry(wxString& str, long& lIndex)
bool wxFileConfig::GetFirstEntry(wxString& str, long& lIndex) const
{
lIndex = 0;
return GetNextEntry(str, lIndex);
}
bool wxFileConfig::GetNextEntry (wxString& str, long& lIndex)
bool wxFileConfig::GetNextEntry (wxString& str, long& lIndex) const
{
if ( uint(lIndex) < m_pCurrentGroup->Entries().Count() ) {
str = m_pCurrentGroup->Entries()[lIndex++]->Name();
@@ -648,7 +649,7 @@ bool wxFileConfig::DeleteEntry(const char *szKey, bool bGroupIfEmptyAlso)
if ( m_pCurrentGroup != m_pRootGroup ) {
ConfigGroup *pGroup = m_pCurrentGroup;
SetPath(".."); // changes m_pCurrentGroup!
m_pCurrentGroup->DeleteSubgroup(pGroup->Name());
m_pCurrentGroup->DeleteSubgroupByName(pGroup->Name());
}
//else: never delete the root group
}
@@ -660,7 +661,7 @@ bool wxFileConfig::DeleteGroup(const char *szKey)
{
PathChanger path(this, szKey);
return m_pCurrentGroup->DeleteSubgroup(path.Name());
return m_pCurrentGroup->DeleteSubgroupByName(path.Name());
}
bool wxFileConfig::DeleteAll()
@@ -1012,9 +1013,16 @@ wxFileConfig::ConfigGroup::AddSubgroup(const wxString& strName)
delete several of them.
*/
bool wxFileConfig::ConfigGroup::DeleteSubgroup(const char *szName)
bool wxFileConfig::ConfigGroup::DeleteSubgroupByName(const char *szName)
{
return DeleteSubgroup(FindSubgroup(szName));
}
// doesn't delete the subgroup itself, but does remove references to it from
// all other data structures (and normally the returned pointer should be
// deleted a.s.a.p. because there is nothing much to be done with it anyhow)
bool wxFileConfig::ConfigGroup::DeleteSubgroup(ConfigGroup *pGroup)
{
ConfigGroup *pGroup = FindSubgroup(szName);
wxCHECK( pGroup != NULL, FALSE ); // deleting non existing group?
// delete all entries
@@ -1025,6 +1033,12 @@ bool wxFileConfig::ConfigGroup::DeleteSubgroup(const char *szName)
m_pConfig->LineListRemove(pLine);
}
// and subgroups of this sungroup
nCount = pGroup->m_aSubgroups.Count();
for ( uint nGroup = 0; nGroup < nCount; nGroup++ ) {
pGroup->DeleteSubgroup(pGroup->m_aSubgroups[nGroup]);
}
LineList *pLine = pGroup->m_pLine;
if ( pLine != NULL ) {
// notice that we may do this test inside the previous "if" because the