We're writing a Python plugin for QGIS 2.8.3. I've derived a class from
QUndoCommand to contain "undo-able" work. When I push it onto the undo stack, its
redo method gets called as expected, but QGIS doesn't call the
undo method when I click Undo in the Undo/Redo History widget, nor call the
redo method again when I click Redo.
The code looks like:
class TestUndoCommand(QUndoCommand): def __init__(self): super(TestUndoCommand, self).__init__("TestUndoCommand") def redo(self): super(TestUndoCommand, self).redo() QMessageBox.information(None, "Redo", "Redo") def undo(self): super(TestUndoCommand, self).undo() QMessageBox.information(None, "Undo", "Undo") undoAddCmd = TestUndoCommand() someLayer.undoStack().push(undoAddCmd)
What am I missing?