From dba674c8a52dfb09e534503f532c58fe64ae74c4 Mon Sep 17 00:00:00 2001 From: Minh Hiep Pham <minh.pham@telecom-paristech.fr> Date: Wed, 3 Apr 2019 19:33:12 +0200 Subject: [PATCH] Created CPUNodeHelp class and updated cpu node help --- src/main/java/help/CPUNodeHelp.java | 64 +++++++++++++++++++++ src/main/java/ui/window/JDialogCPUNode.java | 49 ++++++++-------- 2 files changed, 89 insertions(+), 24 deletions(-) create mode 100644 src/main/java/help/CPUNodeHelp.java diff --git a/src/main/java/help/CPUNodeHelp.java b/src/main/java/help/CPUNodeHelp.java new file mode 100644 index 0000000000..b80c3a2df1 --- /dev/null +++ b/src/main/java/help/CPUNodeHelp.java @@ -0,0 +1,64 @@ +package help; + +import ui.MainGUI; +import ui.util.IconManager; + +import javax.swing.*; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; + +/** + * Class JFrameHelp + * Creation: 03/04/2019 + * version 1.0 03/04/2019 + * @author Minh Hiep PHAM + */ + +public class CPUNodeHelp extends JFrame { + 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); + + 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); + + JPanel helpPanel = new JPanel(); + helpPanel.setLayout(new BorderLayout()); + helpPanel.setBorder(new javax.swing.border.TitledBorder("Help of " + he.getMasterKeyword())); + 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); + + framePanel.add(helpPanel, BorderLayout.CENTER); + + helpBut = new JButton("Help", IconManager.imgic32); + helpBut.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + mgui.openHelpFrame(he); + } + }); + + JPanel jp = new JPanel(); + jp.add(helpBut); + framePanel.add(jp, BorderLayout.SOUTH); + + setSize(400, 400); + setVisible(true); + } +} diff --git a/src/main/java/ui/window/JDialogCPUNode.java b/src/main/java/ui/window/JDialogCPUNode.java index 34d184e65b..265531b907 100644 --- a/src/main/java/ui/window/JDialogCPUNode.java +++ b/src/main/java/ui/window/JDialogCPUNode.java @@ -42,12 +42,14 @@ package ui.window; import cli.Action; +import help.CPUNodeHelp; import help.HelpEntry; import help.HelpManager; 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; @@ -81,7 +83,7 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { // private static int selectedTracemode = 0; // Panel1 protected JTextField nodeName; - private JFrameHelp jFrameHelp = null; + private MainGUI mgui; // Panel2 protected JTextField sliceTime, nbOfCores, byteDataSize, pipelineSize, goIdleTime, maxConsecutiveIdleCycles, @@ -99,6 +101,7 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { //issue 183 List<JButton> buttons = new ArrayList<>(); List<HelpEntry> helpEntries; + CPUNodeHelp cpuHelp = null; /* Creates new form */ public JDialogCPUNode(Frame _frame, String _title, TMLArchiCPUNode _node, ArchUnitMEC _MECType, java.util.List<SimulationTransaction> _transactions) { @@ -125,51 +128,48 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { } //issue 183 - private void buttonClick(JButton but, HelpEntry he, HelpManager hm) { + private void buttonClick(JButton but, HelpEntry he) { + setModalityType(ModalityType.MODELESS); but.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - setModalityType(ModalityType.MODELESS); - if(jFrameHelp == null ) { - jFrameHelp = new JFrameHelp("help", hm, he); - jFrameHelp.setModalExclusionType(ModalExclusionType.APPLICATION_EXCLUDE); - jFrameHelp.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "close"); - jFrameHelp.getRootPane().getActionMap().put("close", new AbstractAction() { + if(cpuHelp == null ) { + 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(!jFrameHelp.isVisible()) + if(!cpuHelp.isVisible()) dispose(); - jFrameHelp.setVisible(false); + cpuHelp.setVisible(false); } }); }else{ - if(!jFrameHelp.isVisible()) { - jFrameHelp = new JFrameHelp("help", hm, he); - jFrameHelp.setModalExclusionType(ModalExclusionType.APPLICATION_EXCLUDE); - setModalityType(ModalityType.MODELESS); - jFrameHelp.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "close"); - jFrameHelp.getRootPane().getActionMap().put("close", new AbstractAction() { + 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(!jFrameHelp.isVisible()) + if(!cpuHelp.isVisible()) dispose(); - jFrameHelp.setVisible(false); + cpuHelp.setVisible(false); } }); }else{ - jFrameHelp.setVisible(false); - jFrameHelp = null; + cpuHelp.setVisible(false); + cpuHelp = null; } } } }); } + + //issue 183 private void hardwareHelp(){ - HelpManager helpManager = new HelpManager(); - if(helpManager.loadEntries()) { helpEntries = new ArrayList<>(); HelpEntry he0 = helpManager.getHelpEntryWithHTMLFile("cpuname.html"); @@ -208,17 +208,19 @@ 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); setButton(but); - buttonClick(but,helpEntries.get(i),helpManager); + buttonClick(but,helpEntries.get(i)); buttons.add(but); } } private void initComponents() { + hardwareHelp(); Container c = getContentPane(); GridBagLayout gridbag0 = new GridBagLayout(); @@ -233,7 +235,6 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { c.setLayout(gridbag0); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); - setModalityType(ModalityType.APPLICATION_MODAL); panel2 = new JPanel(); -- GitLab