X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a24d7726e6b5c1b727d97603a3b5e80fa27a9dd2..14653d3b834c2563e016bdf1facd4fbe7d5fcb44:/wxPython/wx/tools/XRCed/tree.py diff --git a/wxPython/wx/tools/XRCed/tree.py b/wxPython/wx/tools/XRCed/tree.py index 1d45918535..408c8fb572 100644 --- a/wxPython/wx/tools/XRCed/tree.py +++ b/wxPython/wx/tools/XRCed/tree.py @@ -365,7 +365,7 @@ def SetMenu(m, list, shift=False): 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() @@ -475,6 +475,8 @@ class XML_Tree(wxTreeCtrl): # Clear tree def Clear(self): + self.selection = None + self.UnselectAll() self.DeleteAllItems() # Add minimal structure if self.dom: self.dom.unlink() @@ -487,11 +489,12 @@ class XML_Tree(wxTreeCtrl): 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() @@ -511,7 +514,6 @@ class XML_Tree(wxTreeCtrl): 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 @@ -717,6 +719,9 @@ class XML_Tree(wxTreeCtrl): 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']: @@ -766,7 +771,6 @@ class XML_Tree(wxTreeCtrl): # return wxBeginBusyCursor() - wxYield() # Close old window, remember where it was highLight = None if testWin: @@ -809,7 +813,6 @@ class XML_Tree(wxTreeCtrl): 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