From 9b429283ce1f089100f8d694ee15a2b6c1a8f98e Mon Sep 17 00:00:00 2001 From: Ludovic Apvrille <ludovic.apvrille@telecom-paris.fr> Date: Wed, 29 May 2024 17:24:54 +0200 Subject: [PATCH] Bug on avatardraw from cli: solved --- src/main/java/cli/Action.java | 5 +++++ src/main/java/cli/Interpreter.java | 15 +++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/main/java/cli/Action.java b/src/main/java/cli/Action.java index ef740c7e2d..d37db6524f 100644 --- a/src/main/java/cli/Action.java +++ b/src/main/java/cli/Action.java @@ -1604,6 +1604,11 @@ public class Action extends Command implements ProVerifOutputListener { return Interpreter.TTOOL_NOT_STARTED; } + if (!interpreter.hasAModel()) { + return Interpreter.TTOOL_NO_MODEL; + } + + AvatarSpecification spec = as; if (spec == null) { spec = interpreter.mgui.gtm.getAvatarSpecification(); diff --git a/src/main/java/cli/Interpreter.java b/src/main/java/cli/Interpreter.java index 15dfe228df..d47aca788e 100644 --- a/src/main/java/cli/Interpreter.java +++ b/src/main/java/cli/Interpreter.java @@ -44,6 +44,7 @@ import myutil.Terminal; import myutil.TerminalProviderInterface; import myutil.TraceManager; import ui.MainGUI; +import ui.TGUIAction; import java.util.HashMap; import java.util.Scanner; @@ -70,6 +71,7 @@ public class Interpreter implements Runnable, TerminalProviderInterface { public final static String BAD_VAR_NAME = "Invalid variable name"; public final static String UNKNOWN_NEXT_COMMAND = "Invalid action: "; public final static String TTOOL_NOT_STARTED = "TTool is not yet started. Cannot execute command."; + public final static String TTOOL_NO_MODEL = "TTool is started no model has been created. Execute new or load a model"; public final static String TTOOL_ALREADY_STARTED = "TTool is already started. Cannot execute command."; public final static String BAD_COMMAND_NAME = "The provided command is invalid"; public final static String ROBOT_EXCEPTION = "Robot could not be started"; @@ -317,6 +319,19 @@ public class Interpreter implements Runnable, TerminalProviderInterface { return ttoolStarted; } + public boolean hasAModel() { + if (!isTToolStarted()) { + return false; + } + + if (mgui == null) { + return false; + } + + return mgui.actions[TGUIAction.ACT_SAVE_AS_MODEL].isEnabled(); + + } + public void setTToolStarted(boolean b) { ttoolStarted = b; } -- GitLab