0.1.6-4: replace working for sizeritems and spacers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35192 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
# RCS-ID: $Id$
|
||||
|
||||
from globals import *
|
||||
from xxx import MakeXXXFromDOM
|
||||
#from panel import *
|
||||
|
||||
# Undo/redo classes
|
||||
@@ -119,6 +120,49 @@ class UndoPasteCreate:
|
||||
else:
|
||||
g.tree.pendingHighLight = None
|
||||
|
||||
class UndoReplace:
|
||||
def __init__(self, item):
|
||||
self.itemIndex = g.tree.ItemFullIndex(item)
|
||||
self.xxx = g.tree.GetPyData(item)
|
||||
def destroy(self):
|
||||
if self.xxx: self.xxx.element.unlink()
|
||||
def undo(self):
|
||||
print 'Sorry, UndoReplace is not yet implemented.'
|
||||
return
|
||||
item = g.tree.ItemAtFullIndex(self.itemIndex)
|
||||
xxx = g.tree.GetPyData(item)
|
||||
# Replace with old element
|
||||
parent = xxx.parent.element
|
||||
if xxx is self.xxx: # sizeritem or notebookpage - replace child
|
||||
parent.replaceChild(self.xxx.child.element, xxx.child.element)
|
||||
else:
|
||||
parent.replaceChild(self.xxx.element, xxx.element)
|
||||
self.xxx.parent = xxx.parent
|
||||
xxx = self.xxx
|
||||
g.tree.SetPyData(item, xxx)
|
||||
g.tree.SetItemText(item, xxx.treeName())
|
||||
g.tree.SetItemImage(item, xxx.treeImage())
|
||||
|
||||
# Update panel
|
||||
g.panel.SetData(xxx)
|
||||
# Update tools
|
||||
g.tools.UpdateUI()
|
||||
g.tree.EnsureVisible(item)
|
||||
g.tree.SelectItem(item)
|
||||
# Delete testWin?
|
||||
if g.testWin:
|
||||
# If deleting top-level item, delete testWin
|
||||
if selected == g.testWin.item:
|
||||
g.testWin.Destroy()
|
||||
g.testWin = None
|
||||
else:
|
||||
# Remove highlight, update testWin
|
||||
if g.testWin.highLight:
|
||||
g.testWin.highLight.Remove()
|
||||
g.tree.needUpdate = True
|
||||
def redo(self):
|
||||
return
|
||||
|
||||
class UndoEdit:
|
||||
def __init__(self):
|
||||
self.pages = map(ParamPage.GetState, g.panel.pages)
|
||||
|
Reference in New Issue
Block a user