public class CompositeUndoableAction extends UndoableAction {
- private var name:String;
+ public var name:String;
private var actions:Array = [];
private var actionsDone:Boolean = false;
}
}
+ [Bindable(event="new_undo_item")]
+ public function getUndoDescription():String {
+ if (undoActions.length==0) return null;
+ if (undoActions[undoActions.length-1].name) return undoActions[undoActions.length-1].name;
+ return null;
+ }
+
/**
* Takes the action most recently undone, does it, and adds it to the undo stack
*/
</mx:PopUpMenuButton>
<mx:Spacer width="100%"/>
<mx:Button label="Undo" click="MainUndoStack.getGlobalStack().undo();" styleName="appBarButton"
- enabled="{MainUndoStack.getGlobalStack().canUndo()}"/>
+ enabled="{MainUndoStack.getGlobalStack().canUndo()}"
+ toolTip="{MainUndoStack.getGlobalStack().getUndoDescription() ? 'Undo '+MainUndoStack.getGlobalStack().getUndoDescription() : 'Undo last action'}" />
<mx:Button label="Redo" click="MainUndoStack.getGlobalStack().redo();" styleName="appBarButton"
enabled="{MainUndoStack.getGlobalStack().canRedo()}"/>
<mx:Spacer width="100%"/>