package tim.prune.undo; import tim.prune.I18nManager; import tim.prune.UpdateMessageBroker; import tim.prune.data.Photo; import tim.prune.data.TrackInfo; /** * Operation to undo the rotation of a photo */ public class UndoRotatePhoto implements UndoOperation { private Photo _photo = null; private boolean _rightwards = true; /** * Constructor * @param inPhoto photo * @param inDir true if original operation was rightwards (clockwise) rotation */ public UndoRotatePhoto(Photo inPhoto, boolean inDir) { _photo = inPhoto; _rightwards = inDir; } /** * @return description of operation including photo name */ public String getDescription() { return I18nManager.getText("undo.rotatephoto") + " " + _photo.getName(); } /** * Perform the undo operation on the given Track * @param inTrackInfo TrackInfo object on which to perform the operation */ public void performUndo(TrackInfo inTrackInfo) throws UndoException { _photo.rotate(!_rightwards); // inform subscribers UpdateMessageBroker.informSubscribers(); } }