use wxString for wxXmlResource::Set/GetDomain(), it's simpler

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45081 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík 2007-03-26 21:07:36 +00:00
parent 31b7522e2b
commit d7a80cf5cd
2 changed files with 14 additions and 23 deletions

View File

@ -113,7 +113,7 @@ public:
// don't check the modification time of the XRC files and // don't check the modification time of the XRC files and
// reload them if they have changed on disk // reload them if they have changed on disk
wxXmlResource(int flags = wxXRC_USE_LOCALE, wxXmlResource(int flags = wxXRC_USE_LOCALE,
const wxString& domain=wxEmptyString); const wxString& domain = wxEmptyString);
// Constructor. // Constructor.
// Flags: wxXRC_USE_LOCALE // Flags: wxXRC_USE_LOCALE
@ -123,13 +123,13 @@ public:
// subclass property of object nodes will be ignored // subclass property of object nodes will be ignored
// (useful for previews in XRC editors) // (useful for previews in XRC editors)
wxXmlResource(const wxString& filemask, int flags = wxXRC_USE_LOCALE, wxXmlResource(const wxString& filemask, int flags = wxXRC_USE_LOCALE,
const wxString& domain=wxEmptyString); const wxString& domain = wxEmptyString);
// Destructor. // Destructor.
virtual ~wxXmlResource(); virtual ~wxXmlResource();
wxXmlNode *GetFirstRoot(); wxXmlNode *GetFirstRoot();
// Loads resources from XML files that match given filemask. // Loads resources from XML files that match given filemask.
// This method understands VFS (see filesys.h). // This method understands VFS (see filesys.h).
bool Load(const wxString& filemask); bool Load(const wxString& filemask);
@ -249,10 +249,11 @@ public:
// Set flags after construction. // Set flags after construction.
void SetFlags(int flags) { m_flags = flags; } void SetFlags(int flags) { m_flags = flags; }
// Get/Set the domain to be passed to the translation functions, defaults to NULL. // Get/Set the domain to be passed to the translation functions, defaults
wxChar* GetDomain() const { return m_domain; } // to empty string (no domain).
void SetDomain(const wxChar* domain); const wxString& GetDomain() const { return m_domain; }
void SetDomain(const wxString& domain);
protected: protected:
// Scans the resources list for unloaded files and loads them. Also reloads // Scans the resources list for unloaded files and loads them. Also reloads
// files that have been modified since last loading. // files that have been modified since last loading.
@ -293,8 +294,8 @@ private:
#endif #endif
// domain to pass to translation functions, if any. // domain to pass to translation functions, if any.
wxChar* m_domain; wxString m_domain;
friend class wxXmlResourceHandler; friend class wxXmlResourceHandler;
friend class wxXmlResourceModule; friend class wxXmlResourceModule;

View File

@ -69,35 +69,25 @@ wxXmlResource::wxXmlResource(int flags, const wxString& domain)
{ {
m_flags = flags; m_flags = flags;
m_version = -1; m_version = -1;
m_domain = NULL; SetDomain(domain);
if (! domain.empty() )
SetDomain(domain);
} }
wxXmlResource::wxXmlResource(const wxString& filemask, int flags, const wxString& domain) wxXmlResource::wxXmlResource(const wxString& filemask, int flags, const wxString& domain)
{ {
m_flags = flags; m_flags = flags;
m_version = -1; m_version = -1;
m_domain = NULL; SetDomain(domain);
if (! domain.empty() )
SetDomain(domain);
Load(filemask); Load(filemask);
} }
wxXmlResource::~wxXmlResource() wxXmlResource::~wxXmlResource()
{ {
if (m_domain)
free(m_domain);
ClearHandlers(); ClearHandlers();
} }
void wxXmlResource::SetDomain(const wxChar* domain) void wxXmlResource::SetDomain(const wxString& domain)
{ {
if (m_domain) m_domain = domain;
free(m_domain);
m_domain = NULL;
if (domain && wxStrlen(domain))
m_domain = wxStrdup(domain);
} }