diff --git a/src/main/java/help/CPUNodeHelp.java b/src/main/java/help/CPUNodeHelp.java index b80c3a2df1cd190358887988f96d62613edcd11d..c1948a7e4dbf14a7b79a3c0294dd9ccde3b3e460 100644 --- a/src/main/java/help/CPUNodeHelp.java +++ b/src/main/java/help/CPUNodeHelp.java @@ -2,6 +2,7 @@ package help; import ui.MainGUI; import ui.util.IconManager; +import ui.window.JFrameHelp; import javax.swing.*; import java.awt.*; @@ -15,21 +16,20 @@ import java.awt.event.ActionListener; * @author Minh Hiep PHAM */ -public class CPUNodeHelp extends JFrame { +public class CPUNodeHelp extends JFrame implements ActionListener{ private HelpEntry he; private JButton helpBut; private JEditorPane pane; - private MainGUI mgui = new MainGUI(false, false, false,false, - false,false,false,false,false, - false,false,false,false); + private MainGUI mgui = new MainGUI(false, true, true, true, + true, true, true, true, true, true, + true, false, true); public CPUNodeHelp(String title, HelpEntry _he) { super(title); he = _he; setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); - setModalExclusionType(Dialog.ModalExclusionType.APPLICATION_EXCLUDE); Container framePanel = getContentPane(); framePanel.setLayout(new BorderLayout()); Font f = new Font("Courrier", Font.BOLD, 12); @@ -40,6 +40,7 @@ public class CPUNodeHelp extends JFrame { pane = new JEditorPane("text/html;charset=UTF-8", ""); pane.setEditable(false); pane.setText(he.getHTMLContent()); + JScrollPane jsp = new JScrollPane(pane); jsp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS); helpPanel.add(jsp, BorderLayout.CENTER); @@ -47,12 +48,13 @@ public class CPUNodeHelp extends JFrame { framePanel.add(helpPanel, BorderLayout.CENTER); helpBut = new JButton("Help", IconManager.imgic32); - helpBut.addActionListener(new ActionListener() { - @Override - public void actionPerformed(ActionEvent e) { - mgui.openHelpFrame(he); - } - }); + + HelpManager hm = new HelpManager(); + if(hm.loadEntries()) { + mgui.setHelpManager(hm); + } + + helpBut.addActionListener(this); JPanel jp = new JPanel(); jp.add(helpBut); @@ -60,5 +62,13 @@ public class CPUNodeHelp extends JFrame { setSize(400, 400); setVisible(true); + pack(); + } + + @Override + public void actionPerformed(ActionEvent e) { + if(e.getSource() == helpBut) { + mgui.openHelpFrame(he); + } } } diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java index 9c3a94f69759f1d6e6f9bf692e2ae09c700bdbc0..fef7fd3ded0e238801f124269521b56e32c6657d 100644 --- a/src/main/java/ui/MainGUI.java +++ b/src/main/java/ui/MainGUI.java @@ -712,6 +712,10 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per return helpManager; } + public void setHelpManager(HelpManager hm) { + helpManager = hm; + } + public void showIntegratedHelp() { if (helpManager != null) { openHelpFrame(helpManager); diff --git a/src/main/java/ui/window/JDialogCPUNode.java b/src/main/java/ui/window/JDialogCPUNode.java index 265531b90765614a5188e499e441b1213342d7a6..05c6e32c0f2f4b403eb4c87f954e77a129fcf74f 100644 --- a/src/main/java/ui/window/JDialogCPUNode.java +++ b/src/main/java/ui/window/JDialogCPUNode.java @@ -41,7 +41,6 @@ package ui.window; -import cli.Action; import help.CPUNodeHelp; import help.HelpEntry; import help.HelpManager; @@ -49,7 +48,6 @@ import myutil.GraphicLib; import myutil.TraceManager; import tmltranslator.modelcompiler.ArchUnitMEC; import ui.ColorManager; -import ui.MainGUI; import ui.util.IconManager; import ui.interactivesimulation.SimulationTransaction; import ui.tmldd.TMLArchiCPUNode; @@ -83,7 +81,6 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { // private static int selectedTracemode = 0; // Panel1 protected JTextField nodeName; - private MainGUI mgui; // Panel2 protected JTextField sliceTime, nbOfCores, byteDataSize, pipelineSize, goIdleTime, maxConsecutiveIdleCycles, @@ -101,7 +98,7 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { //issue 183 List<JButton> buttons = new ArrayList<>(); List<HelpEntry> helpEntries; - CPUNodeHelp cpuHelp = null; + CPUNodeHelp cpuHelp; /* Creates new form */ public JDialogCPUNode(Frame _frame, String _title, TMLArchiCPUNode _node, ArchUnitMEC _MECType, java.util.List<SimulationTransaction> _transactions) { @@ -134,7 +131,18 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { @Override public void actionPerformed(ActionEvent e) { if(cpuHelp == null ) { - cpuHelp = new CPUNodeHelp("help",he); + cpuHelp = new CPUNodeHelp("Help",he); + cpuHelp.setLocationRelativeTo(but); + }else{ + if(!cpuHelp.isVisible()) { + cpuHelp = new CPUNodeHelp("Help",he); + cpuHelp.setLocationRelativeTo(but); + }else{ + cpuHelp.setVisible(false); + } + } + + if(cpuHelp != null) { cpuHelp.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "close"); cpuHelp.getRootPane().getActionMap().put("close", new AbstractAction() { @Override @@ -144,22 +152,6 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { cpuHelp.setVisible(false); } }); - }else{ - if(!cpuHelp.isVisible()) { - cpuHelp = new CPUNodeHelp("help",he); - cpuHelp.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "close"); - cpuHelp.getRootPane().getActionMap().put("close", new AbstractAction() { - @Override - public void actionPerformed(ActionEvent e) { - if(!cpuHelp.isVisible()) - dispose(); - cpuHelp.setVisible(false); - } - }); - }else{ - cpuHelp.setVisible(false); - cpuHelp = null; - } } } }); @@ -208,7 +200,6 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { helpEntries.add(he16); } - for(int i = 0; i < 17; i++) { Icon myIcon = IconManager.imgic32; JButton but = new JButton(myIcon);