xxx = tree.GetPyData(selected)
wx.TheClipboard.Open()
data = wx.CustomDataObject('XRCED')
- data.SetData(cPickle.dumps(xxx.element))
+ data.SetData(cPickle.dumps(xxx.element.toxml()))
wx.TheClipboard.SetData(data)
wx.TheClipboard.Close()
self.SetStatusText('Copied')
return
wx.TheClipboard.GetData(data)
wx.TheClipboard.Close()
- elem = cPickle.loads(data.GetData())
+ xml = cPickle.loads(data.GetData()) # xml representation of element
+ elem = minidom.parseString(xml).childNodes[0]
# Tempopary xxx object to test things
xxx = MakeXXXFromDOM(parent, elem)
-
# Check compatibility
error = False
# Top-level
x = xxx.treeObject()
- if x.__class__ in [xxxDialog, xxxFrame, xxxMenuBar, xxxWizard]:
+ if x.__class__ in [xxxDialog, xxxFrame, xxxWizard]:
# Top-level classes
if parent.__class__ != xxxMainNode: error = True
+ elif x.__class__ == xxxMenuBar:
+ # Menubar can be put in frame or dialog
+ if parent.__class__ not in [xxxMainNode, xxxFrame, xxxDialog]: error = True
elif x.__class__ == xxxToolBar:
# Toolbar can be top-level of child of panel or frame
if parent.__class__ not in [xxxMainNode, xxxPanel, xxxFrame] and \
if evt.GetId() == wxID_CUT:
wx.TheClipboard.Open()
data = wx.CustomDataObject('XRCED')
- data.SetData(cPickle.dumps(elem))
+ data.SetData(cPickle.dumps(elem.toxml()))
wx.TheClipboard.SetData(data)
wx.TheClipboard.Close()
tree.pendingHighLight = None