#include "wx/string.h"
#include "wx/dynarray.h"
+#include "wx/arrstr.h"
#include "wx/datetime.h"
+#include "wx/list.h"
#include "wx/gdicmn.h"
#include "wx/filesys.h"
#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"
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();
+
+ wxXmlNode *GetFirstRoot();
// Loads resources from XML files that match given filemask.
// This method understands VFS (see filesys.h).
// resource. If an unknown str_id is requested (i.e. other than wxID_XXX
// or integer), a new record is created which associates the given string
// with a number. If value_if_not_found == wxID_NONE, the number is obtained via
- // wxNewId(). Otherwise value_if_not_found is used.
+ // wxWindow::NewControlId(). Otherwise value_if_not_found is used.
// Macro XRCID(name) is provided for convenient use in event tables.
- static int GetXRCID(const wxChar *str_id, int value_if_not_found = wxID_NONE);
+ static int GetXRCID(const wxString& str_id, int value_if_not_found = wxID_NONE)
+ { return DoGetXRCID(str_id.mb_str(), value_if_not_found); }
+
+ // version for internal use only
+ static int DoGetXRCID(const char *str_id, int value_if_not_found = wxID_NONE);
// Returns version information (a.b.c.d = d+ 256*c + 256^2*b + 256^3*a).
long GetVersion() const { return m_version; }
// Set flags after construction.
void SetFlags(int flags) { m_flags = flags; }
+ // Get/Set the domain to be passed to the translation functions, defaults
+ // to empty string (no domain).
+ const wxString& GetDomain() const { return m_domain; }
+ void SetDomain(const wxString& 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.
+ wxString m_domain;
+
friend class wxXmlResourceHandler;
friend class wxXmlResourceModule;
// END_EVENT_TABLE()
#define XRCID(str_id) \
- wxXmlResource::GetXRCID(wxT(str_id))
+ wxXmlResource::DoGetXRCID(str_id)
// This macro returns pointer to particular control in dialog
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"));
Backward compatibility macros. Do *NOT* use, they may disappear in future
versions of the XRC library!
------------------------------------------------------------------------- */
-#if WXWIN_COMPATIBILITY_2_4
- #define ADD_STYLE XRC_ADD_STYLE
- #define wxTheXmlResource wxXmlResource::Get()
- #define XMLID XRCID
- #define XMLCTRL XRCCTRL
- #define GetXMLID GetXRCID
-#endif
#endif // wxUSE_XRC