]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/xrc/xmlres.h
make this available everywhere
[wxWidgets.git] / include / wx / xrc / xmlres.h
index 73076ea62b820bcdc579427ea08d10f8aea4ee2e..c581aafc8b4b1778c790b4009fd50b412bce2daa 100644 (file)
 #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"
 #include "wx/icon.h"
 #include "wx/artprov.h"
 #include "wx/colour.h"
+#include "wx/animate.h"
 
 #include "wx/xml/xml.h"
 
@@ -87,10 +89,6 @@ WX_DECLARE_USER_EXPORTED_OBJARRAY(wxXmlResourceDataRecord,
                                   wxXmlResourceDataRecords,
                                   WXDLLIMPEXP_XRC);
 
-WX_DEFINE_USER_EXPORTED_ARRAY_PTR(wxXmlResourceHandler*,
-                                  wxXmlResourceHandlers,
-                                  class WXDLLIMPEXP_XRC);
-
 enum wxXmlResourceFlags
 {
     wxXRC_USE_LOCALE     = 1,
@@ -107,25 +105,31 @@ public:
     // 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);
@@ -245,6 +249,10 @@ public:
     // 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.
@@ -277,13 +285,16 @@ private:
     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;
 
@@ -442,6 +453,11 @@ protected:
                    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"));