]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/fileconf.h
fixes for Sun CC 5.0 (unlike 4.2 it understands bool)
[wxWidgets.git] / include / wx / fileconf.h
index dcf9d10e4289dbf3dfefe3c7d213e6928a435cba..0e19e079545121778a1383c0867b425769a7452a 100644 (file)
 #pragma interface "fileconf.h"
 #endif
 
+#include "wx/defs.h"
+#include "wx/textfile.h"
+#include "wx/string.h"
+
 // ----------------------------------------------------------------------------
 // compile options
 // ----------------------------------------------------------------------------
 
 // it won't compile without it anyhow
-#ifndef USE_WXCONFIG
-  #error "Please define USE_WXCONFIG or remove fileconf.cpp from your makefile"
-#endif // USE_WXCONFIG
+#ifndef wxUSE_CONFIG
+  #error "Please define wxUSE_CONFIG or remove fileconf.cpp from your makefile"
+#endif // wxUSE_CONFIG
 
 // ----------------------------------------------------------------------------
 // wxFileConfig
   (it's on by default, the current status can be retrieved with
    IsExpandingEnvVars function).
 */
+  class wxFileConfig; //linea nueva
+  class ConfigGroup;
+  class ConfigEntry;
+
+  // we store all lines of the local config file as a linked list in memory
+  class LineList
+  {
+  public:
+    void      SetNext(LineList *pNext)  { m_pNext = pNext; }
+    void      SetPrev(LineList *pPrev)  { m_pPrev = pPrev; }
+
+    // ctor
+    LineList(const wxString& str, LineList *pNext = (LineList *) NULL) : m_strLine(str)
+      { SetNext(pNext); SetPrev((LineList *) NULL); }
+
+    //
+    LineList *Next() const              { return m_pNext;  }
+    LineList *Prev() const              { return m_pPrev;  }
+
+    //
+    void SetText(const wxString& str) { m_strLine = str;  }
+    const wxString& Text() const      { return m_strLine; }
+
+  private:
+    wxString  m_strLine;      // line contents
+    LineList *m_pNext,        // next node
+             *m_pPrev;        // previous one
+  };
+
 
 class wxFileConfig : public wxConfigBase
 {
@@ -129,9 +162,9 @@ public:
 
    // 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 = wxEmptyString,
-    const wxString& localFilename = wxEmptyString, const wxString& globalFilename = wxEmptyString,
-    long style = wxCONFIG_USE_LOCAL_FILE);
+  wxFileConfig(const wxString& appName, const wxString& vendorName = "",
+               const wxString& localFilename = "", const wxString& globalFilename = "",
+               long style = wxCONFIG_USE_LOCAL_FILE);
 
     // dtor will save unsaved data
   virtual ~wxFileConfig();
@@ -151,18 +184,6 @@ public:
   virtual bool HasGroup(const wxString& strName) const;
   virtual bool HasEntry(const wxString& strName) const;
 
-#if 0
-  virtual bool Read(wxString *pstr, const char *szKey,
-                    const char *szDefault = 0) const;
-  virtual const char *Read(const char *szKey,
-                           const char *szDefault = 0) const;
-  virtual bool Read(long *pl, const char *szKey, long lDefault) const;
-  virtual long Read(const char *szKey, long lDefault) const
-    { return wxConfigBase::Read(szKey, lDefault); }
-  virtual bool Write(const char *szKey, const char *szValue);
-  virtual bool Write(const char *szKey, long lValue);
-#endif
-
   virtual bool Read(const wxString& key, wxString *pStr) const;
   virtual bool Read(const wxString& key, wxString *pStr, const wxString& defValue) const;
   virtual bool Read(const wxString& key, long *pl) const;
@@ -174,6 +195,10 @@ public:
   { return wxConfigBase::Read(key, pl, defVal); }
   long Read(const wxString& key, long defVal) const
   { return wxConfigBase::Read(key, defVal); }
