]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/src/_xmlres.i
Changes needed for new RTL methods, and also various other updates to
[wxWidgets.git] / wxPython / src / _xmlres.i
index 79ffbc711ae3b6db190abc07f7bf1140b4eae762..87310ca821fcd160a27892acfba9c8b33cc2d63f 100644 (file)
@@ -45,8 +45,10 @@ class wxXmlResource : public wxObject
 {
 public:
 
-    %pythonAppend wxXmlResource(const wxString& filemask, int flags)   "self.InitAllHandlers()"
-    %pythonAppend wxXmlResource(int flags)                             "val.InitAllHandlers()"
+    %pythonAppend wxXmlResource(const wxString& filemask, int flags,
+                  const wxString& domain=wxEmptyString)   "self.InitAllHandlers()"
+    %pythonAppend wxXmlResource(int flags,
+                  const wxString& domain=wxEmptyString)   "val.InitAllHandlers()"
 
     // Ctors.
     // Flags: wxXRC_USE_LOCALE
@@ -54,8 +56,11 @@ public:
     //        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);
-    %RenameCtor(EmptyXmlResource,  wxXmlResource(int flags = wxXRC_USE_LOCALE));
+    wxXmlResource(const wxString& filemask, int flags = wxXRC_USE_LOCALE,
+                  const wxString& domain=wxEmptyString);
+    %RenameCtor(EmptyXmlResource,  wxXmlResource(int flags = wxXRC_USE_LOCALE,
+                  const wxString& domain=wxEmptyString));
+    
     ~wxXmlResource();
 
 
@@ -91,6 +96,9 @@ public:
         }
     }
 
+    // Unload resource from the given XML file (wildcards not allowed)
+    bool Unload(const wxString& filename);
+    
     // Initialize handlers for all supported controls/windows. 
     void InitAllHandlers();
 
@@ -165,10 +173,13 @@ public:
     bool AttachUnknownControl(const wxString& name, wxWindow *control,
                               wxWindow *parent = NULL);
 
-    // Returns numeric ID that is equivalent to string id used in XML
-    // resource. To be used in event tables
-    // Macro XMLID is provided for convenience
-    static int GetXRCID(const wxString& str_id);
+    // Returns a numeric ID that is equivalent to the string ID used in an XML
+    // 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.
+    // Macro XRCID(name) is provided for convenient use in event tables.
+    static int GetXRCID(const wxString& str_id, int value_if_not_found = wxID_NONE);
 
     // Returns version info (a.b.c.d = d+ 256*c + 256^2*b + 256^3*a)
     long GetVersion() const;
@@ -189,13 +200,16 @@ 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.
+    wxString GetDomain() const;
+    void SetDomain(const wxString& domain);
 };
 
 //----------------------------------------------------------------------
 
 %pythoncode {
-def XRCID(str_id):
-    return XmlResource_GetXRCID(str_id)
+def XRCID(str_id, value_if_not_found = wx.ID_NONE):
+    return XmlResource_GetXRCID(str_id, value_if_not_found)
 
 def XRCCTRL(window, str_id, *ignoreargs):
     return window.FindWindowById(XRCID(str_id))