From 45034e10b5de8db1f05b84dac5bbd6cf84823145 Mon Sep 17 00:00:00 2001
From: Ludovic Apvrille <ludovic.apvrille@telecom-paristech.fr>
Date: Sun, 19 Feb 2017 18:43:55 +0000
Subject: [PATCH] Refactoring of MainGUI: moving Mode management in another
 class

---
 src/ui/MainGUI.java     | 356 +---------------------------------
 src/ui/ModeManager.java | 414 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 415 insertions(+), 355 deletions(-)
 create mode 100755 src/ui/ModeManager.java

diff --git a/src/ui/MainGUI.java b/src/ui/MainGUI.java
index c4b9357a93..29319538ca 100644
--- a/src/ui/MainGUI.java
+++ b/src/ui/MainGUI.java
@@ -640,361 +640,7 @@ public  class MainGUI implements ActionListener, WindowListener, KeyListener, Pe
 
     public void setMode(byte m) {
         mode = m;
-        switch(mode) {
-        case MainGUI.NOT_OPENED:
-            activeActions(false);
-            actions[TGUIAction.ACT_NEW].setEnabled(true);
-            actions[TGUIAction.ACT_OPEN].setEnabled(true);
-            actions[TGUIAction.ACT_OPEN_TIF].setEnabled(true);
-            actions[TGUIAction.ACT_OPEN_SD].setEnabled(true);
-            actions[TGUIAction.ACT_OPEN_LAST].setEnabled(true);
-            actions[TGUIAction.ACT_QUIT].setEnabled(true);
-            actions[TGUIAction.ACT_ABOUT].setEnabled(true);
-            actions[TGUIAction.ACT_TTOOL_CONFIGURATION].setEnabled(true);
-            actions[TGUIAction.ACT_TURTLE_WEBSITE].setEnabled(true);
-            actions[TGUIAction.ACT_TURTLE_DOCUMENTATION].setEnabled(true);
-            actions[TGUIAction.ACT_SYSMLSEC_DOCUMENTATION].setEnabled(true);
-            actions[TGUIAction.ACT_DIPLODOCUS_DOCUMENTATION].setEnabled(true);
-            actions[TGUIAction.ACT_VIEW_SAVED_LOT].setEnabled(true);
-            actions[TGUIAction.ACT_VIEW_SAVED_DOT].setEnabled(true);
-            actions[TGUIAction.ACT_BISIMULATION].setEnabled(true);
-            actions[TGUIAction.ACT_BISIMULATION_CADP].setEnabled(true);
-            actions[TGUIAction.ACT_GRAPH_MODIFICATION].setEnabled(true);
-            actions[TGUIAction.ACT_VIEW_STAT_SAVED_AUT].setEnabled(true);
-            actions[TGUIAction.ACT_VIEW_PM_SAVED_AUT].setEnabled(true);
-            actions[TGUIAction.ACT_SCREEN_CAPTURE].setEnabled(true);
-            actions[TGUIAction.ACT_TTOOL_WINDOW_CAPTURE].setEnabled(true);
-            actions[TGUIAction.ACT_DEADLOCK_SEEKER_SAVED_AUT].setEnabled(true);
-            actions[TGUIAction.ACT_VIEW_BIRDEYES_EMB].setEnabled(true);
-            actions[TGUIAction.ACT_VIEW_WAVE].setEnabled(true);
-            actions[TGUIAction.EXTERNAL_ACTION_1].setEnabled(true);
-            actions[TGUIAction.EXTERNAL_ACTION_2].setEnabled(true);
-            //actions[TGUIAction.ACT_SIMU_SYSTEMC].setEnabled(true);
-            actions[TGUIAction.ACT_VIEW_RG_DIPLODOCUS].setEnabled(ConfigurationTTool.GGraphPath != null);
-            actions[TGUIAction.ACT_VIEW_STAT_AUTDIPLODOCUS].setEnabled(ConfigurationTTool.GGraphPath != null);
-            if (mainBar != null) {
-                mainBar.activateSearch(false);
-            }
-            break;
-        case OPENED:
-            actions[TGUIAction.ACT_MERGE].setEnabled(true);
-            actions[TGUIAction.ACT_NEW_DESIGN].setEnabled(true);
-            actions[TGUIAction.ACT_NEW_ANALYSIS].setEnabled(true);
-            actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(true);//DG 06.02.
-            //actions[TGUIAction.ACT_ONECLICK_RTLOTOS_RG].setEnabled(true);
-            //actions[TGUIAction.ACT_ONECLICK_LOTOS_RG].setEnabled(true);
-            actions[TGUIAction.ACT_SAVE_AS].setEnabled(true);
-            actions[TGUIAction.ACT_IMPORT_LIB].setEnabled(true);
-            actions[TGUIAction.ACT_SAVE].setEnabled(false);
-            if (TDiagramPanel.copyData != null) {
-                actions[TGUIAction.ACT_PASTE].setEnabled(true);
-            } else {
-                actions[TGUIAction.ACT_PASTE].setEnabled(false);
-            }
-            actions[TGUIAction.ACT_DIAGRAM_CAPTURE].setEnabled(true);
-            actions[TGUIAction.ACT_SVG_DIAGRAM_CAPTURE].setEnabled(true);
-            actions[TGUIAction.ACT_ALL_DIAGRAM_CAPTURE].setEnabled(true);
-            actions[TGUIAction.ACT_ALL_DIAGRAM_CAPTURE_SVG].setEnabled(true);
-            actions[TGUIAction.ACT_GEN_DOC].setEnabled(true);
-            actions[TGUIAction.ACT_GEN_DOC_REQ].setEnabled(true);
-            actions[TGUIAction.ACT_VIEW_JAVA].setEnabled(true);
-            actions[TGUIAction.ACT_VIEW_BIRDEYES].setEnabled(true);
-            actions[TGUIAction.ACT_GENERATE_ONTOLOGIES_CURRENT_DIAGRAM].setEnabled(true);
-            actions[TGUIAction.ACT_GENERATE_ONTOLOGIES_CURRENT_SET_OF_DIAGRAMS].setEnabled(true);
-            actions[TGUIAction.ACT_GENERATE_ONTOLOGIES_ALL_DIAGRAMS].setEnabled(true);
-            actions[TGUIAction.ACT_DELETE].setEnabled(true);
-            if (mainBar != null) {
-                mainBar.activateSearch(true);
-            }
-            //@author: Huy TRUONG
-            actions[TGUIAction.ACT_EXTERNAL_SEARCH].setEnabled(true);
-            //disable when there is no text in search textfield
-            actions[TGUIAction.ACT_INTERNAL_SEARCH].setEnabled(false);
-            //--
-            break;
-        case MODEL_OK:
-            actions[TGUIAction.ACT_SAVE_TIF].setEnabled(true);
-            actions[TGUIAction.ACT_GEN_RTLOTOS].setEnabled(true);
-            actions[TGUIAction.ACT_GEN_LOTOS].setEnabled(true);
-            actions[TGUIAction.ACT_DSE].setEnabled(true);
-            actions[TGUIAction.ACT_GEN_UPPAAL].setEnabled(true);
-            actions[TGUIAction.ACT_GEN_JAVA].setEnabled(true);
-            actions[TGUIAction.ACT_SIMU_JAVA].setEnabled(true);
-            actions[TGUIAction.ACT_GEN_RTLOTOS].setEnabled(true);
-            actions[TGUIAction.ACT_PROJECTION].setEnabled(false);
-            actions[TGUIAction.ACT_AVATAR_FV_PROVERIF].setEnabled(true);
-            actions[TGUIAction.ACT_AVATAR_MODEL_CHECKER].setEnabled(true);
-            break;
-
-        case MODEL_UPPAAL_OK:
-            //actions[TGUIAction.ACT_SAVE_TIF].setEnabled(true);
-            //actions[TGUIAction.ACT_GEN_RTLOTOS].setEnabled(true);
-            //actions[TGUIAction.ACT_GEN_LOTOS].setEnabled(true);
-            actions[TGUIAction.ACT_GEN_UPPAAL].setEnabled(true);
-            //actions[TGUIAction.ACT_GEN_JAVA].setEnabled(true);
-            //actions[TGUIAction.ACT_SIMU_JAVA].setEnabled(true);
-            //actions[TGUIAction.ACT_GEN_RTLOTOS].setEnabled(true);
-            //actions[TGUIAction.ACT_PROJECTION].setEnabled(false);
-            break;
-        case MODEL_PROVERIF_OK:
-            actions[TGUIAction.ACT_GEN_PROVERIF].setEnabled(true);
-
-            break;
-        case EDIT_PROVERIF_OK:
-            actions[TGUIAction.ACT_VIEW_RTLOTOS].setEnabled(true);
-            break;
-        case GEN_DESIGN_OK:
-            actions[TGUIAction.ACT_GEN_DESIGN].setEnabled(true);
-            break;
-        case GEN_SYSTEMC_OK:
-            actions[TGUIAction.ACT_GEN_SYSTEMC].setEnabled(true);
-            actions[TGUIAction.ACT_GEN_TMLTXT].setEnabled(true);
-            actions[TGUIAction.ACT_GEN_CCODE].setEnabled(true);
-            actions[TGUIAction.ACT_GEN_AUT].setEnabled(true);
-            actions[TGUIAction.ACT_GEN_AUTS].setEnabled(true);
-            actions[TGUIAction.ACT_GEN_UPPAAL].setEnabled(true);
-            break;
-        case AVATAR_SYNTAXCHECKING_OK:
-            actions[TGUIAction.ACT_AVATAR_SIM].setEnabled(true);
-            actions[TGUIAction.ACT_AVATAR_FV_UPPAAL].setEnabled(true);
-            actions[TGUIAction.ACT_AVATAR_FV_PROVERIF].setEnabled(true);
-            actions[TGUIAction.ACT_AVATAR_FV_STATICANALYSIS].setEnabled(true);
-            actions[TGUIAction.ACT_AVATAR_EXECUTABLE_GENERATION].setEnabled(true);
-            actions[TGUIAction.ACT_AVATAR_MODEL_CHECKER].setEnabled(true);
-            break;
-        case ATTACKTREE_SYNTAXCHECKING_OK:
-            actions[TGUIAction.ACT_AVATAR_SIM].setEnabled(true);
-            actions[TGUIAction.ACT_AVATAR_FV_UPPAAL].setEnabled(true);
-            actions[TGUIAction.ACT_AVATAR_FV_PROVERIF].setEnabled(false);
-            actions[TGUIAction.ACT_AVATAR_FV_STATICANALYSIS].setEnabled(false);
-            actions[TGUIAction.ACT_AVATAR_EXECUTABLE_GENERATION].setEnabled(false);
-            actions[TGUIAction.ACT_AVATAR_MODEL_CHECKER].setEnabled(true);
-            break;
-        case REQ_OK:
-            //actions[TGUIAction.ACT_VIEW_MATRIX].setEnabled(true);
-            actions[TGUIAction.ACT_VALIDATION].setEnabled(true);
-            break;
-        case RTLOTOS_OK:
-            actions[TGUIAction.ACT_SAVE_LOTOS].setEnabled(true);
-            actions[TGUIAction.ACT_VIEW_RTLOTOS].setEnabled(true);
-            actions[TGUIAction.ACT_CHECKCODE].setEnabled(true);
-            actions[TGUIAction.ACT_SIMULATION].setEnabled(true);
-            actions[TGUIAction.ACT_VALIDATION].setEnabled(true);
-            break;
-        case UPPAAL_OK:
-            //actions[TGUIAction.ACT_SAVE_LOTOS].setEnabled(true);
-            //actions[TGUIAction.ACT_VIEW_RTLOTOS].setEnabled(true);
-            //actions[TGUIAction.ACT_CHECKCODE].setEnabled(true);
-            //actions[TGUIAction.ACT_SIMULATION].setEnabled(true);
-            actions[TGUIAction.ACT_VALIDATION].setEnabled(true);
-            break;
-        case MODEL_CHANGED:
-            actions[TGUIAction.ACT_SAVE].setEnabled(true);
-            actions[TGUIAction.ACT_GEN_RTLOTOS].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_LOTOS].setEnabled(false);
-            actions[TGUIAction.ACT_DSE].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_JAVA].setEnabled(false);
-            actions[TGUIAction.ACT_SIMU_JAVA].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_DESIGN].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_SYSTEMC].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_TMLTXT].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_CCODE].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_AUT].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_AUTS].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_UPPAAL].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_PROVERIF].setEnabled(false);
-            actions[TGUIAction.ACT_AVATAR_MODEL_CHECKER].setEnabled(false);
-            actions[TGUIAction.ACT_CHECKCODE].setEnabled(false);
-            actions[TGUIAction.ACT_SIMULATION].setEnabled(false);
-            actions[TGUIAction.ACT_VALIDATION].setEnabled(false);
-            actions[TGUIAction.ACT_PROJECTION].setEnabled(false);
-            actions[TGUIAction.ACT_AVATAR_SIM].setEnabled(false);
-            actions[TGUIAction.ACT_AVATAR_FV_UPPAAL].setEnabled(false);
-            actions[TGUIAction.ACT_AVATAR_FV_PROVERIF].setEnabled(false);
-            actions[TGUIAction.ACT_AVATAR_FV_STATICANALYSIS].setEnabled(false);
-            actions[TGUIAction.ACT_AVATAR_EXECUTABLE_GENERATION].setEnabled(false);
-            break;
-        case METHO_CHANGED:
-            actions[TGUIAction.ACT_GEN_RTLOTOS].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_LOTOS].setEnabled(false);
-            actions[TGUIAction.ACT_DSE].setEnabled(false);
-            actions[TGUIAction.ACT_CHECKCODE].setEnabled(false);
-            actions[TGUIAction.ACT_SIMULATION].setEnabled(false);
-            actions[TGUIAction.ACT_VALIDATION].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_JAVA].setEnabled(false);
-            actions[TGUIAction.ACT_SIMU_JAVA].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_DESIGN].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_SYSTEMC].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_TMLTXT].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_CCODE].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_UPPAAL].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_PROVERIF].setEnabled(false);
-            //actions[TGUIAction.ACT_AVATAR_MODEL_CHECKER].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_AUT].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_AUTS].setEnabled(false);
-            actions[TGUIAction.ACT_PROJECTION].setEnabled(false);
-            break;
-
-        case PANEL_CHANGED:
-            actions[TGUIAction.ACT_GEN_RTLOTOS].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_LOTOS].setEnabled(false);
-            actions[TGUIAction.ACT_DSE].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_JAVA].setEnabled(false);
-            actions[TGUIAction.ACT_SIMU_JAVA].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_DESIGN].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_SYSTEMC].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_TMLTXT].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_CCODE].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_AUT].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_AUTS].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_UPPAAL].setEnabled(false);
-            actions[TGUIAction.ACT_GEN_PROVERIF].setEnabled(false);
-            actions[TGUIAction.ACT_AVATAR_MODEL_CHECKER].setEnabled(false);
-            actions[TGUIAction.ACT_CHECKCODE].setEnabled(false);
-            actions[TGUIAction.ACT_SIMULATION].setEnabled(false);
-            actions[TGUIAction.ACT_VALIDATION].setEnabled(false);
-            actions[TGUIAction.ACT_PROJECTION].setEnabled(false);
-            actions[TGUIAction.ACT_AVATAR_SIM].setEnabled(false);
-            actions[TGUIAction.ACT_AVATAR_FV_UPPAAL].setEnabled(false);
-            actions[TGUIAction.ACT_AVATAR_FV_PROVERIF].setEnabled(false);
-            actions[TGUIAction.ACT_AVATAR_FV_STATICANALYSIS].setEnabled(false);
-            actions[TGUIAction.ACT_AVATAR_EXECUTABLE_GENERATION].setEnabled(false);
-            break;
-
-        case MODEL_SAVED:
-            TraceManager.addDev("Disable save");
-            actions[TGUIAction.ACT_SAVE].setEnabled(false);
-            break;
-        case BACKWARD:
-            actions[TGUIAction.ACT_BACKWARD].setEnabled(true);
-            break;
-        case NO_BACKWARD:
-            actions[TGUIAction.ACT_BACKWARD].setEnabled(false);
-            break;
-        case FORWARD:
-            actions[TGUIAction.ACT_FORWARD].setEnabled(true);
-            break;
-        case NO_FORWARD:
-            actions[TGUIAction.ACT_FORWARD].setEnabled(false);
-            break;
-        case FORWARD_DIAG:
-            actions[TGUIAction.ACT_NEXT_DIAG].setEnabled(true);
-            actions[TGUIAction.ACT_LAST_DIAG].setEnabled(true);
-            break;
-        case BACKWARD_DIAG:
-            actions[TGUIAction.ACT_FIRST_DIAG].setEnabled(true);
-            actions[TGUIAction.ACT_BACK_DIAG].setEnabled(true);
-            break;
-        case NO_FORWARD_DIAG:
-            actions[TGUIAction.ACT_NEXT_DIAG].setEnabled(false);
-            actions[TGUIAction.ACT_LAST_DIAG].setEnabled(false);
-            break;
-        case NO_BACKWARD_DIAG:
-            actions[TGUIAction.ACT_FIRST_DIAG].setEnabled(false);
-            actions[TGUIAction.ACT_BACK_DIAG].setEnabled(false);
-            break;
-        case SIM_OK:
-            actions[TGUIAction.ACT_VIEW_SIM].setEnabled(true);
-            actions[TGUIAction.ACT_VIEW_SIM_CHRONO].setEnabled(true);
-            break;
-        case SIM_KO:
-            actions[TGUIAction.ACT_VIEW_SIM].setEnabled(false);
-            actions[TGUIAction.ACT_VIEW_SIM_CHRONO].setEnabled(false);
-            break;
-        case DTADOT_OK:
-            actions[TGUIAction.ACT_SAVE_DTA].setEnabled(true);
-            actions[TGUIAction.ACT_VIEW_DTADOT].setEnabled(true);
-            break;
-        case DTADOT_KO:
-            actions[TGUIAction.ACT_SAVE_DTA].setEnabled(false);
-            actions[TGUIAction.ACT_VIEW_DTADOT].setEnabled(false);
-            break;
-        case RGDOT_OK:
-            actions[TGUIAction.ACT_SAVE_RG].setEnabled(true);
-            actions[TGUIAction.ACT_VIEW_RGDOT].setEnabled(true);
-            break;
-        case RGDOT_KO:
-            actions[TGUIAction.ACT_SAVE_RG].setEnabled(false);
-            actions[TGUIAction.ACT_VIEW_RGDOT].setEnabled(false);
-            break;
-        case TLSADOT_OK:
-            actions[TGUIAction.ACT_SAVE_TLSA].setEnabled(true);
-            actions[TGUIAction.ACT_VIEW_TLSADOT].setEnabled(true);
-            break;
-        case TLSADOT_KO:
-            actions[TGUIAction.ACT_SAVE_TLSA].setEnabled(false);
-            actions[TGUIAction.ACT_VIEW_TLSADOT].setEnabled(false);
-            break;
-        case CUTCOPY_OK:
-            actions[TGUIAction.ACT_CUT].setEnabled(true);
-            actions[TGUIAction.ACT_COPY].setEnabled(true);
-            //actions[TGUIAction.ACT_DELETE].setEnabled(true);
-            actions[TGUIAction.ACT_SELECTED_CAPTURE].setEnabled(true);
-            break;
-        case CUTCOPY_KO:
-            actions[TGUIAction.ACT_CUT].setEnabled(false);
-            actions[TGUIAction.ACT_COPY].setEnabled(false);
-            //actions[TGUIAction.ACT_DELETE].setEnabled(false);
-            actions[TGUIAction.ACT_SELECTED_CAPTURE].setEnabled(false);
-            break;
-        case PASTE_OK:
-            actions[TGUIAction.ACT_PASTE].setEnabled(true);
-            break;
-        case RGAUTDOT_OK:
-            actions[TGUIAction.ACT_VIEW_STAT_AUT].setEnabled(true);
-            actions[TGUIAction.ACT_VIEW_PM_AUT].setEnabled(true);
-            actions[TGUIAction.ACT_SAVE_AUT].setEnabled(true);
-            actions[TGUIAction.ACT_VIEW_RGAUTDOT].setEnabled(true);
-            break;
-        case RGAUTDOT_KO:
-            actions[TGUIAction.ACT_VIEW_STAT_AUT].setEnabled(false);
-            actions[TGUIAction.ACT_VIEW_PM_AUT].setEnabled(false);
-            actions[TGUIAction.ACT_SAVE_AUT].setEnabled(false);
-            actions[TGUIAction.ACT_VIEW_RGAUTDOT].setEnabled(false);
-            break;
-        case RGAUT_OK:
-            actions[TGUIAction.ACT_VIEW_STAT_AUT].setEnabled(true);
-            actions[TGUIAction.ACT_VIEW_PM_AUT].setEnabled(true);
-            actions[TGUIAction.ACT_PROJECTION].setEnabled(true);
-            actions[TGUIAction.ACT_DEADLOCK_SEEKER_AUT].setEnabled(true);
-            break;
-        case RGAUT_KO:
-            actions[TGUIAction.ACT_VIEW_STAT_AUT].setEnabled(false);
-            actions[TGUIAction.ACT_VIEW_PM_AUT].setEnabled(false);
-            actions[TGUIAction.ACT_PROJECTION].setEnabled(false);
-            actions[TGUIAction.ACT_DEADLOCK_SEEKER_AUT].setEnabled(false);
-            break;
-        case RGAUTPROJDOT_OK:
-            actions[TGUIAction.ACT_VIEW_STAT_AUTPROJ].setEnabled(true);
-            actions[TGUIAction.ACT_VIEW_PM_AUTPROJ].setEnabled(true);
-            actions[TGUIAction.ACT_SAVE_AUTPROJ].setEnabled(true);
-            actions[TGUIAction.ACT_VIEW_RGAUTPROJDOT].setEnabled(true);
-            break;
-        case RGAUTPROJDOT_KO:
-            actions[TGUIAction.ACT_VIEW_STAT_AUTPROJ].setEnabled(false);
-            actions[TGUIAction.ACT_VIEW_PM_AUTPROJ].setEnabled(false);
-            actions[TGUIAction.ACT_SAVE_AUTPROJ].setEnabled(false);
-            actions[TGUIAction.ACT_VIEW_RGAUTPROJDOT].setEnabled(false);
-            break;
-        case EXPORT_LIB_OK:
-            actions[TGUIAction.ACT_EXPORT_LIB].setEnabled(true);
-            break;
-        case EXPORT_LIB_KO:
-            actions[TGUIAction.ACT_EXPORT_LIB].setEnabled(false);
-            break;
-        case VIEW_SUGG_DESIGN_OK:
-            actions[TGUIAction.ACT_VIEW_SUGGESTED_DESIGN].setEnabled(true);
-            break;
-        case VIEW_SUGG_DESIGN_KO:
-            actions[TGUIAction.ACT_VIEW_SUGGESTED_DESIGN].setEnabled(false);
-            break;
-        case NC_OK:
-            actions[TGUIAction.ACT_NC].setEnabled(true);
-            break;
-        default:
-            TraceManager.addDev("DEFAULT");
-            activeActions(false);
-        }
+	ModeManager.setMode(mode);
     }
 
 
