Skip to content
Snippets Groups Projects
Commit dba674c8 authored by Minh Hiep Pham's avatar Minh Hiep Pham :speech_balloon:
Browse files

Created CPUNodeHelp class and updated cpu node help

parent a87d74a9
No related branches found
No related tags found
2 merge requests!142cpu node help,!141Help cpu node
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);
}
}
...@@ -42,12 +42,14 @@ ...@@ -42,12 +42,14 @@
package ui.window; package ui.window;
import cli.Action; import cli.Action;
import help.CPUNodeHelp;
import help.HelpEntry; import help.HelpEntry;
import help.HelpManager; import help.HelpManager;
import myutil.GraphicLib; import myutil.GraphicLib;
import myutil.TraceManager; import myutil.TraceManager;
import tmltranslator.modelcompiler.ArchUnitMEC; import tmltranslator.modelcompiler.ArchUnitMEC;
import ui.ColorManager; import ui.ColorManager;
import ui.MainGUI;
import ui.util.IconManager; import ui.util.IconManager;
import ui.interactivesimulation.SimulationTransaction; import ui.interactivesimulation.SimulationTransaction;
import ui.tmldd.TMLArchiCPUNode; import ui.tmldd.TMLArchiCPUNode;
...@@ -81,7 +83,7 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { ...@@ -81,7 +83,7 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
// private static int selectedTracemode = 0; // private static int selectedTracemode = 0;
// Panel1 // Panel1
protected JTextField nodeName; protected JTextField nodeName;
private JFrameHelp jFrameHelp = null; private MainGUI mgui;
// Panel2 // Panel2
protected JTextField sliceTime, nbOfCores, byteDataSize, pipelineSize, goIdleTime, maxConsecutiveIdleCycles, protected JTextField sliceTime, nbOfCores, byteDataSize, pipelineSize, goIdleTime, maxConsecutiveIdleCycles,
...@@ -99,6 +101,7 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { ...@@ -99,6 +101,7 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
//issue 183 //issue 183
List<JButton> buttons = new ArrayList<>(); List<JButton> buttons = new ArrayList<>();
List<HelpEntry> helpEntries; List<HelpEntry> helpEntries;
CPUNodeHelp cpuHelp = null;
/* Creates new form */ /* Creates new form */
public JDialogCPUNode(Frame _frame, String _title, TMLArchiCPUNode _node, ArchUnitMEC _MECType, java.util.List<SimulationTransaction> _transactions) { 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 { ...@@ -125,51 +128,48 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
} }
//issue 183 //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() { but.addActionListener(new ActionListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
setModalityType(ModalityType.MODELESS); if(cpuHelp == null ) {
if(jFrameHelp == null ) { cpuHelp = new CPUNodeHelp("help",he);
jFrameHelp = new JFrameHelp("help", hm, he); cpuHelp.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "close");
jFrameHelp.setModalExclusionType(ModalExclusionType.APPLICATION_EXCLUDE); cpuHelp.getRootPane().getActionMap().put("close", new AbstractAction() {
jFrameHelp.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "close");
jFrameHelp.getRootPane().getActionMap().put("close", new AbstractAction() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
if(!jFrameHelp.isVisible()) if(!cpuHelp.isVisible())
dispose(); dispose();
jFrameHelp.setVisible(false); cpuHelp.setVisible(false);
} }
}); });
}else{ }else{
if(!jFrameHelp.isVisible()) { if(!cpuHelp.isVisible()) {
jFrameHelp = new JFrameHelp("help", hm, he); cpuHelp = new CPUNodeHelp("help",he);
jFrameHelp.setModalExclusionType(ModalExclusionType.APPLICATION_EXCLUDE); cpuHelp.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "close");
setModalityType(ModalityType.MODELESS); cpuHelp.getRootPane().getActionMap().put("close", new AbstractAction() {
jFrameHelp.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "close");
jFrameHelp.getRootPane().getActionMap().put("close", new AbstractAction() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void actionPerformed(ActionEvent e) {
if(!jFrameHelp.isVisible()) if(!cpuHelp.isVisible())
dispose(); dispose();
jFrameHelp.setVisible(false); cpuHelp.setVisible(false);
} }
}); });
}else{ }else{
jFrameHelp.setVisible(false); cpuHelp.setVisible(false);
jFrameHelp = null; cpuHelp = null;
} }
} }
} }
}); });
} }
//issue 183 //issue 183
private void hardwareHelp(){ private void hardwareHelp(){
HelpManager helpManager = new HelpManager(); HelpManager helpManager = new HelpManager();
if(helpManager.loadEntries()) { if(helpManager.loadEntries()) {
helpEntries = new ArrayList<>(); helpEntries = new ArrayList<>();
HelpEntry he0 = helpManager.getHelpEntryWithHTMLFile("cpuname.html"); HelpEntry he0 = helpManager.getHelpEntryWithHTMLFile("cpuname.html");
...@@ -208,17 +208,19 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { ...@@ -208,17 +208,19 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
helpEntries.add(he16); helpEntries.add(he16);
} }
for(int i = 0; i < 17; i++) { for(int i = 0; i < 17; i++) {
Icon myIcon = IconManager.imgic32; Icon myIcon = IconManager.imgic32;
JButton but = new JButton(myIcon); JButton but = new JButton(myIcon);
setButton(but); setButton(but);
buttonClick(but,helpEntries.get(i),helpManager); buttonClick(but,helpEntries.get(i));
buttons.add(but); buttons.add(but);
} }
} }
private void initComponents() { private void initComponents() {
hardwareHelp(); hardwareHelp();
Container c = getContentPane(); Container c = getContentPane();
GridBagLayout gridbag0 = new GridBagLayout(); GridBagLayout gridbag0 = new GridBagLayout();
...@@ -233,7 +235,6 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { ...@@ -233,7 +235,6 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
c.setLayout(gridbag0); c.setLayout(gridbag0);
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
setModalityType(ModalityType.APPLICATION_MODAL);
panel2 = new JPanel(); panel2 = new JPanel();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment