HasGroup/Entry added
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@190 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -42,6 +42,10 @@ public:
|
|||||||
virtual bool GetFirstEntry(wxString& str, long& lIndex);
|
virtual bool GetFirstEntry(wxString& str, long& lIndex);
|
||||||
virtual bool GetNextEntry (wxString& str, long& lIndex);
|
virtual bool GetNextEntry (wxString& str, long& lIndex);
|
||||||
|
|
||||||
|
// tests for existence
|
||||||
|
virtual bool HasGroup(const wxString& strName) const;
|
||||||
|
virtual bool HasEntry(const wxString& strName) const;
|
||||||
|
|
||||||
// read/write
|
// read/write
|
||||||
virtual bool Read(wxString&, const char *, const char * = 0) const;
|
virtual bool Read(wxString&, const char *, const char * = 0) const;
|
||||||
virtual bool Read(long&, const char *, long = 0) const;
|
virtual bool Read(long&, const char *, long = 0) const;
|
||||||
|
@@ -1,8 +1,8 @@
|
|||||||
///////////////////////////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
// Name: msw/regconf.cpp
|
// Name: msw/regconf.cpp
|
||||||
// Purpose:
|
// Purpose:
|
||||||
// Author: Vadim Zeitlin
|
// Author: Vadim Zeitlin
|
||||||
// Modified by:
|
// Modified by:
|
||||||
// Created: 27.04.98
|
// Created: 27.04.98
|
||||||
// RCS-ID: $Id$
|
// RCS-ID: $Id$
|
||||||
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
|
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
#include <wx/wx.h>
|
#include <wx/wx.h>
|
||||||
#include <wx/config.h>
|
#include <wx/config.h>
|
||||||
#include <wx/regconf.h>
|
#include <wx/regconf.h>
|
||||||
#include <wx/registry.h>
|
#include <wx/msw/registry.h>
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// constants
|
// constants
|
||||||
@@ -55,9 +55,9 @@ bool TryGetValue(const wxRegKey& key, const wxString& str, long *plVal)
|
|||||||
// ctor/dtor
|
// ctor/dtor
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
wxRegConfig::wxRegConfig(const wxString& strRoot)
|
wxRegConfig::wxRegConfig(const wxString& strRoot)
|
||||||
: m_keyLocalRoot(wxRegKey::HKCU, SOFTWARE_KEY + strRoot),
|
: m_keyLocalRoot(wxRegKey::HKCU, SOFTWARE_KEY + strRoot),
|
||||||
m_keyLocal(m_keyLocalRoot, ""),
|
m_keyLocal(m_keyLocalRoot, ""),
|
||||||
m_keyGlobalRoot(wxRegKey::HKLM, SOFTWARE_KEY + strRoot),
|
m_keyGlobalRoot(wxRegKey::HKLM, SOFTWARE_KEY + strRoot),
|
||||||
m_keyGlobal(m_keyGlobalRoot, "")
|
m_keyGlobal(m_keyGlobalRoot, "")
|
||||||
{
|
{
|
||||||
// Create() will Open() if key already exists
|
// Create() will Open() if key already exists
|
||||||
@@ -115,7 +115,7 @@ void wxRegConfig::SetPath(const wxString& strPath)
|
|||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
/*
|
/*
|
||||||
We want to enumerate all local keys/values after the global ones, but, of
|
We want to enumerate all local keys/values after the global ones, but, of
|
||||||
course, we don't want to repeat a key which appears locally as well as
|
course, we don't want to repeat a key which appears locally as well as
|
||||||
globally twice.
|
globally twice.
|
||||||
|
|
||||||
@@ -183,6 +183,20 @@ bool wxRegConfig::GetNextEntry (wxString& str, long& lIndex)
|
|||||||
return bOk;
|
return bOk;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// tests for existence
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
bool wxRegConfig::HasGroup(const wxString& strName) const
|
||||||
|
{
|
||||||
|
return m_keyLocal.HasSubKey(strName) || m_keyGlobal.HasSubKey(strName);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool wxRegConfig::HasEntry(const wxString& strName) const
|
||||||
|
{
|
||||||
|
return m_keyLocal.HasValue(strName) || m_keyGlobal.HasValue(strName);
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// reading/writing
|
// reading/writing
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -200,7 +214,7 @@ bool wxRegConfig::Read(wxString& str,
|
|||||||
if ( IsImmutable(path.Name()) ) {
|
if ( IsImmutable(path.Name()) ) {
|
||||||
if ( TryGetValue(m_keyGlobal, path.Name(), str) ) {
|
if ( TryGetValue(m_keyGlobal, path.Name(), str) ) {
|
||||||
if ( m_keyLocal.HasValue(path.Name()) ) {
|
if ( m_keyLocal.HasValue(path.Name()) ) {
|
||||||
wxLogWarning("User value for immutable key '%s' ignored.",
|
wxLogWarning("User value for immutable key '%s' ignored.",
|
||||||
path.Name().c_str());
|
path.Name().c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -234,7 +248,7 @@ bool wxRegConfig::Read(long &lValue, const char *szKey, long lDefault) const
|
|||||||
if ( IsImmutable(path.Name()) ) {
|
if ( IsImmutable(path.Name()) ) {
|
||||||
if ( TryGetValue(m_keyGlobal, path.Name(), &lValue) ) {
|
if ( TryGetValue(m_keyGlobal, path.Name(), &lValue) ) {
|
||||||
if ( m_keyLocal.HasValue(path.Name()) ) {
|
if ( m_keyLocal.HasValue(path.Name()) ) {
|
||||||
wxLogWarning("User value for immutable key '%s' ignored.",
|
wxLogWarning("User value for immutable key '%s' ignored.",
|
||||||
path.Name().c_str());
|
path.Name().c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user