def OnMenuPaste(self, evt): '''wx.ID_PASTE handler (for XMLTreeMenu).''' state = self.tree.GetFullState() # state just before item = Presenter.paste() if not item: return # error in paste() itemIndex = self.tree.ItemFullIndex(item) g.undoMan.RegisterUndo(undo.UndoPasteCreate(itemIndex, state))
def OnPasteSibling(self, evt): '''ID.PASTE_SIBLING handler.''' forceSibling = True state = wx.GetMouseState() forceInsert = state.ShiftDown() g.Presenter.updateCreateState(forceSibling, forceInsert) treeState = self.tree.GetFullState() # state just before item = Presenter.paste() itemIndex = self.tree.ItemFullIndex(item) g.undoMan.RegisterUndo(undo.UndoPasteCreate(itemIndex, treeState))
def OnComponentCreate(self, evt): '''Hadnler for creating new elements.''' state = self.tree.GetFullState() # state just before comp = Manager.findById(evt.GetId()) if comp.groups[0] == 'component': node = Model.createComponentNode('Component') item = Presenter.create(comp, node) else: item = Presenter.create(comp) itemIndex = self.tree.ItemFullIndex(item) g.undoMan.RegisterUndo(undo.UndoPasteCreate(itemIndex, state))
def OnCmdPaste(self, evt): '''ID.PASTE handler (for Edit menu and shortcuts).''' TRACE('OnCmdPaste') state = wx.GetMouseState() forceSibling = state.AltDown() forceInsert = state.ShiftDown() g.Presenter.updateCreateState(forceSibling, forceInsert) state = self.tree.GetFullState() # state just before item = Presenter.paste() if not item: return # error in paste() itemIndex = self.tree.ItemFullIndex(item) g.undoMan.RegisterUndo(undo.UndoPasteCreate(itemIndex, state))
def OnToolPaste(self, evt): '''frame.ID_TOOL_PASTE handler.''' state = wx.GetMouseState() # Ctrl+click does not work with tools on Mac, Alt+click often # bound to window move on wxGTK if wx.Platform == '__WXMAC__': forceSibling = state.AltDown() else: forceSibling = state.ControlDown() forceInsert = state.ShiftDown() g.Presenter.updateCreateState(forceSibling, forceInsert) treeState = self.tree.GetFullState() # state just before item = Presenter.paste() if not item: return # error in paste() itemIndex = self.tree.ItemFullIndex(item) g.undoMan.RegisterUndo(undo.UndoPasteCreate(itemIndex, treeState))