diff --git a/src/ui/ModeManager.java b/src/ui/ModeManager.java
new file mode 100755
index 0000000000..34bc06e8b6
--- /dev/null
+++ b/src/ui/ModeManager.java
@@ -0,0 +1,414 @@
+/**Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille
+
+   ludovic.apvrille AT enst.fr
+
+   This software is a computer program whose purpose is to allow the
+   edition of TURTLE analysis, design and deployment diagrams, to
+   allow the generation of RT-LOTOS or Java code from this diagram,
+   and at last to allow the analysis of formal validation traces
+   obtained from external tools, e.g. RTL from LAAS-CNRS and CADP
+   from INRIA Rhone-Alpes.
+
+   This software is governed by the CeCILL  license under French law and
+   abiding by the rules of distribution of free software.  You can  use,
+   modify and/ or redistribute the software under the terms of the CeCILL
+   license as circulated by CEA, CNRS and INRIA at the following URL
+   "http://www.cecill.info".
+
+   As a counterpart to the access to the source code and  rights to copy,
+   modify and redistribute granted by the license, users are provided only
+   with a limited warranty  and the software's author,  the holder of the
+   economic rights,  and the successive licensors  have only  limited
+   liability.
+
+   In this respect, the user's attention is drawn to the risks associated
+   with loading,  using,  modifying and/or developing or reproducing the
+   software by the user in light of its specific status of free software,
+   that may mean  that it is complicated to manipulate,  and  that  also
+   therefore means  that it is reserved for developers  and  experienced
+   professionals having in-depth computer knowledge. Users are therefore
+   encouraged to load and test the software's suitability as regards their
+   requirements in conditions enabling the security of their systems and/or
+   data to be ensured and,  more generally, to use and operate it in the
+   same conditions as regards security.
+
+   The fact that you are presently reading this means that you have had
+   knowledge of the CeCILL license and that you accept its terms.
+
+   /**
+   * Class ModeManager
+   * Managing modes in TTool (icon/action activation)
+   * Created for refactoring of MainGUI
+   * Creation: 19/02/2017
+   * @version 1.0 19/02/2017
+   * @author Ludovic APVRILLE
+   * @see
+   */
+
+
+package ui;
+
+import java.awt.event.*;
+import javax.swing.*;
+
+public class ModeManager {
+
+    public static void setMode(byt m, TGUIAction [] actions, MainGUI mgui) {
+	 switch(mode) {
+        case MainGUI.NOT_OPENED:
+            activeActions(false);
+            actions[TGUIAction.ACT_NEW].setEnabled(true);
+            actions[TGUIAction.ACT_OPEN].setEnabled(true);
+            actions[TGUIAction.ACT_OPEN_TIF].setEnabled(true);
+            actions[TGUIAction.ACT_OPEN_SD].setEnabled(true);
+            actions[TGUIAction.ACT_OPEN_LAST].setEnabled(true);
+            actions[TGUIAction.ACT_QUIT].setEnabled(true);
+            actions[TGUIAction.ACT_ABOUT].setEnabled(true);
+            actions[TGUIAction.ACT_TTOOL_CONFIGURATION].setEnabled(true);
+            actions[TGUIAction.ACT_TURTLE_WEBSITE].setEnabled(true);
+            actions[TGUIAction.ACT_TURTLE_DOCUMENTATION].setEnabled(true);
+            actions[TGUIAction.ACT_SYSMLSEC_DOCUMENTATION].setEnabled(true);
+            actions[TGUIAction.ACT_DIPLODOCUS_DOCUMENTATION].setEnabled(true);
+            actions[TGUIAction.ACT_VIEW_SAVED_LOT].setEnabled(true);
+            actions[TGUIAction.ACT_VIEW_SAVED_DOT].setEnabled(true);
+            actions[TGUIAction.ACT_BISIMULATION].setEnabled(true);
+            actions[TGUIAction.ACT_BISIMULATION_CADP].setEnabled(true);
+            actions[TGUIAction.ACT_GRAPH_MODIFICATION].setEnabled(true);
+            actions[TGUIAction.ACT_VIEW_STAT_SAVED_AUT].setEnabled(true);
+            actions[TGUIAction.ACT_VIEW_PM_SAVED_AUT].setEnabled(true);
+            actions[TGUIAction.ACT_SCREEN_CAPTURE].setEnabled(true);
+            actions[TGUIAction.ACT_TTOOL_WINDOW_CAPTURE].setEnabled(true);
+            actions[TGUIAction.ACT_DEADLOCK_SEEKER_SAVED_AUT].setEnabled(true);
+            actions[TGUIAction.ACT_VIEW_BIRDEYES_EMB].setEnabled(true);
+            actions[TGUIAction.ACT_VIEW_WAVE].setEnabled(true);
+            actions[TGUIAction.EXTERNAL_ACTION_1].setEnabled(true);
+            actions[TGUIAction.EXTERNAL_ACTION_2].setEnabled(true);
+            //actions[TGUIAction.ACT_SIMU_SYSTEMC].setEnabled(true);
+            actions[TGUIAction.ACT_VIEW_RG_DIPLODOCUS].setEnabled(ConfigurationTTool.GGraphPath != null);
+            actions[TGUIAction.ACT_VIEW_STAT_AUTDIPLODOCUS].setEnabled(ConfigurationTTool.GGraphPath != null);
+            if (mainBar != null) {
+                mainBar.activateSearch(false);
+            }
+            break;
+        case MainGUI.OPENED:
+            actions[TGUIAction.ACT_MERGE].setEnabled(true);
+            actions[TGUIAction.ACT_NEW_DESIGN].setEnabled(true);
+            actions[TGUIAction.ACT_NEW_ANALYSIS].setEnabled(true);
+            actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(true);//DG 06.02.
+            //actions[TGUIAction.ACT_ONECLICK_RTLOTOS_RG].setEnabled(true);
+            //actions[TGUIAction.ACT_ONECLICK_LOTOS_RG].setEnabled(true);
+            actions[TGUIAction.ACT_SAVE_AS].setEnabled(true);
+            actions[TGUIAction.ACT_IMPORT_LIB].setEnabled(true);
+            actions[TGUIAction.ACT_SAVE].setEnabled(false);
+            if (TDiagramPanel.copyData != null) {
+                actions[TGUIAction.ACT_PASTE].setEnabled(true);
+            } else {
+                actions[TGUIAction.ACT_PASTE].setEnabled(false);
+            }
+            actions[TGUIAction.ACT_DIAGRAM_CAPTURE].setEnabled(true);
+            actions[TGUIAction.ACT_SVG_DIAGRAM_CAPTURE].setEnabled(true);
+            actions[TGUIAction.ACT_ALL_DIAGRAM_CAPTURE].setEnabled(true);
+            actions[TGUIAction.ACT_ALL_DIAGRAM_CAPTURE_SVG].setEnabled(true);
+            actions[TGUIAction.ACT_GEN_DOC].setEnabled(true);
+            actions[TGUIAction.ACT_GEN_DOC_REQ].setEnabled(true);
+            actions[TGUIAction.ACT_VIEW_JAVA].setEnabled(true);
+            actions[TGUIAction.ACT_VIEW_BIRDEYES].setEnabled(true);
+            actions[TGUIAction.ACT_GENERATE_ONTOLOGIES_CURRENT_DIAGRAM].setEnabled(true);
+            actions[TGUIAction.ACT_GENERATE_ONTOLOGIES_CURRENT_SET_OF_DIAGRAMS].setEnabled(true);
+            actions[TGUIAction.ACT_GENERATE_ONTOLOGIES_ALL_DIAGRAMS].setEnabled(true);
+            actions[TGUIAction.ACT_DELETE].setEnabled(true);
+            if (mainBar != null) {
+                mainBar.activateSearch(true);
+            }
+            //@author: Huy TRUONG
+            actions[TGUIAction.ACT_EXTERNAL_SEARCH].setEnabled(true);
+            //disable when there is no text in search textfield
+            actions[TGUIAction.ACT_INTERNAL_SEARCH].setEnabled(false);
+            //--
+            break;
+        case MainGUI.MODEL_OK:
+            actions[TGUIAction.ACT_SAVE_TIF].setEnabled(true);
+            actions[TGUIAction.ACT_GEN_RTLOTOS].setEnabled(true);
+            actions[TGUIAction.ACT_GEN_LOTOS].setEnabled(true);
+            actions[TGUIAction.ACT_DSE].setEnabled(true);
+            actions[TGUIAction.ACT_GEN_UPPAAL].setEnabled(true);
+            actions[TGUIAction.ACT_GEN_JAVA].setEnabled(true);
+            actions[TGUIAction.ACT_SIMU_JAVA].setEnabled(true);
+            actions[TGUIAction.ACT_GEN_RTLOTOS].setEnabled(true);
+            actions[TGUIAction.ACT_PROJECTION].setEnabled(false);
+            actions[TGUIAction.ACT_AVATAR_FV_PROVERIF].setEnabled(true);
+            actions[TGUIAction.ACT_AVATAR_MODEL_CHECKER].setEnabled(true);
+            break;
+
+        case MainGUI.MODEL_UPPAAL_OK:
+            //actions[TGUIAction.ACT_SAVE_TIF].setEnabled(true);
+            //actions[TGUIAction.ACT_GEN_RTLOTOS].setEnabled(true);
+            //actions[TGUIAction.ACT_GEN_LOTOS].setEnabled(true);
+            actions[TGUIAction.ACT_GEN_UPPAAL].setEnabled(true);
+            //actions[TGUIAction.ACT_GEN_JAVA].setEnabled(true);
+            //actions[TGUIAction.ACT_SIMU_JAVA].setEnabled(true);
+            //actions[TGUIAction.ACT_GEN_RTLOTOS].setEnabled(true);
+            //actions[TGUIAction.ACT_PROJECTION].setEnabled(false);
+            break;
+        case MainGUI.MODEL_PROVERIF_OK:
+            actions[TGUIAction.ACT_GEN_PROVERIF].setEnabled(true);
+
+            break;
+        case MainGUI.EDIT_PROVERIF_OK:
+            actions[TGUIAction.ACT_VIEW_RTLOTOS].setEnabled(true);
+            break;
+        case MainGUI.GEN_DESIGN_OK:
+            actions[TGUIAction.ACT_GEN_DESIGN].setEnabled(true);
+            break;
+        case MainGUI.GEN_SYSTEMC_OK:
+            actions[TGUIAction.ACT_GEN_SYSTEMC].setEnabled(true);
+            actions[TGUIAction.ACT_GEN_TMLTXT].setEnabled(true);
+            actions[TGUIAction.ACT_GEN_CCODE].setEnabled(true);
+            actions[TGUIAction.ACT_GEN_AUT].setEnabled(true);
+            actions[TGUIAction.ACT_GEN_AUTS].setEnabled(true);
+            actions[TGUIAction.ACT_GEN_UPPAAL].setEnabled(true);
+            break;
+        case MainGUI.AVATAR_SYNTAXCHECKING_OK:
+            actions[TGUIAction.ACT_AVATAR_SIM].setEnabled(true);
+            actions[TGUIAction.ACT_AVATAR_FV_UPPAAL].setEnabled(true);
+            actions[TGUIAction.ACT_AVATAR_FV_PROVERIF].setEnabled(true);
+            actions[TGUIAction.ACT_AVATAR_FV_STATICANALYSIS].setEnabled(true);
+            actions[TGUIAction.ACT_AVATAR_EXECUTABLE_GENERATION].setEnabled(true);
+            actions[TGUIAction.ACT_AVATAR_MODEL_CHECKER].setEnabled(true);
+            break;
+        case MainGUI.ATTACKTREE_SYNTAXCHECKING_OK:
+            actions[TGUIAction.ACT_AVATAR_SIM].setEnabled(true);
+            actions[TGUIAction.ACT_AVATAR_FV_UPPAAL].setEnabled(true);
+            actions[TGUIAction.ACT_AVATAR_FV_PROVERIF].setEnabled(false);
+            actions[TGUIAction.ACT_AVATAR_FV_STATICANALYSIS].setEnabled(false);
+            actions[TGUIAction.ACT_AVATAR_EXECUTABLE_GENERATION].setEnabled(false);
+            actions[TGUIAction.ACT_AVATAR_MODEL_CHECKER].setEnabled(true);
+            break;
+        case MainGUI.REQ_OK:
+            //actions[TGUIAction.ACT_VIEW_MATRIX].setEnabled(true);
+            actions[TGUIAction.ACT_VALIDATION].setEnabled(true);
+            break;
+        case MainGUI.RTLOTOS_OK:
+            actions[TGUIAction.ACT_SAVE_LOTOS].setEnabled(true);
+            actions[TGUIAction.ACT_VIEW_RTLOTOS].setEnabled(true);
+            actions[TGUIAction.ACT_CHECKCODE].setEnabled(true);
+            actions[TGUIAction.ACT_SIMULATION].setEnabled(true);
+            actions[TGUIAction.ACT_VALIDATION].setEnabled(true);
+            break;
+        case MainGUI.UPPAAL_OK:
+            //actions[TGUIAction.ACT_SAVE_LOTOS].setEnabled(true);
+            //actions[TGUIAction.ACT_VIEW_RTLOTOS].setEnabled(true);
+            //actions[TGUIAction.ACT_CHECKCODE].setEnabled(true);
+            //actions[TGUIAction.ACT_SIMULATION].setEnabled(true);
+            actions[TGUIAction.ACT_VALIDATION].setEnabled(true);
+            break;
+        case MainGUI.MODEL_CHANGED:
+            actions[TGUIAction.ACT_SAVE].setEnabled(true);
+            actions[TGUIAction.ACT_GEN_RTLOTOS].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_LOTOS].setEnabled(false);
+            actions[TGUIAction.ACT_DSE].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_JAVA].setEnabled(false);
+            actions[TGUIAction.ACT_SIMU_JAVA].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_DESIGN].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_SYSTEMC].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_TMLTXT].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_CCODE].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_AUT].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_AUTS].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_UPPAAL].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_PROVERIF].setEnabled(false);
+            actions[TGUIAction.ACT_AVATAR_MODEL_CHECKER].setEnabled(false);
+            actions[TGUIAction.ACT_CHECKCODE].setEnabled(false);
+            actions[TGUIAction.ACT_SIMULATION].setEnabled(false);
+            actions[TGUIAction.ACT_VALIDATION].setEnabled(false);
+            actions[TGUIAction.ACT_PROJECTION].setEnabled(false);
+            actions[TGUIAction.ACT_AVATAR_SIM].setEnabled(false);
+            actions[TGUIAction.ACT_AVATAR_FV_UPPAAL].setEnabled(false);
+            actions[TGUIAction.ACT_AVATAR_FV_PROVERIF].setEnabled(false);
+            actions[TGUIAction.ACT_AVATAR_FV_STATICANALYSIS].setEnabled(false);
+            actions[TGUIAction.ACT_AVATAR_EXECUTABLE_GENERATION].setEnabled(false);
+            break;
+        case MainGUI.METHO_CHANGED:
+            actions[TGUIAction.ACT_GEN_RTLOTOS].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_LOTOS].setEnabled(false);
+            actions[TGUIAction.ACT_DSE].setEnabled(false);
+            actions[TGUIAction.ACT_CHECKCODE].setEnabled(false);
+            actions[TGUIAction.ACT_SIMULATION].setEnabled(false);
+            actions[TGUIAction.ACT_VALIDATION].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_JAVA].setEnabled(false);
+            actions[TGUIAction.ACT_SIMU_JAVA].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_DESIGN].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_SYSTEMC].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_TMLTXT].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_CCODE].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_UPPAAL].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_PROVERIF].setEnabled(false);
+            //actions[TGUIAction.ACT_AVATAR_MODEL_CHECKER].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_AUT].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_AUTS].setEnabled(false);
+            actions[TGUIAction.ACT_PROJECTION].setEnabled(false);
+            break;
+
+        case MainGUI.PANEL_CHANGED:
+            actions[TGUIAction.ACT_GEN_RTLOTOS].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_LOTOS].setEnabled(false);
+            actions[TGUIAction.ACT_DSE].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_JAVA].setEnabled(false);
+            actions[TGUIAction.ACT_SIMU_JAVA].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_DESIGN].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_SYSTEMC].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_TMLTXT].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_CCODE].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_AUT].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_AUTS].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_UPPAAL].setEnabled(false);
+            actions[TGUIAction.ACT_GEN_PROVERIF].setEnabled(false);
+            actions[TGUIAction.ACT_AVATAR_MODEL_CHECKER].setEnabled(false);
+            actions[TGUIAction.ACT_CHECKCODE].setEnabled(false);
+            actions[TGUIAction.ACT_SIMULATION].setEnabled(false);
+            actions[TGUIAction.ACT_VALIDATION].setEnabled(false);
+            actions[TGUIAction.ACT_PROJECTION].setEnabled(false);
+            actions[TGUIAction.ACT_AVATAR_SIM].setEnabled(false);
+            actions[TGUIAction.ACT_AVATAR_FV_UPPAAL].setEnabled(false);
+            actions[TGUIAction.ACT_AVATAR_FV_PROVERIF].setEnabled(false);
+            actions[TGUIAction.ACT_AVATAR_FV_STATICANALYSIS].setEnabled(false);
+            actions[TGUIAction.ACT_AVATAR_EXECUTABLE_GENERATION].setEnabled(false);
+            break;
+
+        case MainGUI.MODEL_SAVED:
+            TraceManager.addDev("Disable save");
+            actions[TGUIAction.ACT_SAVE].setEnabled(false);
+            break;
+        case MainGUI.BACKWARD:
+            actions[TGUIAction.ACT_BACKWARD].setEnabled(true);
+            break;
+        case MainGUI.NO_BACKWARD:
+            actions[TGUIAction.ACT_BACKWARD].setEnabled(false);
+            break;
+        case MainGUI.FORWARD:
+            actions[TGUIAction.ACT_FORWARD].setEnabled(true);
+            break;
+        case MainGUI.NO_FORWARD:
+            actions[TGUIAction.ACT_FORWARD].setEnabled(false);
+            break;
+        case MainGUI.FORWARD_DIAG:
+            actions[TGUIAction.ACT_NEXT_DIAG].setEnabled(true);
+            actions[TGUIAction.ACT_LAST_DIAG].setEnabled(true);
+            break;
+        case MainGUI.BACKWARD_DIAG:
+            actions[TGUIAction.ACT_FIRST_DIAG].setEnabled(true);
+            actions[TGUIAction.ACT_BACK_DIAG].setEnabled(true);
+            break;
+        case MainGUI.NO_FORWARD_DIAG:
+            actions[TGUIAction.ACT_NEXT_DIAG].setEnabled(false);
+            actions[TGUIAction.ACT_LAST_DIAG].setEnabled(false);
+            break;
+        case MainGUI.NO_BACKWARD_DIAG:
+            actions[TGUIAction.ACT_FIRST_DIAG].setEnabled(false);
+            actions[TGUIAction.ACT_BACK_DIAG].setEnabled(false);
+            break;
+        case MainGUI.SIM_OK:
+            actions[TGUIAction.ACT_VIEW_SIM].setEnabled(true);
+            actions[TGUIAction.ACT_VIEW_SIM_CHRONO].setEnabled(true);
+            break;
+        case MainGUI.SIM_KO:
+            actions[TGUIAction.ACT_VIEW_SIM].setEnabled(false);
+            actions[TGUIAction.ACT_VIEW_SIM_CHRONO].setEnabled(false);
+            break;
+        case MainGUI.DTADOT_OK:
+            actions[TGUIAction.ACT_SAVE_DTA].setEnabled(true);
+            actions[TGUIAction.ACT_VIEW_DTADOT].setEnabled(true);
+            break;
+        case MainGUI.DTADOT_KO:
+            actions[TGUIAction.ACT_SAVE_DTA].setEnabled(false);
+            actions[TGUIAction.ACT_VIEW_DTADOT].setEnabled(false);
+            break;
+        case MainGUI.RGDOT_OK:
+            actions[TGUIAction.ACT_SAVE_RG].setEnabled(true);
+            actions[TGUIAction.ACT_VIEW_RGDOT].setEnabled(true);
+            break;
+        case MainGUI.RGDOT_KO:
+            actions[TGUIAction.ACT_SAVE_RG].setEnabled(false);
+            actions[TGUIAction.ACT_VIEW_RGDOT].setEnabled(false);
+            break;
+        case MainGUI.TLSADOT_OK:
+            actions[TGUIAction.ACT_SAVE_TLSA].setEnabled(true);
+            actions[TGUIAction.ACT_VIEW_TLSADOT].setEnabled(true);
+            break;
+        case MainGUI.TLSADOT_KO:
+            actions[TGUIAction.ACT_SAVE_TLSA].setEnabled(false);
+            actions[TGUIAction.ACT_VIEW_TLSADOT].setEnabled(false);
+            break;
+        case MainGUI.CUTCOPY_OK:
+            actions[TGUIAction.ACT_CUT].setEnabled(true);
+            actions[TGUIAction.ACT_COPY].setEnabled(true);
+            //actions[TGUIAction.ACT_DELETE].setEnabled(true);
+            actions[TGUIAction.ACT_SELECTED_CAPTURE].setEnabled(true);
+            break;
+        case MainGUI.CUTCOPY_KO:
+            actions[TGUIAction.ACT_CUT].setEnabled(false);
+            actions[TGUIAction.ACT_COPY].setEnabled(false);
+            //actions[TGUIAction.ACT_DELETE].setEnabled(false);
+            actions[TGUIAction.ACT_SELECTED_CAPTURE].setEnabled(false);
+            break;
+        case MainGUI.PASTE_OK:
+            actions[TGUIAction.ACT_PASTE].setEnabled(true);
+            break;
+        case MainGUI.RGAUTDOT_OK:
+            actions[TGUIAction.ACT_VIEW_STAT_AUT].setEnabled(true);
+            actions[TGUIAction.ACT_VIEW_PM_AUT].setEnabled(true);
+            actions[TGUIAction.ACT_SAVE_AUT].setEnabled(true);
+            actions[TGUIAction.ACT_VIEW_RGAUTDOT].setEnabled(true);
+            break;
+        caseMainGUI. RGAUTDOT_KO:
+            actions[TGUIAction.ACT_VIEW_STAT_AUT].setEnabled(false);
+            actions[TGUIAction.ACT_VIEW_PM_AUT].setEnabled(false);
+            actions[TGUIAction.ACT_SAVE_AUT].setEnabled(false);
+            actions[TGUIAction.ACT_VIEW_RGAUTDOT].setEnabled(false);
+            break;
+        case MainGUI.RGAUT_OK:
+            actions[TGUIAction.ACT_VIEW_STAT_AUT].setEnabled(true);
+            actions[TGUIAction.ACT_VIEW_PM_AUT].setEnabled(true);
+            actions[TGUIAction.ACT_PROJECTION].setEnabled(true);
+            actions[TGUIAction.ACT_DEADLOCK_SEEKER_AUT].setEnabled(true);
+            break;
+        case MainGUI.RGAUT_KO:
+            actions[TGUIAction.ACT_VIEW_STAT_AUT].setEnabled(false);
+            actions[TGUIAction.ACT_VIEW_PM_AUT].setEnabled(false);
+            actions[TGUIAction.ACT_PROJECTION].setEnabled(false);
+            actions[TGUIAction.ACT_DEADLOCK_SEEKER_AUT].setEnabled(false);
+            break;
+        case MainGUI.RGAUTPROJDOT_OK:
+            actions[TGUIAction.ACT_VIEW_STAT_AUTPROJ].setEnabled(true);
+            actions[TGUIAction.ACT_VIEW_PM_AUTPROJ].setEnabled(true);
+            actions[TGUIAction.ACT_SAVE_AUTPROJ].setEnabled(true);
+            actions[TGUIAction.ACT_VIEW_RGAUTPROJDOT].setEnabled(true);
+            break;
+        case MainGUI.RGAUTPROJDOT_KO:
+            actions[TGUIAction.ACT_VIEW_STAT_AUTPROJ].setEnabled(false);
+            actions[TGUIAction.ACT_VIEW_PM_AUTPROJ].setEnabled(false);
+            actions[TGUIAction.ACT_SAVE_AUTPROJ].setEnabled(false);
+            actions[TGUIAction.ACT_VIEW_RGAUTPROJDOT].setEnabled(false);
+            break;
+        case MainGUI.EXPORT_LIB_OK:
+            actions[TGUIAction.ACT_EXPORT_LIB].setEnabled(true);
+            break;
+        case MainGUI.EXPORT_LIB_KO:
+            actions[TGUIAction.ACT_EXPORT_LIB].setEnabled(false);
+            break;
+        case MainGUI.VIEW_SUGG_DESIGN_OK:
+            actions[TGUIAction.ACT_VIEW_SUGGESTED_DESIGN].setEnabled(true);
+            break;
+        case MainGUI.VIEW_SUGG_DESIGN_KO:
+            actions[TGUIAction.ACT_VIEW_SUGGESTED_DESIGN].setEnabled(false);
+            break;
+        case MainGUI.NC_OK:
+            actions[TGUIAction.ACT_NC].setEnabled(true);
+            break;
+        default:
+            TraceManager.addDev("DEFAULT");
+            activeActions(false);
+        }
+
+    }
+}
-- 
GitLab