git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@190
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
virtual bool GetFirstEntry(wxString& str, long& lIndex);
virtual bool GetNextEntry (wxString& str, long& lIndex);
virtual bool GetFirstEntry(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
virtual bool Read(wxString&, const char *, const char * = 0) const;
virtual bool Read(long&, const char *, long = 0) const;
// read/write
virtual bool Read(wxString&, const char *, const char * = 0) const;
virtual bool Read(long&, const char *, long = 0) const;
///////////////////////////////////////////////////////////////////////////////
// Name: msw/regconf.cpp
///////////////////////////////////////////////////////////////////////////////
// Name: msw/regconf.cpp
// Created: 27.04.98
// RCS-ID: $Id$
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
// Created: 27.04.98
// RCS-ID: $Id$
// Copyright: (c) 1998 Vadim Zeitlin <zeitlin@dptmaths.ens-cachan.fr>
#include <wx/wx.h>
#include <wx/config.h>
#include <wx/regconf.h>
#include <wx/wx.h>
#include <wx/config.h>
#include <wx/regconf.h>
-#include <wx/registry.h>
+#include <wx/msw/registry.h>
// ----------------------------------------------------------------------------
// constants
// ----------------------------------------------------------------------------
// constants
// ctor/dtor
// ----------------------------------------------------------------------------
wxRegConfig::wxRegConfig(const wxString& strRoot)
// ctor/dtor
// ----------------------------------------------------------------------------
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, "")
{
// Create() will Open() if key already exists
m_keyGlobal(m_keyGlobalRoot, "")
{
// Create() will Open() if key already exists
// ----------------------------------------------------------------------------
/*
// ----------------------------------------------------------------------------
/*
- 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
globally twice.
course, we don't want to repeat a key which appears locally as well as
globally twice.
+// ----------------------------------------------------------------------------
+// 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
// ----------------------------------------------------------------------------
if ( IsImmutable(path.Name()) ) {
if ( TryGetValue(m_keyGlobal, path.Name(), str) ) {
if ( m_keyLocal.HasValue(path.Name()) ) {
if ( IsImmutable(path.Name()) ) {
if ( TryGetValue(m_keyGlobal, path.Name(), str) ) {
if ( m_keyLocal.HasValue(path.Name()) ) {
- wxLogWarning("User value for immutable key '%s' ignored.",
+ wxLogWarning("User value for immutable key '%s' ignored.",
if ( IsImmutable(path.Name()) ) {
if ( TryGetValue(m_keyGlobal, path.Name(), &lValue) ) {
if ( m_keyLocal.HasValue(path.Name()) ) {
if ( IsImmutable(path.Name()) ) {
if ( TryGetValue(m_keyGlobal, path.Name(), &lValue) ) {
if ( m_keyLocal.HasValue(path.Name()) ) {
- wxLogWarning("User value for immutable key '%s' ignored.",
+ wxLogWarning("User value for immutable key '%s' ignored.",