package ilarkesto.gwt.client.undo;
import ilarkesto.gwt.client.DropdownMenuButtonWidget;
import ilarkesto.gwt.client.Gwt;
import com.google.gwt.user.client.ui.Widget;
public class UndoButtonWidget extends DropdownMenuButtonWidget {
private UndoManager undoManager;
public UndoButtonWidget() {
setLabel("Undo");
}
@Override
protected Widget onInitialization() {
undoManager = Gwt.getUndoManager();
Widget widget = super.onInitialization();
return Gwt.createDiv("UndoButtonWidget", widget);
}
@Override
protected void onUpdate() {
clear();
if (undoManager != null) {
for (AUndoOperation operation : undoManager.getOperations()) {
addAction(new UndoAction(undoManager, operation));
}
}
super.onUpdate();
}
public void setUndoManager(UndoManager undoManager) {
this.undoManager = undoManager;
}
}