apply(m.Append, l)
elif type(l) == types.ListType:
subMenu = wxMenu()
- SetMenu(subMenu, l[2:])
+ SetMenu(subMenu, l[2:], shift)
m.AppendMenu(wxNewId(), l[0], subMenu, l[1])
else: # separator
m.AppendSeparator()
# Clear tree
def Clear(self):
+ self.selection = None
+ self.UnselectAll()
self.DeleteAllItems()
# Add minimal structure
if self.dom: self.dom.unlink()
self.root = self.AddRoot('XML tree', self.rootImage,
data=wxTreeItemData(self.rootObj))
self.SetItemHasChildren(self.root)
- self.UnselectAll()
self.Expand(self.root)
# Clear old data and set new
def SetData(self, dom):
+ self.selection = None
+ self.UnselectAll()
self.DeleteAllItems()
# Add minimal structure
if self.dom: self.dom.unlink()
self.mainNode.removeChild(node)
node.unlink()
self.Expand(self.root)
- self.UnselectAll()
# Add tree item for given parent item if node is DOM element node with
# object/object_ref tag. xxxParent is parent xxx object
if g.panel.IsModified():
self.Apply(xxx, item) # apply changes
treeObj = xxx.treeObject()
+ if self.GetItemParent(item) != self.root:
+ wxLogMessage('Only top-level objects can be tested')
+ return
if treeObj.className not in ['wxFrame', 'wxPanel', 'wxDialog',
'wxMenuBar', 'wxToolBar', 'wxWizard',
'wxWizardPageSimple']:
# return
wxBeginBusyCursor()
- wxYield()
# Close old window, remember where it was
highLight = None
if testWin:
next = elem.nextSibling
encd = self.rootObj.params['encoding'].value()
if not encd: encd = None
- self.dom.writexml(open('ttt.xrc','w'), encoding=encd)
self.dom.writexml(memFile, encoding=encd)
# Put back in place
# Remove temporary name or restore changed