+  bool Read(const wxString& key, int *pi, int defVal) const
+    { return wxConfigBase::Read(key, pi, defVal); }
+  bool Read(const wxString& key, int *pi) const
+    { return wxConfigBase::Read(key, pi); }
   bool Read(const wxString& key, double* val) const
   { return wxConfigBase::Read(key, val); }
   bool Read(const wxString& key, double* val, double defVal) const
@@ -190,32 +215,6 @@ public:
 
 public:
   // fwd decl
-  class ConfigGroup;
-  class ConfigEntry;
-
-  // we store all lines of the local config file as a linked list in memory
-  class LineList
-  {
-  public:
-    // ctor
-    LineList(const wxString& str, LineList *pNext = (LineList *) NULL) : m_strLine(str)
-      { SetNext(pNext); SetPrev((LineList *) NULL); }
-
-    //
-    LineList *Next() const              { return m_pNext;  }
-    LineList *Prev() const              { return m_pPrev;  }
-    void      SetNext(LineList *pNext)  { m_pNext = pNext; }
-    void      SetPrev(LineList *pPrev)  { m_pPrev = pPrev; }
-
-    //
-    void SetText(const wxString& str) { m_strLine = str;  }
-    const wxString& Text() const      { return m_strLine; }
-
-  private:
-    wxString  m_strLine;      // line contents
-    LineList *m_pNext,        // next node
-             *m_pPrev;        // previous one
-  };
 
   // functions to work with this list
   LineList *LineListAppend(const wxString& str);
@@ -260,6 +259,8 @@ public:
   WX_DEFINE_SORTED_ARRAY(ConfigEntry *, ArrayEntries);
   WX_DEFINE_SORTED_ARRAY(ConfigGroup *, ArrayGroups);
 
+};
+
   class ConfigEntry
   {
   private:
@@ -296,8 +297,8 @@ public:
   private:
     wxFileConfig *m_pConfig;        // config object we belong to
     ConfigGroup  *m_pParent;        // parent group (NULL for root group)
-    ArrayEntries  m_aEntries;       // entries in this group
-    ArrayGroups   m_aSubgroups;     // subgroups
+    wxFileConfig::ArrayEntries  m_aEntries;       // entries in this group
+    wxFileConfig::ArrayGroups   m_aSubgroups;     // subgroups
     wxString      m_strName;        // group's name
     bool          m_bDirty;         // if FALSE => all subgroups are not dirty
     LineList     *m_pLine;          // pointer to our line in the linked list
@@ -320,9 +321,9 @@ public:
     wxFileConfig   *Config()  const { return m_pConfig; }
     bool            IsDirty() const { return m_bDirty;  }
 
+    const wxFileConfig::ArrayEntries& Entries() const { return m_aEntries;   }
+    const wxFileConfig::ArrayGroups&  Groups()  const { return m_aSubgroups; }
     bool  IsEmpty() const { return Entries().IsEmpty() && Groups().IsEmpty(); }
-    const ArrayEntries& Entries() const { return m_aEntries;   }
-    const ArrayGroups&  Groups()  const { return m_aSubgroups; }
 
     // find entry/subgroup (NULL if not found)
     ConfigGroup *FindSubgroup(const char *szName) const;
@@ -334,7 +335,7 @@ public:
 
     // create new entry/subgroup returning pointer to newly created element
     ConfigGroup *AddSubgroup(const wxString& strName);
-    ConfigEntry *AddEntry   (const wxString& strName, int nLine = NOT_FOUND);
+    ConfigEntry *AddEntry   (const wxString& strName, int nLine = wxNOT_FOUND);
 
     // will also recursively set parent's dirty flag
     void SetDirty();
@@ -352,7 +353,11 @@ public:
     void SetLastEntry(ConfigEntry *pEntry) { m_pLastEntry = pEntry; }
     void SetLastGroup(ConfigGroup *pGroup) { m_pLastGroup = pGroup; }
   };
-};
 
 #endif  //_FILECONF_H
 
+
+
+
+
+