From 79efbcfdae42e2f40e31eaa1abb512738cfe632a Mon Sep 17 00:00:00 2001
From: apvrille <ludovic.apvrille@eurecom.fr>
Date: Fri, 8 Mar 2019 11:29:27 +0100
Subject: [PATCH] Adding integrated help window TTool

---
 src/main/java/ui/ActionPerformer.java | 2 ++
 src/main/java/ui/JMenuBarTurtle.java  | 3 +++
 src/main/java/ui/MainGUI.java         | 6 ++++++
 src/main/java/ui/ModeManager.java     | 1 +
 src/main/java/ui/TGUIAction.java      | 6 ++++--
 5 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/src/main/java/ui/ActionPerformer.java b/src/main/java/ui/ActionPerformer.java
index e627e51066..8550f8bdd1 100644
--- a/src/main/java/ui/ActionPerformer.java
+++ b/src/main/java/ui/ActionPerformer.java
@@ -139,6 +139,8 @@ public class ActionPerformer {
             mgui.lastDiag();
         } else if (command.equals(mgui.actions[TGUIAction.ACT_ABOUT].getActionCommand())) {
             mgui.aboutVersion();
+        } else if (command.equals(mgui.actions[TGUIAction.ACT_INTEGRATED_HELP].getActionCommand())) {
+            mgui.showIntegratedHelp();
         } else if (command.equals(mgui.actions[TGUIAction.FIRST_DIAGRAM].getActionCommand())) {
             mgui.firstDiag();
         //@author: Huy TRUONG.
diff --git a/src/main/java/ui/JMenuBarTurtle.java b/src/main/java/ui/JMenuBarTurtle.java
index 39b09b20c7..e72e86db5e 100644
--- a/src/main/java/ui/JMenuBarTurtle.java
+++ b/src/main/java/ui/JMenuBarTurtle.java
@@ -779,6 +779,9 @@ public class JMenuBarTurtle extends JMenuBar {
 
 
         // HELP
+        menuItem = help.add(mgui.actions[TGUIAction.ACT_INTEGRATED_HELP]);
+        menuItem.setName("Help");
+        menuItem.addMouseListener(mgui.mouseHandler);
         menuItem = help.add(mgui.actions[TGUIAction.ACT_TTOOL_CONFIGURATION]);
         menuItem.setName("Help Configuration");
         menuItem.addMouseListener(mgui.mouseHandler);
diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java
index ae04ecf6a9..639cdadcf6 100644
--- a/src/main/java/ui/MainGUI.java
+++ b/src/main/java/ui/MainGUI.java
@@ -712,6 +712,12 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per
         return helpManager;
     }
 
+    public void showIntegratedHelp() {
+        if (helpManager != null) {
+            openHelpFrame(helpManager);
+        }
+    }
+
     public void openHelpFrame(HelpEntry he) {
         if (helpFrame == null) {
             helpFrame = new JFrameHelp("Help", helpManager, he);
diff --git a/src/main/java/ui/ModeManager.java b/src/main/java/ui/ModeManager.java
index ba3f925aa0..7556b775a8 100644
--- a/src/main/java/ui/ModeManager.java
+++ b/src/main/java/ui/ModeManager.java
@@ -72,6 +72,7 @@ public class ModeManager {
                 actions[TGUIAction.ACT_OPEN_LAST].setEnabled(true);
                 actions[TGUIAction.ACT_QUIT].setEnabled(true);
                 actions[TGUIAction.ACT_ABOUT].setEnabled(true);
+                actions[TGUIAction.ACT_INTEGRATED_HELP].setEnabled(true);
                 actions[TGUIAction.ACT_TTOOL_CONFIGURATION].setEnabled(true);
                 actions[TGUIAction.ACT_TURTLE_WEBSITE].setEnabled(true);
                 actions[TGUIAction.ACT_TURTLE_DOCUMENTATION].setEnabled(true);
diff --git a/src/main/java/ui/TGUIAction.java b/src/main/java/ui/TGUIAction.java
index 76353ac813..d0940e93e1 100644
--- a/src/main/java/ui/TGUIAction.java
+++ b/src/main/java/ui/TGUIAction.java
@@ -90,7 +90,8 @@ public class TGUIAction extends AbstractAction {
     public static final int ACT_TURTLE_DOCUMENTATION = 118;
     public static final int ACT_DIPLODOCUS_DOCUMENTATION = 242;
     public static final int ACT_SYSMLSEC_DOCUMENTATION = 426;
-    public static final int ACT_ABOUT = 4;
+    public static final int ACT_ABOUT = 518;
+    public static final int ACT_INTEGRATED_HELP = 4;
     public static final int ACT_ENHANCE = 160;
     public static final int ACT_TTOOL_CONFIGURATION = 323;
 
@@ -672,7 +673,7 @@ public class TGUIAction extends AbstractAction {
     public static final int MOVE_ENABLED = 463;
     public static final int FIRST_DIAGRAM = 464;
     
-    public static final int NB_ACTION = 518;
+    public static final int NB_ACTION = 519;
 
     private static final TAction [] actions = new TAction[NB_ACTION];
 
@@ -913,6 +914,7 @@ public class TGUIAction extends AbstractAction {
         actions[ACT_GEN_DOC_REQ] = new TAction("gen-doc-req", "SysML requirements documentation", IconManager.imgic28, IconManager.imgic28, "SysML requirements documentation",  "SysML requirements documentation is displayed in an array, and may be further automatically generated in html format", 0);
 
         actions[ACT_ABOUT] = new TAction("about-command", "About", IconManager.imgic30, IconManager.imgic31, "About", "TTool information", 0);
+        actions[ACT_INTEGRATED_HELP] = new TAction("integrated-help", "Integrated help", IconManager.imgic30, IconManager.imgic31, "Integrated help", "TTool internal help", 0);
         actions[ACT_TURTLE_WEBSITE] = new TAction("turtle-website-command", "TTool's website", IconManager.imgic30, IconManager.imgic31, "TTool's website", "Various information (e.g., documentation) on TTool", 0);
         actions[ACT_TURTLE_DOCUMENTATION] = new TAction("turtle-docu-command", "AVATAR online help", IconManager.imgic30, IconManager.imgic31, "AVATAR online help", "AVATAR online help", 0);
         actions[ACT_DIPLODOCUS_DOCUMENTATION] = new TAction("diplo-docu-command", "DIPLODOCUS online help", IconManager.imgic30, IconManager.imgic31, "DIPLODOCUS online help", "DIPLODOCUS online help", 0);
-- 
GitLab