%{
-#include "export.h"
+#include "wxPython.h"
#include "wx/xrc/xmlres.h"
%}
//---------------------------------------------------------------------------
+enum wxXmlResourceFlags
+{
+ wxXRC_USE_LOCALE = 1,
+ wxXRC_NO_SUBCLASSING = 2
+};
+
+
// This class holds XML resources from one or more .xml files
// (or derived forms, either binary or zipped -- see manual for
// details).
class wxXmlResource : public wxObject
{
public:
- // Ctor. If use_locale is TRUE, translatable strings are
- // translated via _(). You can disable it by passing use_locale=FALSE
- // (for example if you provide resource file for each locale)
- %name(wxXmlResourceEmpty)wxXmlResource(bool use_locale = TRUE); // TODO, a better %name
+ // Ctor.
+ // Flags: wxXRC_USE_LOCALE
+ // translatable strings will be translated via _()
+ // wxXRC_NO_SUBCLASSING
+ // subclass property of object nodes will be ignored
+ // (useful for previews in XRC editors)
+ %name(wxXmlResourceEmpty)wxXmlResource(int flags = wxXRC_USE_LOCALE); // TODO, a better %name
%addmethods {
- wxXmlResource(const wxString* filemask, bool use_locale = TRUE) {
- wxXmlResource* res = new wxXmlResource(*filemask, use_locale);
+ wxXmlResource(const wxString* filemask, int flags = wxXRC_USE_LOCALE) {
+ wxXmlResource* res = new wxXmlResource(*filemask, flags);
res->InitAllHandlers();
return res;
}
// Loads menubar from resource. Returns NULL on failure.
wxMenuBar *LoadMenuBar(const wxString& name);
+ %name(LoadMenuBarOnFrame) wxMenuBar *LoadMenuBar(wxWindow *parent, const wxString& name);
+
// Loads toolbar
wxToolBar *LoadToolBar(wxWindow *parent, const wxString& name);
// 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 GetXMLID(const char *str_id);
+ static int GetXRCID(const wxString& str_id);
// Returns version info (a.b.c.d = d+ 256*c + 256^2*b + 256^3*a)
long GetVersion() const;
// is less than the argument, +1 if greater and 0 if they equal.
int CompareVersion(int major, int minor, int release, int revision) const;
-};
-//----------------------------------------------------------------------
+ // Gets global resources object or create one if none exists
+ static wxXmlResource *Get();
+ // Sets global resources object and returns pointer to previous one (may be NULL).
+ static wxXmlResource *Set(wxXmlResource *res);
-%readonly
-// Global instance of resource class. For your convenience.
-wxXmlResource *wxTheXmlResource;
-%readwrite
+};
//----------------------------------------------------------------------
%pragma(python) code = "
-def XMLID(str_id):
- return wxXmlResource_GetXMLID(str_id)
+def XRCID(str_id):
+ return wxXmlResource_GetXRCID(str_id)
-def XMLCTRL(window, str_id, *args):
- return window.FindWindowById(XMLID(str_id))
+def XRCCTRL(window, str_id, *ignoreargs):
+ return window.FindWindowById(XRCID(str_id))
+XMLID = XRCID
+XMLCTRL = XRCCTRL
"
//----------------------------------------------------------------------
-// TODO: Add wxXmlResourceHandler and etc.
+// TODO: Add wxXmlResourceHandler and allow it to be derived from.
//----------------------------------------------------------------------
wxClassInfo::CleanUpClasses();
wxClassInfo::InitializeClasses();
- wxXmlInitXmlModule();
wxXmlInitResourceModule();
- wxTheXmlResource->InitAllHandlers();
+ wxXmlResource::Get()->InitAllHandlers();
%}
-//---------------------------------------------------------------------------
+//----------------------------------------------------------------------
+// This file gets appended to the shadow class file.
+//----------------------------------------------------------------------
+
+%pragma(python) include="_xrcextras.py";
+
+