From e82db77493a1da395c7a947377725813b69b11bb Mon Sep 17 00:00:00 2001 From: apvrille <ludovic.apvrille@eurecom.fr> Date: Thu, 12 Apr 2018 12:27:26 +0200 Subject: [PATCH] Correcitng bug on model checking activated in wrong situations --- src/main/java/ui/MainGUI.java | 33 +++++++++++++++++++ src/main/java/ui/ModeManager.java | 5 +++ .../java/ui/avatardd/ADDDiagramToolBar.java | 4 +++ 3 files changed, 42 insertions(+) diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java index f9fd36a499..bb5b0d8d79 100644 --- a/src/main/java/ui/MainGUI.java +++ b/src/main/java/ui/MainGUI.java @@ -240,6 +240,7 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per public final static byte ATTACKTREE_SYNTAXCHECKING_OK = 49; public final static byte FAULTTREE_SYNTAXCHECKING_OK = 51; public final static byte COMPONENT_SELECTED = 50; + public final static byte CREATE_NEW_PANEL = 52; public final static int INCREMENT = 10; @@ -630,6 +631,7 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per //-- public void activeActions(boolean b) { + //TraceManager.addDev("Action actions:" + b); for (int i = 0; i < TGUIAction.NB_ACTION; i++) { actions[i].setEnabled(b); } @@ -7364,10 +7366,13 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per int index; TURTLEPanel tp = getCurrentTURTLEPanel(); if (tp == null) { + TraceManager.addDev("null TP Panel"); return; } index = tp.tabbedPane.getSelectedIndex(); + TraceManager.addDev("TP Panel: " + tp + " index=" + index); + if (index < tp.panels.size() - 1) { setMode(FORWARD_DIAG); } else { @@ -7380,6 +7385,12 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per setMode(NO_BACKWARD_DIAG); } + // If no edition panel, we need to deactivate previous diagram and model checking + + if (index == -1) { + setMode(MainGUI.CREATE_NEW_PANEL); + } + setMode(METHO_CHANGED); } @@ -8996,48 +9007,70 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per } else if (ac.equals("Clone")) { mgui.cloneTab(mainTabbedPane.getSelectedIndex()); } else if (ac.equals("New TURTLE Analysis")) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newAnalysis(); } else if (ac.equals("New TURTLE Design")) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newDesign(); } else if (ac.equals("New TURTLE Deployment")) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newDeployment(); } else if (e.getSource() == newAttackTree) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newAttackTree(); } else if (e.getSource() == newFaultTree) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newFaultTree(); } else if (ac.equals("New TURTLE Requirement Diagram")) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newRequirement(); } else if (e.getSource() == newTMLMethodo) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newDiplodocusMethodology(); } else if (e.getSource() == newAvatarMethodo) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newAvatarMethodology(); } else if (e.getSource() == newSysmlsecMethodo) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newSysmlsecMethodology(); } else if (ac.equals("New DIPLODOCUS Design")) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newTMLDesign(); } else if (e.getSource() == newTMLComponentDesign) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newTMLComponentDesign(); } else if (e.getSource() == newTMLCP) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newTMLCP(); } else if (e.getSource() == newTMLArchi) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newTMLArchi(); } else if (ac.equals("New Proactive Design")) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newProactiveDesign(); } else if (ac.equals("New TURTLE-OS Design")) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newTURTLEOSDesign(); } else if (e.getSource() == newNCDesign) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newNCDesign(); } else if (e.getSource() == newAVATARBD) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newAvatarBD(); } else if (e.getSource() == newAVATARDD) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newADD(); } else if (e.getSource() == newAVATARRequirement) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newAvatarRequirement(); } else if (e.getSource() == newMAD) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newAvatarMADs(); } else if (e.getSource() == newAVATARAnalysis) { + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newAvatarAnalysis(); } else if (e.getSource() == newSystemCAMS) { //ajout CD + ModeManager.setMode(CREATE_NEW_PANEL, actions, mainBar, mgui); mgui.newSystemCAMS(); } } diff --git a/src/main/java/ui/ModeManager.java b/src/main/java/ui/ModeManager.java index 4ba4f02f42..2653a34d44 100755 --- a/src/main/java/ui/ModeManager.java +++ b/src/main/java/ui/ModeManager.java @@ -54,7 +54,12 @@ import myutil.TraceManager; public class ModeManager { public static void setMode(byte mode, TGUIAction[] actions, JToolBarMainTurtle mainBar, MainGUI mgui) { + //TraceManager.addDev("Setting mode=" + mode); switch (mode) { + case MainGUI.CREATE_NEW_PANEL: + actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(false); + TraceManager.addDev("Deactivating syntax checking"); + break; case MainGUI.NOT_OPENED: mgui.activeActions(false); actions[TGUIAction.ACT_NEW].setEnabled(true); diff --git a/src/main/java/ui/avatardd/ADDDiagramToolBar.java b/src/main/java/ui/avatardd/ADDDiagramToolBar.java index 557bbdbe67..30065ed08c 100755 --- a/src/main/java/ui/avatardd/ADDDiagramToolBar.java +++ b/src/main/java/ui/avatardd/ADDDiagramToolBar.java @@ -43,6 +43,7 @@ package ui.avatardd; import ui.MainGUI; import ui.TGUIAction; import ui.TToolBar; +import myutil.TraceManager; import javax.swing.*; @@ -67,6 +68,9 @@ public class ADDDiagramToolBar extends TToolBar { } protected void setActive(boolean b) { + + TraceManager.addDev("Active ADDtoolbar b=" +b); + mgui.actions[TGUIAction.ADD_EDIT].setEnabled(b); mgui.actions[TGUIAction.UML_NOTE].setEnabled(b); mgui.actions[TGUIAction.CONNECTOR_COMMENT].setEnabled(b); -- GitLab