/////////////////////////////////////////////////////////////////////////////
-// Name: xmlres.h
+// Name: wx/xrc/xmlres.h
// Purpose: XML resources
// Author: Vaclav Slavik
// Created: 2000/03/05
#include "wx/bitmap.h"
#include "wx/icon.h"
#include "wx/artprov.h"
+#include "wx/colour.h"
+#include "wx/animate.h"
#include "wx/xml/xml.h"
// Constructor.
// Flags: wxXRC_USE_LOCALE
// translatable strings will be translated via _()
+ // using the given domain if specified
// wxXRC_NO_SUBCLASSING
// subclass property of object nodes will be ignored
// (useful for previews in XRC editors)
// wxXRC_NO_RELOADING
// don't check the modification time of the XRC files and
// reload them if they have changed on disk
- wxXmlResource(int flags = wxXRC_USE_LOCALE);
+ wxXmlResource(int flags = wxXRC_USE_LOCALE,
+ const wxString& domain=wxEmptyString);
// Constructor.
// Flags: wxXRC_USE_LOCALE
// translatable strings will be translated via _()
+ // using the given domain if specified
// wxXRC_NO_SUBCLASSING
// subclass property of object nodes will be ignored
// (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);
// Destructor.
- ~wxXmlResource();
+ virtual ~wxXmlResource();
+ wxXmlNode *GetFirstRoot();
+
// Loads resources from XML files that match given filemask.
// This method understands VFS (see filesys.h).
bool Load(const wxString& filemask);
// Set flags after construction.
void SetFlags(int flags) { m_flags = flags; }
+ // Get/Set the domain to be passed to the translation functions, defaults to NULL.
+ wxChar* GetDomain() const { return m_domain; }
+ void SetDomain(const wxChar* domain);
+
protected:
// Scans the resources list for unloaded files and loads them. Also reloads
// files that have been modified since last loading.
wxFileSystem& GetCurFileSystem() { return m_curFileSystem; }
#endif
+ // domain to pass to translation functions, if any.
+ wxChar* m_domain;
+
friend class wxXmlResourceHandler;
friend class wxXmlResourceModule;
// Returns true if the node has a property class equal to classname,
// e.g. <object class="wxDialog">.
- bool IsOfClass(wxXmlNode *node, const wxString& classname)
- { return node->GetPropVal(wxT("class"), wxEmptyString) == classname; }
+ bool IsOfClass(wxXmlNode *node, const wxString& classname);
// Gets node content from wxXML_ENTITY_NODE
// The problem is, <tag>content<tag> is represented as
float GetFloat(const wxString& param, float defaultv = 0);
// Gets colour in HTML syntax (#RRGGBB).
- wxColour GetColour(const wxString& param);
+ wxColour GetColour(const wxString& param, const wxColour& defaultv = wxNullColour);
// Gets the size (may be in dialog units).
wxSize GetSize(const wxString& param = wxT("size"),
const wxArtClient& defaultArtClient = wxART_OTHER,
wxSize size = wxDefaultSize);
+#if wxUSE_ANIMATIONCTRL
+ // Gets an animation.
+ wxAnimation GetAnimation(const wxString& param = wxT("animation"));
+#endif
+
// Gets a font.
wxFont GetFont(const wxString& param = wxT("font"));