Added wxXmlResourceHandler to wxPython and enabled it's virtuals to be

Python Callbacks.  Added a sample to the demo to show how to do it.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2002-08-24 02:29:34 +00:00
parent 92e898b0b4
commit 628c7f79d4
9 changed files with 4933 additions and 18 deletions

View File

@@ -2,3 +2,5 @@
# The global was removed in favor of static accessor functions. This is for
# backwards compatibility:
wxTheXmlResource = wxXmlResource_Get()
wx.wxXmlNodePtr = wxXmlNodePtr

File diff suppressed because it is too large Load Diff

View File

@@ -15,6 +15,8 @@
%{
#include "wxPython.h"
#include "pyistream.h"
#include "wx/xrc/xml.h"
#include "wx/xrc/xmlres.h"
#include <wx/filesys.h>
#include <wx/fs_mem.h>
@@ -31,7 +33,21 @@
%extern events.i
%extern controls.i
%extern streams.i
//---------------------------------------------------------------------------
%{
// Put some wx default wxChar* values into wxStrings.
static const wxString wxPyEmptyString(wxT(""));
static const wxString wxPyUTF8String(wxT("UTF-8"));
static const wxString wxPyStyleString(wxT("style"));
static const wxString wxPySizeString(wxT("size"));
static const wxString wxPyPosString(wxT("pos"));
static const wxString wxPyBitmapString(wxT("bitmap"));
static const wxString wxPyIconString(wxT("icon"));
static const wxString wxPyFontString(wxT("font"));
%}
//---------------------------------------------------------------------------
enum wxXmlResourceFlags
@@ -104,7 +120,10 @@ public:
// wxTextCtrlXmlHandler, wxHtmlWindowXmlHandler. XML resource compiler
// (xmlres) can create include file that contains initialization code for
// all controls used within the resource.
void AddHandler(wxXmlResourceHandler *handler);
void AddHandler(wxPyXmlResourceHandler *handler);
// Add a new handler at the begining of the handler list
void InsertHandler(wxPyXmlResourceHandler *handler);
// Removes all handlers
void ClearHandlers();
@@ -135,9 +154,22 @@ public:
wxPanel *LoadPanel(wxWindow *parent, const wxString& name);
%name(LoadOnPanel)bool LoadPanel(wxPanel *panel, wxWindow *parent, const wxString& name);
bool LoadFrame(wxFrame* frame, wxWindow *parent, const wxString& name);
// Load a frame's contents from a resource
wxFrame *LoadFrame(wxWindow* parent, const wxString& name);
%name(LoadOnFrame)bool LoadFrame(wxFrame* frame, wxWindow *parent, const wxString& name);
// Loads bitmap or icon resource from file:
// Load an object from the resource specifying both the resource name and
// the classname. This lets you load nonstandard container windows.
wxObject *LoadObject(wxWindow *parent, const wxString& name,
const wxString& classname);
// Load an object from the resource specifying both the resource name and
// the classname. This form lets you finish the creation of an existing
// instance.
%name(LoadOnObject)bool LoadObject(wxObject *instance, wxWindow *parent, const wxString& name,
const wxString& classname);
// Loads bitmap or icon resource from file:
wxBitmap LoadBitmap(const wxString& name);
wxIcon LoadIcon(const wxString& name);
@@ -180,9 +212,448 @@ XMLCTRL = XRCCTRL
"
//----------------------------------------------------------------------
//----------------------------------------------------------------------
// In order to provide wrappers for wxXmlResourceHandler we need to also
// provide the classes for representing and parsing XML.
// TODO: Add wxXmlResourceHandler and allow it to be derived from.
// Represents XML node type.
enum wxXmlNodeType
{
// note: values are synchronized with xmlElementType from libxml
wxXML_ELEMENT_NODE,
wxXML_ATTRIBUTE_NODE,
wxXML_TEXT_NODE,
wxXML_CDATA_SECTION_NODE,
wxXML_ENTITY_REF_NODE,
wxXML_ENTITY_NODE,
wxXML_PI_NODE,
wxXML_COMMENT_NODE,
wxXML_DOCUMENT_NODE,
wxXML_DOCUMENT_TYPE_NODE,
wxXML_DOCUMENT_FRAG_NODE,
wxXML_NOTATION_NODE,
wxXML_HTML_DOCUMENT_NODE
};
// Represents node property(ies).
// Example: in <img src="hello.gif" id="3"/> "src" is property with value
// "hello.gif" and "id" is property with value "3".
class wxXmlProperty
{
public:
wxXmlProperty(const wxString& name = wxPyEmptyString,
const wxString& value = wxPyEmptyString,
wxXmlProperty *next = NULL);
wxString GetName() const;
wxString GetValue() const;
wxXmlProperty *GetNext() const;
void SetName(const wxString& name);
void SetValue(const wxString& value);
void SetNext(wxXmlProperty *next);
};
// Represents node in XML document. Node has name and may have content
// and properties. Most common node types are wxXML_TEXT_NODE (name and props
// are irrelevant) and wxXML_ELEMENT_NODE (e.g. in <title>hi</title> there is
// element with name="title", irrelevant content and one child (wxXML_TEXT_NODE
// with content="hi").
//
// If wxUSE_UNICODE is 0, all strings are encoded in the encoding given to Load
// (default is UTF-8).
class wxXmlNode
{
public:
wxXmlNode(wxXmlNode *parent = NULL,
wxXmlNodeType type = 0,
const wxString& name = wxPyEmptyString,
const wxString& content = wxPyEmptyString,
wxXmlProperty *props = NULL,
wxXmlNode *next = NULL);
~wxXmlNode();
// user-friendly creation:
%name(wxXmlNodeEasy)wxXmlNode(wxXmlNodeType type, const wxString& name,
const wxString& content = wxPyEmptyString);
void AddChild(wxXmlNode *child);
void InsertChild(wxXmlNode *child, wxXmlNode *before_node);
bool RemoveChild(wxXmlNode *child);
void AddProperty(wxXmlProperty *prop);
%name(AddPropertyName)void AddProperty(const wxString& name, const wxString& value);
bool DeleteProperty(const wxString& name);
// access methods:
wxXmlNodeType GetType() const;
wxString GetName() const;
wxString GetContent() const;
wxXmlNode *GetParent() const;
wxXmlNode *GetNext() const;
wxXmlNode *GetChildren() const;
wxXmlProperty *GetProperties() const;
wxString GetPropVal(const wxString& propName,
const wxString& defaultVal) const;
bool HasProp(const wxString& propName) const;
void SetType(wxXmlNodeType type);
void SetName(const wxString& name);
void SetContent(const wxString& con);
void SetParent(wxXmlNode *parent);
void SetNext(wxXmlNode *next);
void SetChildren(wxXmlNode *child);
void SetProperties(wxXmlProperty *prop);
};
// This class holds XML data/document as parsed by XML parser.
class wxXmlDocument : public wxObject
{
public:
wxXmlDocument(const wxString& filename,
const wxString& encoding = wxPyUTF8String);
%name(wxXmlDocumentFromStream)wxXmlDocument(wxInputStream& stream,
const wxString& encoding = wxPyUTF8String);
%name(wxEmptyXmlDocument)wxXmlDocument();
~wxXmlDocument();
// Parses .xml file and loads data. Returns TRUE on success, FALSE
// otherwise.
bool Load(const wxString& filename,
const wxString& encoding = wxPyUTF8String);
%name(LoadFromStream)bool Load(wxInputStream& stream,
const wxString& encoding = wxPyUTF8String);
// Saves document as .xml file.
bool Save(const wxString& filename) const;
%name(SaveToStream)bool Save(wxOutputStream& stream) const;
bool IsOk() const;
// Returns root node of the document.
wxXmlNode *GetRoot() const;
// Returns version of document (may be empty).
wxString GetVersion() const;
// Returns encoding of document (may be empty).
// Note: this is the encoding original file was saved in, *not* the
// encoding of in-memory representation!
wxString GetFileEncoding() const;
// Write-access methods:
void SetRoot(wxXmlNode *node);
void SetVersion(const wxString& version);
void SetFileEncoding(const wxString& encoding);
%addmethods {
// Returns encoding of in-memory representation of the document (same
// as passed to Load or ctor, defaults to UTF-8). NB: this is
// meaningless in Unicode build where data are stored as wchar_t*
wxString GetEncoding() {
#if wxUSE_UNICODE
return wxPyEmptyString;
#else
return self->GetEncoding();
#endif
}
}
};
//----------------------------------------------------------------------
// And now for wxXmlResourceHandler...
%{ // C++ version of Python aware wxXmlResourceHandler, for the pure virtual
// callbacks, as well as to make some protected things public so they can
// be wrapped.
class wxPyXmlResourceHandler : public wxXmlResourceHandler {
public:
wxPyXmlResourceHandler() : wxXmlResourceHandler() {}
//~wxPyXmlResourceHandler();
// Base class virtuals
DEC_PYCALLBACK_OBJECT__pure(DoCreateResource);
DEC_PYCALLBACK_BOOL_NODE_pure(CanHandle);
// wxObject* DoCreateResource() {
// wxObject* rv = NULL;
// wxPyBeginBlockThreads();
// if (wxPyCBH_findCallback(m_myInst, "DoCreateResource")) {
// PyObject* ro;
// ro = wxPyCBH_callCallbackObj(m_myInst, Py_BuildValue("()"));
// if (ro) {
// SWIG_GetPtrObj(ro, (void **)&rv, "_wxObject_p");
// Py_DECREF(ro);
// }
// }
// wxPyEndBlockThreads();
// return rv;
// }
// bool CanHandle(wxXmlNode* a) {
// bool rv=FALSE;
// wxPyBeginBlockThreads();
// if (wxPyCBH_findCallback(m_myInst, "CanHandle")) {
// PyObject* obj = wxPyConstructObject((void*)a, "wxXmlNode", 0);
// rv = wxPyCBH_callCallback(m_myInst, Py_BuildValue("(O)", obj));
// Py_DECREF(obj);
// }
// wxPyEndBlockThreads();
// return rv;
// }
// accessors for protected members
wxXmlResource* GetResource() { return m_resource; }
wxXmlNode* GetNode() { return m_node; }
wxString GetClass() { return m_class; }
wxObject* GetParent() { return m_parent; }
wxObject* GetInstance() { return m_instance; }
wxWindow* GetParentAsWindow() { return m_parentAsWindow; }
wxWindow* GetInstanceAsWindow() { return m_instanceAsWindow; }
// turn some protected methods into public via delegation
bool IsOfClass(wxXmlNode *node, const wxString& classname)
{ return wxXmlResourceHandler::IsOfClass(node, classname); }
wxString GetNodeContent(wxXmlNode *node)
{ return wxXmlResourceHandler::GetNodeContent(node); }
bool HasParam(const wxString& param)
{ return wxXmlResourceHandler::HasParam(param); }
wxXmlNode *GetParamNode(const wxString& param)
{ return wxXmlResourceHandler::GetParamNode(param); }
wxString GetParamValue(const wxString& param)
{ return wxXmlResourceHandler::GetParamValue(param); }
void AddStyle(const wxString& name, int value)
{ wxXmlResourceHandler::AddStyle(name, value); }
void AddWindowStyles()
{ wxXmlResourceHandler::AddWindowStyles(); }
int GetStyle(const wxString& param = wxT("style"), int defaults = 0)
{ return wxXmlResourceHandler::GetStyle(param, defaults); }
wxString GetText(const wxString& param, bool translate = TRUE)
{ return wxXmlResourceHandler::GetText(param, translate); }
int GetID()
{ return wxXmlResourceHandler::GetID(); }
wxString GetName()
{ return wxXmlResourceHandler::GetName(); }
bool GetBool(const wxString& param, bool defaultv = FALSE)
{ return wxXmlResourceHandler::GetBool(param, defaultv); }
long GetLong( const wxString& param, long defaultv = 0 )
{ return wxXmlResourceHandler::GetLong(param, defaultv); }
wxColour GetColour(const wxString& param)
{ return wxXmlResourceHandler::GetColour(param); }
wxSize GetSize(const wxString& param = wxT("size"))
{ return wxXmlResourceHandler::GetSize(param); }
wxPoint GetPosition(const wxString& param = wxT("pos"))
{ return wxXmlResourceHandler::GetPosition(param); }
wxCoord GetDimension(const wxString& param, wxCoord defaultv = 0)
{ return wxXmlResourceHandler::GetDimension(param, defaultv); }
wxBitmap GetBitmap(const wxString& param = wxT("bitmap"),
const wxArtClient& defaultArtClient = wxART_OTHER,
wxSize size = wxDefaultSize)
{ return wxXmlResourceHandler::GetBitmap(param, defaultArtClient, size); }
wxIcon GetIcon(const wxString& param = wxT("icon"),
const wxArtClient& defaultArtClient = wxART_OTHER,
wxSize size = wxDefaultSize)
{ return wxXmlResourceHandler::GetIcon(param, defaultArtClient, size); }
wxFont GetFont(const wxString& param = wxT("font"))
{ return wxXmlResourceHandler::GetFont(param); }
void SetupWindow(wxWindow *wnd)
{ wxXmlResourceHandler::SetupWindow(wnd); }
void CreateChildren(wxObject *parent, bool this_hnd_only = FALSE)
{ wxXmlResourceHandler::CreateChildren(parent, this_hnd_only); }
void CreateChildrenPrivately(wxObject *parent, wxXmlNode *rootnode = NULL)
{ wxXmlResourceHandler::CreateChildrenPrivately(parent, rootnode); }
wxObject *CreateResFromNode(wxXmlNode *node,
wxObject *parent, wxObject *instance = NULL)
{ return wxXmlResourceHandler::CreateResFromNode(node, parent, instance); }
wxFileSystem& GetCurFileSystem()
{ return wxXmlResourceHandler::GetCurFileSystem(); }
PYPRIVATE;
};
IMP_PYCALLBACK_OBJECT__pure(wxPyXmlResourceHandler, wxXmlResourceHandler, DoCreateResource);
IMP_PYCALLBACK_BOOL_NODE_pure(wxPyXmlResourceHandler, wxXmlResourceHandler, CanHandle);
%}
//----------------------------------------------------------------------
// Now the version that will be SWIGged.
%name(wxXmlResourceHandler) class wxPyXmlResourceHandler : public wxObject {
public:
wxPyXmlResourceHandler() : wxXmlResourceHandler() {}
//~wxPyXmlResourceHandler();
void _setCallbackInfo(PyObject* self, PyObject* _class);
%pragma(python) addtomethod = "__init__:self._setCallbackInfo(self, wxXmlResourceHandler)"
// Creates an object (menu, dialog, control, ...) from an XML node.
// Should check for validity.
// parent is a higher-level object (usually window, dialog or panel)
// that is often neccessary to create the resource.
// If instance is non-NULL it should not create a new instance via 'new' but
// should rather use this one, and call its Create method.
wxObject *CreateResource(wxXmlNode *node, wxObject *parent,
wxObject *instance);
// Sets the parent resource.
void SetParentResource(wxXmlResource *res);
wxXmlResource* GetResource() { return m_resource; }
wxXmlNode* GetNode() { return m_node; }
wxString GetClass() { return m_class; }
wxObject* GetParent() { return m_parent; }
wxObject* GetInstance() { return m_instance; }
wxWindow* GetParentAsWindow() { return m_parentAsWindow; }
wxWindow* GetInstanceAsWindow() { return m_instanceAsWindow; }
// Returns true if the node has a property class equal to classname,
// e.g. <object class="wxDialog">.
bool IsOfClass(wxXmlNode *node, const wxString& classname);
// Gets node content from wxXML_ENTITY_NODE
// The problem is, <tag>content<tag> is represented as
// wxXML_ENTITY_NODE name="tag", content=""
// |-- wxXML_TEXT_NODE or
// wxXML_CDATA_SECTION_NODE name="" content="content"
wxString GetNodeContent(wxXmlNode *node);
// Check to see if a parameter exists.
bool HasParam(const wxString& param);
// Finds the node or returns NULL.
wxXmlNode *GetParamNode(const wxString& param);
// Finds the parameter value or returns the empty string.
wxString GetParamValue(const wxString& param);
// Add a style flag (e.g. wxMB_DOCKABLE) to the list of flags
// understood by this handler.
void AddStyle(const wxString& name, int value);
// Add styles common to all wxWindow-derived classes.
void AddWindowStyles();
// Gets style flags from text in form "flag | flag2| flag3 |..."
// Only understads flags added with AddStyle
int GetStyle(const wxString& param = wxPyStyleString, int defaults = 0);
// Gets text from param and does some conversions:
// - replaces \n, \r, \t by respective chars (according to C syntax)
// - replaces _ by & and __ by _ (needed for _File => &File because of XML)
// - calls wxGetTranslations (unless disabled in wxXmlResource)
wxString GetText(const wxString& param, bool translate = TRUE);
// Returns the XRCID.
int GetID();
// Returns the resource name.
wxString GetName();
// Gets a bool flag (1, t, yes, on, true are TRUE, everything else is FALSE).
bool GetBool(const wxString& param, bool defaultv = FALSE);
// Gets the integer value from the parameter.
long GetLong( const wxString& param, long defaultv = 0 );
// Gets colour in HTML syntax (#RRGGBB).
wxColour GetColour(const wxString& param);
// Gets the size (may be in dialog units).
wxSize GetSize(const wxString& param = wxPySizeString);
// Gets the position (may be in dialog units).
wxPoint GetPosition(const wxString& param = wxPyPosString);
// Gets a dimension (may be in dialog units).
wxCoord GetDimension(const wxString& param, wxCoord defaultv = 0);
// Gets a bitmap.
wxBitmap GetBitmap(const wxString& param = wxPyBitmapString,
const wxArtClient& defaultArtClient = wxART_OTHER,
wxSize size = wxDefaultSize);
// Gets an icon.
wxIcon GetIcon(const wxString& param = wxPyIconString,
const wxArtClient& defaultArtClient = wxART_OTHER,
wxSize size = wxDefaultSize);
// Gets a font.
wxFont GetFont(const wxString& param = wxPyFontString);
// Sets common window options.
void SetupWindow(wxWindow *wnd);
// Creates children.
void CreateChildren(wxObject *parent, bool this_hnd_only = FALSE);
// Helper function.
void CreateChildrenPrivately(wxObject *parent, wxXmlNode *rootnode = NULL);
// Creates a resource from a node.
wxObject *CreateResFromNode(wxXmlNode *node,
wxObject *parent, wxObject *instance = NULL);
// helper
wxFileSystem& GetCurFileSystem();
};
//----------------------------------------------------------------------
//----------------------------------------------------------------------
%init %{

View File

@@ -71,6 +71,9 @@ class wxXmlResourcePtr(wxObjectPtr):
def AddHandler(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResource_AddHandler,(self,) + _args, _kwargs)
return val
def InsertHandler(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResource_InsertHandler,(self,) + _args, _kwargs)
return val
def ClearHandlers(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResource_ClearHandlers,(self,) + _args, _kwargs)
return val
@@ -103,6 +106,15 @@ class wxXmlResourcePtr(wxObjectPtr):
def LoadFrame(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResource_LoadFrame,(self,) + _args, _kwargs)
return val
def LoadOnFrame(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResource_LoadOnFrame,(self,) + _args, _kwargs)
return val
def LoadObject(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResource_LoadObject,(self,) + _args, _kwargs)
return val
def LoadOnObject(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResource_LoadOnObject,(self,) + _args, _kwargs)
return val
def LoadBitmap(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResource_LoadBitmap,(self,) + _args, _kwargs)
if val: val = wxBitmapPtr(val) ; val.thisown = 1
@@ -137,6 +149,324 @@ def wxEmptyXmlResource(*_args,**_kwargs):
return val
class wxXmlPropertyPtr :
def __init__(self,this):
self.this = this
self.thisown = 0
def GetName(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlProperty_GetName,(self,) + _args, _kwargs)
return val
def GetValue(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlProperty_GetValue,(self,) + _args, _kwargs)
return val
def GetNext(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlProperty_GetNext,(self,) + _args, _kwargs)
if val: val = wxXmlPropertyPtr(val)
return val
def SetName(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlProperty_SetName,(self,) + _args, _kwargs)
return val
def SetValue(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlProperty_SetValue,(self,) + _args, _kwargs)
return val
def SetNext(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlProperty_SetNext,(self,) + _args, _kwargs)
return val
def __repr__(self):
return "<C wxXmlProperty instance at %s>" % (self.this,)
class wxXmlProperty(wxXmlPropertyPtr):
def __init__(self,*_args,**_kwargs):
self.this = apply(xrcc.new_wxXmlProperty,_args,_kwargs)
self.thisown = 1
class wxXmlNodePtr :
def __init__(self,this):
self.this = this
self.thisown = 0
def __del__(self,xrcc=xrcc):
if self.thisown == 1 :
xrcc.delete_wxXmlNode(self)
def AddChild(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_AddChild,(self,) + _args, _kwargs)
return val
def InsertChild(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_InsertChild,(self,) + _args, _kwargs)
return val
def RemoveChild(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_RemoveChild,(self,) + _args, _kwargs)
return val
def AddProperty(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_AddProperty,(self,) + _args, _kwargs)
return val
def AddPropertyName(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_AddPropertyName,(self,) + _args, _kwargs)
return val
def DeleteProperty(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_DeleteProperty,(self,) + _args, _kwargs)
return val
def GetType(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_GetType,(self,) + _args, _kwargs)
return val
def GetName(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_GetName,(self,) + _args, _kwargs)
return val
def GetContent(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_GetContent,(self,) + _args, _kwargs)
return val
def GetParent(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_GetParent,(self,) + _args, _kwargs)
if val: val = wxXmlNodePtr(val)
return val
def GetNext(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_GetNext,(self,) + _args, _kwargs)
if val: val = wxXmlNodePtr(val)
return val
def GetChildren(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_GetChildren,(self,) + _args, _kwargs)
if val: val = wxXmlNodePtr(val)
return val
def GetProperties(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_GetProperties,(self,) + _args, _kwargs)
if val: val = wxXmlPropertyPtr(val)
return val
def GetPropVal(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_GetPropVal,(self,) + _args, _kwargs)
return val
def HasProp(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_HasProp,(self,) + _args, _kwargs)
return val
def SetType(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_SetType,(self,) + _args, _kwargs)
return val
def SetName(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_SetName,(self,) + _args, _kwargs)
return val
def SetContent(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_SetContent,(self,) + _args, _kwargs)
return val
def SetParent(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_SetParent,(self,) + _args, _kwargs)
return val
def SetNext(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_SetNext,(self,) + _args, _kwargs)
return val
def SetChildren(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_SetChildren,(self,) + _args, _kwargs)
return val
def SetProperties(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlNode_SetProperties,(self,) + _args, _kwargs)
return val
def __repr__(self):
return "<C wxXmlNode instance at %s>" % (self.this,)
class wxXmlNode(wxXmlNodePtr):
def __init__(self,*_args,**_kwargs):
self.this = apply(xrcc.new_wxXmlNode,_args,_kwargs)
self.thisown = 1
def wxXmlNodeEasy(*_args,**_kwargs):
val = wxXmlNodePtr(apply(xrcc.new_wxXmlNodeEasy,_args,_kwargs))
val.thisown = 1
return val
class wxXmlDocumentPtr(wxObjectPtr):
def __init__(self,this):
self.this = this
self.thisown = 0
def __del__(self,xrcc=xrcc):
if self.thisown == 1 :
xrcc.delete_wxXmlDocument(self)
def Load(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlDocument_Load,(self,) + _args, _kwargs)
return val
def LoadFromStream(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlDocument_LoadFromStream,(self,) + _args, _kwargs)
return val
def Save(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlDocument_Save,(self,) + _args, _kwargs)
return val
def SaveToStream(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlDocument_SaveToStream,(self,) + _args, _kwargs)
return val
def IsOk(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlDocument_IsOk,(self,) + _args, _kwargs)
return val
def GetRoot(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlDocument_GetRoot,(self,) + _args, _kwargs)
if val: val = wxXmlNodePtr(val)
return val
def GetVersion(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlDocument_GetVersion,(self,) + _args, _kwargs)
return val
def GetFileEncoding(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlDocument_GetFileEncoding,(self,) + _args, _kwargs)
return val
def SetRoot(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlDocument_SetRoot,(self,) + _args, _kwargs)
return val
def SetVersion(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlDocument_SetVersion,(self,) + _args, _kwargs)
return val
def SetFileEncoding(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlDocument_SetFileEncoding,(self,) + _args, _kwargs)
return val
def GetEncoding(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlDocument_GetEncoding,(self,) + _args, _kwargs)
return val
def __repr__(self):
return "<C wxXmlDocument instance at %s>" % (self.this,)
class wxXmlDocument(wxXmlDocumentPtr):
def __init__(self,*_args,**_kwargs):
self.this = apply(xrcc.new_wxXmlDocument,_args,_kwargs)
self.thisown = 1
def wxXmlDocumentFromStream(*_args,**_kwargs):
val = wxXmlDocumentPtr(apply(xrcc.new_wxXmlDocumentFromStream,_args,_kwargs))
val.thisown = 1
return val
def wxEmptyXmlDocument(*_args,**_kwargs):
val = wxXmlDocumentPtr(apply(xrcc.new_wxEmptyXmlDocument,_args,_kwargs))
val.thisown = 1
return val
class wxXmlResourceHandlerPtr(wxObjectPtr):
def __init__(self,this):
self.this = this
self.thisown = 0
def _setCallbackInfo(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler__setCallbackInfo,(self,) + _args, _kwargs)
return val
def CreateResource(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_CreateResource,(self,) + _args, _kwargs)
return val
def SetParentResource(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_SetParentResource,(self,) + _args, _kwargs)
return val
def GetResource(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetResource,(self,) + _args, _kwargs)
if val: val = wxXmlResourcePtr(val)
return val
def GetNode(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetNode,(self,) + _args, _kwargs)
if val: val = wxXmlNodePtr(val)
return val
def GetClass(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetClass,(self,) + _args, _kwargs)
return val
def GetParent(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetParent,(self,) + _args, _kwargs)
return val
def GetInstance(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetInstance,(self,) + _args, _kwargs)
return val
def GetParentAsWindow(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetParentAsWindow,(self,) + _args, _kwargs)
return val
def GetInstanceAsWindow(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetInstanceAsWindow,(self,) + _args, _kwargs)
return val
def IsOfClass(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_IsOfClass,(self,) + _args, _kwargs)
return val
def GetNodeContent(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetNodeContent,(self,) + _args, _kwargs)
return val
def HasParam(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_HasParam,(self,) + _args, _kwargs)
return val
def GetParamNode(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetParamNode,(self,) + _args, _kwargs)
if val: val = wxXmlNodePtr(val)
return val
def GetParamValue(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetParamValue,(self,) + _args, _kwargs)
return val
def AddStyle(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_AddStyle,(self,) + _args, _kwargs)
return val
def AddWindowStyles(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_AddWindowStyles,(self,) + _args, _kwargs)
return val
def GetStyle(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetStyle,(self,) + _args, _kwargs)
return val
def GetText(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetText,(self,) + _args, _kwargs)
return val
def GetID(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetID,(self,) + _args, _kwargs)
return val
def GetName(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetName,(self,) + _args, _kwargs)
return val
def GetBool(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetBool,(self,) + _args, _kwargs)
return val
def GetLong(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetLong,(self,) + _args, _kwargs)
return val
def GetColour(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetColour,(self,) + _args, _kwargs)
if val: val = wxColourPtr(val) ; val.thisown = 1
return val
def GetSize(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetSize,(self,) + _args, _kwargs)
if val: val = wxSizePtr(val) ; val.thisown = 1
return val
def GetPosition(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetPosition,(self,) + _args, _kwargs)
if val: val = wxPointPtr(val) ; val.thisown = 1
return val
def GetDimension(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetDimension,(self,) + _args, _kwargs)
return val
def GetBitmap(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetBitmap,(self,) + _args, _kwargs)
if val: val = wxBitmapPtr(val) ; val.thisown = 1
return val
def GetIcon(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetIcon,(self,) + _args, _kwargs)
if val: val = wxIconPtr(val) ; val.thisown = 1
return val
def GetFont(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetFont,(self,) + _args, _kwargs)
if val: val = wxFontPtr(val) ; val.thisown = 1
return val
def SetupWindow(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_SetupWindow,(self,) + _args, _kwargs)
return val
def CreateChildren(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_CreateChildren,(self,) + _args, _kwargs)
return val
def CreateChildrenPrivately(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_CreateChildrenPrivately,(self,) + _args, _kwargs)
return val
def CreateResFromNode(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_CreateResFromNode,(self,) + _args, _kwargs)
return val
def GetCurFileSystem(self, *_args, **_kwargs):
val = apply(xrcc.wxXmlResourceHandler_GetCurFileSystem,(self,) + _args, _kwargs)
return val
def __repr__(self):
return "<C wxXmlResourceHandler instance at %s>" % (self.this,)
class wxXmlResourceHandler(wxXmlResourceHandlerPtr):
def __init__(self,*_args,**_kwargs):
self.this = apply(xrcc.new_wxXmlResourceHandler,_args,_kwargs)
self.thisown = 1
self._setCallbackInfo(self, wxXmlResourceHandler)
#-------------- FUNCTION WRAPPERS ------------------
@@ -159,6 +489,19 @@ def wxXmlResource_Set(*_args, **_kwargs):
wxXRC_USE_LOCALE = xrcc.wxXRC_USE_LOCALE
wxXRC_NO_SUBCLASSING = xrcc.wxXRC_NO_SUBCLASSING
wxXML_ELEMENT_NODE = xrcc.wxXML_ELEMENT_NODE
wxXML_ATTRIBUTE_NODE = xrcc.wxXML_ATTRIBUTE_NODE
wxXML_TEXT_NODE = xrcc.wxXML_TEXT_NODE
wxXML_CDATA_SECTION_NODE = xrcc.wxXML_CDATA_SECTION_NODE
wxXML_ENTITY_REF_NODE = xrcc.wxXML_ENTITY_REF_NODE
wxXML_ENTITY_NODE = xrcc.wxXML_ENTITY_NODE
wxXML_PI_NODE = xrcc.wxXML_PI_NODE
wxXML_COMMENT_NODE = xrcc.wxXML_COMMENT_NODE
wxXML_DOCUMENT_NODE = xrcc.wxXML_DOCUMENT_NODE
wxXML_DOCUMENT_TYPE_NODE = xrcc.wxXML_DOCUMENT_TYPE_NODE
wxXML_DOCUMENT_FRAG_NODE = xrcc.wxXML_DOCUMENT_FRAG_NODE
wxXML_NOTATION_NODE = xrcc.wxXML_NOTATION_NODE
wxXML_HTML_DOCUMENT_NODE = xrcc.wxXML_HTML_DOCUMENT_NODE
#-------------- USER INCLUDE -----------------------
@@ -167,3 +510,5 @@ wxXRC_NO_SUBCLASSING = xrcc.wxXRC_NO_SUBCLASSING
# The global was removed in favor of static accessor functions. This is for
# backwards compatibility:
wxTheXmlResource = wxXmlResource_Get()
wx.wxXmlNodePtr = wxXmlNodePtr