#include "wx/string.h"
#include "wx/dynarray.h"
#include "wx/datetime.h"
+#include "wx/list.h"
#include "wx/gdicmn.h"
#include "wx/filesys.h"
#include "wx/bitmap.h"
wxXmlResourceDataRecords,
WXDLLIMPEXP_XRC);
-WX_DEFINE_USER_EXPORTED_ARRAY_PTR(wxXmlResourceHandler*,
- wxXmlResourceHandlers,
- class WXDLLIMPEXP_XRC);
-
enum wxXmlResourceFlags
{
wxXRC_USE_LOCALE = 1,
// 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();
// Loads resources from XML files that match given filemask.
// This method understands VFS (see filesys.h).
// 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.
long m_version;
int m_flags;
- wxXmlResourceHandlers m_handlers;
+ wxList m_handlers;
wxXmlResourceDataRecords m_data;
#if wxUSE_FILESYSTEM
wxFileSystem m_curFileSystem;
wxFileSystem& GetCurFileSystem() { return m_curFileSystem; }
#endif
+ // domain to pass to translation functions, if any.
+ wxChar* m_domain;
+
friend class wxXmlResourceHandler;
friend class wxXmlResourceModule;