package com.uwsoft.editor.controller.commands; import com.kotcrab.vis.ui.InputValidator; import com.kotcrab.vis.ui.util.dialog.DialogUtils; import com.kotcrab.vis.ui.util.dialog.InputDialogListener; import com.uwsoft.editor.utils.Guide; import com.uwsoft.editor.view.ui.RulersUI; /** * Created by billzo on 12/22/2015. */ public class ChangeRulerPositionCommand extends RevertableCommand { private float previousPosition; private String direction; @Override public void doAction() { previousPosition = RulersUI.getPreviousGuide().pos; direction = RulersUI.getPreviousGuide().isVertical ? "Y" : "X"; DialogUtils.showInputDialog(sandbox.getUIStage(), "Manual " + direction + " Position", direction + " : ", new MyInputValidator(), new InputDialogListener() { @Override public void finished(String input) { RulersUI.updateGuideManually(Float.parseFloat(input)); } @Override public void canceled() { } }); } @Override public void undoAction() { System.out.println(previousPosition); RulersUI.updateGuideManually(previousPosition); } private class MyInputValidator implements InputValidator { @Override public boolean validateInput(String input) { try { Float.parseFloat(input); return true; } catch (NumberFormatException ex) { return false; } } } }