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

added question marks into Code generation of Setting CPU attributes

added code for closing JtextArea by escape key

but, missing the explanation (help text) for Encryption and CPU Extension Construct in Code Generation of the CPU node
parent 99cb2b17
No related branches found
No related tags found
1 merge request!115added question marks into Code generation in CPU node
......@@ -41,6 +41,7 @@
package ui.window;
import cli.Action;
import myutil.GraphicLib;
import tmltranslator.modelcompiler.ArchUnitMEC;
import ui.ColorManager;
......@@ -51,7 +52,6 @@ import ui.tmldd.TMLArchiCPUNode;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.math.BigDecimal;
import java.util.*;
import java.util.List;
......@@ -92,7 +92,6 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
//issue 183
List<JTextArea> instructionHelpList;
List<JButton> buttons;
int index;
/* Creates new form */
public JDialogCPUNode(Frame _frame, String _title, TMLArchiCPUNode _node, ArchUnitMEC _MECType, java.util.List<SimulationTransaction> _transactions) {
......@@ -115,8 +114,36 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
button.setFocusPainted(false);
button.setContentAreaFilled(false);
button.setBorderPainted(false);
button.setPreferredSize(new Dimension(20,20));
}
//issue 183
private void buttonClick(JButton but, JTextArea jta) {
JPopupMenu helpPopup = new JPopupMenu();
helpPopup.add(jta);
but.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (!helpPopup.isVisible()) {
helpPopup.show(but,20,20);
} else {
helpPopup.setVisible(false);
}
}
});
helpPopup.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke("ESCAPE"), "closeJTextArea");
helpPopup.getActionMap().put("closeJTextArea", new AbstractAction() {
@Override
public void actionPerformed(ActionEvent e) {
helpPopup.setVisible(false);
}
});
}
//issue 183
private void hardwareHelp(){
instructionHelpList = new ArrayList<>();
......@@ -126,7 +153,7 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
instructionHelpList.add(jft1);
JTextArea jft2 = new JTextArea();
jft2.setText("Scheduling policy");
jft2.setText("The arbitration policy used by OS to schedule mapped tasks");
instructionHelpList.add(jft2);
JTextArea jft3 = new JTextArea("Slice time : The maximum time allocated by the OS " +
......@@ -175,195 +202,23 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
"operates at 200/4 = 50 MHz");
instructionHelpList.add(jft14);
JTextArea jft15 = new JTextArea("Encryption");
instructionHelpList.add(jft15);
JTextArea jft16 = new JTextArea("CPU Extension Construct");
instructionHelpList.add(jft16);
for(int i = 0; i < instructionHelpList.size(); i++) {
Icon myIcon = IconManager.imgic32;
JButton but = new JButton(myIcon);
setButton(but);
buttons.add(but);
instructionHelpList.get(i).setEditable(false);
}
buttons.get(0).addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
JPopupMenu helpPopup = new JPopupMenu();
helpPopup.add(jft1);
if (!helpPopup.isVisible()) {
helpPopup.show(buttons.get(0),20,20);
} else {
helpPopup.setVisible(false);
}
}
});
buttons.get(1).addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
JPopupMenu helpPopup = new JPopupMenu();
helpPopup.add(jft2);
if (!helpPopup.isVisible()) {
helpPopup.show(buttons.get(1),20,20);
} else {
helpPopup.setVisible(false);
}
}
});
buttons.get(2).addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
JPopupMenu helpPopup = new JPopupMenu();
helpPopup.add(jft3);
if (!helpPopup.isVisible()) {
helpPopup.show(buttons.get(2),20,20);
} else {
helpPopup.setVisible(false);
}
}
});
buttons.get(3).addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
JPopupMenu helpPopup = new JPopupMenu();
helpPopup.add(jft4);
if (!helpPopup.isVisible()) {
helpPopup.show(buttons.get(3),20,20);
} else {
helpPopup.setVisible(false);
}
}
});
buttons.get(4).addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
JPopupMenu helpPopup = new JPopupMenu();
helpPopup.add(jft5);
if (!helpPopup.isVisible()) {
helpPopup.show(buttons.get(4),20,20);
} else {
helpPopup.setVisible(false);
}
}
});
buttons.get(5).addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
JPopupMenu helpPopup = new JPopupMenu();
helpPopup.add(jft6);
if (!helpPopup.isVisible()) {
helpPopup.show(buttons.get(5),20,20);
} else {
helpPopup.setVisible(false);
}
}
});
buttons.get(6).addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
JPopupMenu helpPopup = new JPopupMenu();
helpPopup.add(jft7);
if (!helpPopup.isVisible()) {
helpPopup.show(buttons.get(6),20,20);
} else {
helpPopup.setVisible(false);
}
}
});
buttons.get(7).addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
JPopupMenu helpPopup = new JPopupMenu();
helpPopup.add(jft8);
if (!helpPopup.isVisible()) {
helpPopup.show(buttons.get(7),20,20);
} else {
helpPopup.setVisible(false);
}
}
});
buttons.get(8).addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
JPopupMenu helpPopup = new JPopupMenu();
helpPopup.add(jft9);
if (!helpPopup.isVisible()) {
helpPopup.show(buttons.get(8),20,20);
} else {
helpPopup.setVisible(false);
}
}
});
buttons.get(9).addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
JPopupMenu helpPopup = new JPopupMenu();
helpPopup.add(jft10);
if (!helpPopup.isVisible()) {
helpPopup.show(buttons.get(9),20,20);
} else {
helpPopup.setVisible(false);
}
}
});
buttons.get(10).addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
JPopupMenu helpPopup = new JPopupMenu();
helpPopup.add(jft11);
if (!helpPopup.isVisible()) {
helpPopup.show(buttons.get(10),20,20);
} else {
helpPopup.setVisible(false);
}
}
});
buttons.get(11).addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
JPopupMenu helpPopup = new JPopupMenu();
helpPopup.add(jft12);
if (!helpPopup.isVisible()) {
helpPopup.show(buttons.get(11),20,20);
} else {
helpPopup.setVisible(false);
}
}
});
buttons.get(12).addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
JPopupMenu helpPopup = new JPopupMenu();
helpPopup.add(jft13);
if (!helpPopup.isVisible()) {
helpPopup.show(buttons.get(12),20,20);
} else {
helpPopup.setVisible(false);
}
}
});
buttons.get(13).addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
JPopupMenu helpPopup = new JPopupMenu();
helpPopup.add(jft14);
if (!helpPopup.isVisible()) {
helpPopup.show(buttons.get(13),20,20);
} else {
helpPopup.setVisible(false);
}
}
});
for (int i = 0; i < instructionHelpList.size(); i++) {
buttonClick(buttons.get(i),instructionHelpList.get(i));
}
}
......@@ -407,11 +262,10 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
panel2.add(nodeName, c2);
//issue 183
c2.weighty = 0.0;
c2.weightx = 0.0;
c2.weighty = 0.5;
c2.weightx = 0.5;
c2.gridwidth = GridBagConstraints.REMAINDER;
panel2.add(buttons.get(0),c2);
c2.gridwidth = 1;
c2.gridheight = 1;
c2.weighty = 1.0;
......@@ -427,8 +281,8 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
panel2.add(schedulingPolicy, c2);
//issue 183
c2.weighty = 0.0;
c2.weightx = 0.0;
c2.weighty = 0.5;
c2.weightx = 0.5;
c2.gridwidth = GridBagConstraints.REMAINDER;
panel2.add(buttons.get(1),c2);
......@@ -442,8 +296,8 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
panel2.add(sliceTime, c2);
//issue 183
c2.weighty = 0.0;
c2.weightx = 0.0;
c2.weighty = 0.5;
c2.weightx = 0.5;
c2.gridwidth = GridBagConstraints.REMAINDER;
panel2.add(buttons.get(2),c2);
......@@ -457,8 +311,8 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
panel2.add(nbOfCores, c2);
//issue 183
c2.weighty = 0.0;
c2.weightx = 0.0;
c2.weighty = 0.5;
c2.weightx = 0.5;
c2.gridwidth = GridBagConstraints.REMAINDER;
panel2.add(buttons.get(3),c2);
......@@ -472,8 +326,8 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
panel2.add(byteDataSize, c2);
//issue 183
c2.weighty = 0.0;
c2.weightx = 0.0;
c2.weighty = 0.5;
c2.weightx = 0.5;
c2.gridwidth = GridBagConstraints.REMAINDER;
panel2.add(buttons.get(4),c2);
......@@ -487,8 +341,8 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
panel2.add(pipelineSize, c2);
//issue 183
c2.weighty = 0.0;
c2.weightx = 0.0;
c2.weighty = 0.5;
c2.weightx = 0.5;
c2.gridwidth = GridBagConstraints.REMAINDER;
panel2.add(buttons.get(5),c2);
......@@ -502,8 +356,8 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
panel2.add(taskSwitchingTime, c2);
//issue 183
c2.weighty = 0.0;
c2.weightx = 0.0;
c2.weighty = 0.5;
c2.weightx = 0.5;
c2.gridwidth = GridBagConstraints.REMAINDER;
panel2.add(buttons.get(6),c2);
......@@ -517,8 +371,8 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
panel2.add(branchingPredictionPenalty, c2);
//issue 183
c2.weighty = 0.0;
c2.weightx = 0.0;
c2.weighty = 0.5;
c2.weightx = 0.5;
c2.gridwidth = GridBagConstraints.REMAINDER;
panel2.add(buttons.get(7),c2);
......@@ -532,8 +386,8 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
panel2.add(cacheMiss, c2);
//issue 183
c2.weighty = 0.0;
c2.weightx = 0.0;
c2.weighty = 0.5;
c2.weightx = 0.5;
c2.gridwidth = GridBagConstraints.REMAINDER;
panel2.add(buttons.get(8),c2);
......@@ -547,8 +401,8 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
panel2.add(goIdleTime, c2);
//issue 183
c2.weighty = 0.0;
c2.weightx = 0.0;
c2.weighty = 0.5;
c2.weightx = 0.5;
c2.gridwidth = GridBagConstraints.REMAINDER;
panel2.add(buttons.get(9),c2);
......@@ -562,8 +416,8 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
panel2.add(maxConsecutiveIdleCycles, c2);
//issue 183
c2.weighty = 0.0;
c2.weightx = 0.0;
c2.weighty = 0.5;
c2.weightx = 0.5;
c2.gridwidth = GridBagConstraints.REMAINDER;
panel2.add(buttons.get(10),c2);
......@@ -577,8 +431,8 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
panel2.add(execiTime, c2);
//issue 183
c2.weighty = 0.0;
c2.weightx = 0.0;
c2.weighty = 0.5;
c2.weightx = 0.5;
c2.gridwidth = GridBagConstraints.REMAINDER;
panel2.add(buttons.get(11),c2);
......@@ -592,8 +446,8 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
panel2.add(execcTime, c2);
//issue 183
c2.weighty = 0.0;
c2.weightx = 0.0;
c2.weighty = 0.5;
c2.weightx = 0.5;
c2.gridwidth = GridBagConstraints.REMAINDER;
panel2.add(buttons.get(12),c2);
......@@ -607,8 +461,8 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
panel2.add(clockRatio, c2);
//issue 183
c2.weighty = 0.0;
c2.weightx = 0.0;
c2.weighty = 0.5;
c2.weightx = 0.5;
c2.gridwidth = GridBagConstraints.REMAINDER;
panel2.add(buttons.get(13),c2);
......@@ -643,16 +497,25 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
c4.fill = GridBagConstraints.HORIZONTAL;
c4.anchor = GridBagConstraints.CENTER;*/
panel4.add(new JLabel("Encryption:"), c4);
c4.gridwidth = GridBagConstraints.REMAINDER;
//c4.gridwidth = GridBagConstraints.REMAINDER;
encryption = new JComboBox<String>();
encryption.addItem("None");
encryption.addItem("Software Encryption");
encryption.addItem("Hardware Security Module");
encryption.setSelectedIndex(node.getEncryption());
panel4.add(encryption, c4);
//issue 183
c4.weighty = 0.5;
c4.weightx = 0.5;
c4.gridwidth = GridBagConstraints.REMAINDER;
panel4.add(buttons.get(14),c4);
//issue 183
c4.weighty = 1.0;
c4.weightx = 1.0;
c4.gridwidth = 1;
panel4.add(new JLabel("CPU Extension Construct:"), c4);
c4.gridwidth = GridBagConstraints.REMAINDER; //end row
//c4.gridwidth = GridBagConstraints.REMAINDER; //end row
MECTypeCB = new JComboBox<String>( ArchUnitMEC.stringTypes );
if( MECType == null ) {
MECTypeCB.setSelectedIndex( 0 );
......@@ -663,6 +526,11 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener {
MECTypeCB.addActionListener(this);
panel4.add( MECTypeCB, c4);
c4.weighty = 0.5;
c4.weightx = 0.5;
c4.gridwidth = GridBagConstraints.REMAINDER;
panel4.add(buttons.get(15),c4);
if (transactions.size()!=0) {
panel5=new JPanel();
panel5.setPreferredSize(new Dimension(400,300));
......
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