|
@@ -56,7 +56,10 @@ import javax.swing.ImageIcon;
|
|
|
|
|
|
import classes.Category;
|
|
import classes.Category;
|
|
import classes.CpsObject;
|
|
import classes.CpsObject;
|
|
|
|
+import classes.HolonElement;
|
|
import classes.HolonObject;
|
|
import classes.HolonObject;
|
|
|
|
+import classes.HolonSwitch;
|
|
|
|
+import classes.HolonTransformer;
|
|
import Interfaces.CategoryListener;
|
|
import Interfaces.CategoryListener;
|
|
|
|
|
|
import java.awt.event.ActionListener;
|
|
import java.awt.event.ActionListener;
|
|
@@ -110,7 +113,7 @@ public class GUI implements CategoryListener {
|
|
private String actualObjectClicked;
|
|
private String actualObjectClicked;
|
|
private Image img = null;
|
|
private Image img = null;
|
|
private CpsObject tempCps = null;
|
|
private CpsObject tempCps = null;
|
|
-
|
|
|
|
|
|
+
|
|
private final MyCanvas canvas;
|
|
private final MyCanvas canvas;
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -127,7 +130,7 @@ public class GUI implements CategoryListener {
|
|
/**
|
|
/**
|
|
* Initialize the contents of the frame.
|
|
* Initialize the contents of the frame.
|
|
*/
|
|
*/
|
|
- @SuppressWarnings("serial")
|
|
|
|
|
|
+ @SuppressWarnings({ "serial", "unchecked" })
|
|
private void initialize() {
|
|
private void initialize() {
|
|
frmCyberPhysical = new JFrame();
|
|
frmCyberPhysical = new JFrame();
|
|
frmCyberPhysical.setTitle("Cyber Physical Systems Model");
|
|
frmCyberPhysical.setTitle("Cyber Physical Systems Model");
|
|
@@ -197,62 +200,68 @@ public class GUI implements CategoryListener {
|
|
splitPane_2.setDividerLocation(200);
|
|
splitPane_2.setDividerLocation(200);
|
|
|
|
|
|
splitPane.setLeftComponent(scrollPane_1);
|
|
splitPane.setLeftComponent(scrollPane_1);
|
|
- img = new ImageIcon(this.getClass().getResource("/Images/Dummy_House.png")).getImage()
|
|
|
|
- .getScaledInstance(30, 30, java.awt.Image.SCALE_SMOOTH);
|
|
|
|
|
|
+ img = new ImageIcon(this.getClass().getResource("/Images/Dummy_House.png")).getImage().getScaledInstance(30, 30,
|
|
|
|
+ java.awt.Image.SCALE_SMOOTH);
|
|
Icon icon = new ImageIcon(img);
|
|
Icon icon = new ImageIcon(img);
|
|
-
|
|
|
|
-
|
|
|
|
|
|
+
|
|
TreeCellRenderer customRenderer = new TreeCellRenderer() {
|
|
TreeCellRenderer customRenderer = new TreeCellRenderer() {
|
|
-
|
|
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded,
|
|
public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded,
|
|
boolean leaf, int row, boolean hasFocus) {
|
|
boolean leaf, int row, boolean hasFocus) {
|
|
JLabel label = new JLabel();
|
|
JLabel label = new JLabel();
|
|
Image imgR = null;
|
|
Image imgR = null;
|
|
CpsObject tempCPS = null;
|
|
CpsObject tempCPS = null;
|
|
-
|
|
|
|
|
|
+
|
|
for (Category cat : model.getCategories()) {
|
|
for (Category cat : model.getCategories()) {
|
|
for (CpsObject cps : cat.getObjects()) {
|
|
for (CpsObject cps : cat.getObjects()) {
|
|
if (value.toString().compareTo(cps.getCompareName()) == 0) {
|
|
if (value.toString().compareTo(cps.getCompareName()) == 0) {
|
|
tempCPS = cps;
|
|
tempCPS = cps;
|
|
- System.out.println(tempCPS.getImage());
|
|
|
|
|
|
+ // System.out.println(tempCPS.getImage());
|
|
imgR = new ImageIcon(this.getClass().getResource(cps.getImage())).getImage()
|
|
imgR = new ImageIcon(this.getClass().getResource(cps.getImage())).getImage()
|
|
.getScaledInstance(30, 30, java.awt.Image.SCALE_SMOOTH);
|
|
.getScaledInstance(30, 30, java.awt.Image.SCALE_SMOOTH);
|
|
if (imgR != null) {
|
|
if (imgR != null) {
|
|
- label.setIcon(new ImageIcon (imgR));
|
|
|
|
- }
|
|
|
|
|
|
+ label.setIcon(new ImageIcon(imgR));
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- label.setText(value.toString());
|
|
|
|
- return label;
|
|
|
|
-
|
|
|
|
|
|
+ label.setText(value.toString());
|
|
|
|
+ return label;
|
|
|
|
+
|
|
}
|
|
}
|
|
};
|
|
};
|
|
-
|
|
|
|
-
|
|
|
|
- /*DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer) tree.getCellRenderer();
|
|
|
|
- renderer.setLeafIcon(icon);
|
|
|
|
- // renderer.setClosedIcon(icon);
|
|
|
|
- // renderer.setOpen*/
|
|
|
|
|
|
+
|
|
|
|
+ /*
|
|
|
|
+ * DefaultTreeCellRenderer renderer = (DefaultTreeCellRenderer)
|
|
|
|
+ * tree.getCellRenderer(); renderer.setLeafIcon(icon); //
|
|
|
|
+ * renderer.setClosedIcon(icon); // renderer.setOpen
|
|
|
|
+ */
|
|
tree.setRowHeight(icon.getIconHeight());
|
|
tree.setRowHeight(icon.getIconHeight());
|
|
-
|
|
|
|
|
|
+
|
|
tree.setCellRenderer(customRenderer);
|
|
tree.setCellRenderer(customRenderer);
|
|
-
|
|
|
|
|
|
+
|
|
tree.addMouseListener(new MouseAdapter() {
|
|
tree.addMouseListener(new MouseAdapter() {
|
|
public void mouseReleased(MouseEvent e) {
|
|
public void mouseReleased(MouseEvent e) {
|
|
try {
|
|
try {
|
|
if (dragging) {
|
|
if (dragging) {
|
|
-<<<<<<< HEAD
|
|
|
|
- CpsObject h = new CpsObject(actualObjectClicked);
|
|
|
|
-=======
|
|
|
|
- HolonObject h = new HolonObject(tempCps);
|
|
|
|
->>>>>>> be22b224d998a4747c8839f1c312f403a8726dda
|
|
|
|
|
|
+
|
|
|
|
+ // if(){
|
|
|
|
+ // HolonSwitch h = new HolonSwitch(actualObjectClicked);
|
|
|
|
+ // }else if(){
|
|
|
|
+ // HolonTransformer h = new
|
|
|
|
+ // HolonTransformer(actualObjectClicked);
|
|
|
|
+ // }else{
|
|
|
|
+ HolonObject h = new HolonObject(actualObjectClicked);
|
|
h.setPos((int) canvas.getMousePosition().getX(), (int) canvas.getMousePosition().getY());
|
|
h.setPos((int) canvas.getMousePosition().getX(), (int) canvas.getMousePosition().getY());
|
|
controller.addObject(h);
|
|
controller.addObject(h);
|
|
for (int i = 0; i < model.getObjectsOnCanvas().size(); i++) {
|
|
for (int i = 0; i < model.getObjectsOnCanvas().size(); i++) {
|
|
System.out.println("Element: " + model.getObjectsOnCanvas().get(i).getObjName()
|
|
System.out.println("Element: " + model.getObjectsOnCanvas().get(i).getObjName()
|
|
- + "with ID: " + model.getObjectsOnCanvas().get(i).getID());
|
|
|
|
|
|
+ + " with ID: " + model.getObjectsOnCanvas().get(i).getID()
|
|
|
|
+ + " and the following gadgets: Consumers: "
|
|
|
|
+ + ((HolonObject) model.getObjectsOnCanvas().get(i)).toStringConsumers()
|
|
|
|
+ + " and Producers: "
|
|
|
|
+ + ((HolonObject) model.getObjectsOnCanvas().get(i)).toStringProducers());
|
|
}
|
|
}
|
|
canvas.repaint();
|
|
canvas.repaint();
|
|
dragging = false;
|
|
dragging = false;
|
|
@@ -266,14 +275,17 @@ public class GUI implements CategoryListener {
|
|
tree.addMouseListener(new MouseAdapter() {
|
|
tree.addMouseListener(new MouseAdapter() {
|
|
public void mousePressed(MouseEvent e) {
|
|
public void mousePressed(MouseEvent e) {
|
|
try {
|
|
try {
|
|
|
|
+ HolonObject h = new HolonObject("test");
|
|
actualObjectClicked = tree.getPathForLocation(e.getX(), e.getY()).getLastPathComponent().toString();
|
|
actualObjectClicked = tree.getPathForLocation(e.getX(), e.getY()).getLastPathComponent().toString();
|
|
- /*//System.out.println(actualObjectClicked);
|
|
|
|
- if (actualObjectClicked.compareTo("Power Plant") == 0 || actualObjectClicked.compareTo("House") == 0
|
|
|
|
- || actualObjectClicked.compareTo("Switch") == 0
|
|
|
|
- || actualObjectClicked.compareTo("Transformer") == 0) {
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- */
|
|
|
|
|
|
+ /*
|
|
|
|
+ * //System.out.println(actualObjectClicked); if
|
|
|
|
+ * (actualObjectClicked.compareTo("Power Plant") == 0 ||
|
|
|
|
+ * actualObjectClicked.compareTo("House") == 0 ||
|
|
|
|
+ * actualObjectClicked.compareTo("Switch") == 0 ||
|
|
|
|
+ * actualObjectClicked.compareTo("Transformer") == 0) {
|
|
|
|
+ *
|
|
|
|
+ * }
|
|
|
|
+ */
|
|
for (Category cat : model.getCategories()) {
|
|
for (Category cat : model.getCategories()) {
|
|
for (CpsObject cps : cat.getObjects()) {
|
|
for (CpsObject cps : cat.getObjects()) {
|
|
if (actualObjectClicked.compareTo(cps.getCompareName()) == 0) {
|
|
if (actualObjectClicked.compareTo(cps.getCompareName()) == 0) {
|
|
@@ -281,7 +293,8 @@ public class GUI implements CategoryListener {
|
|
.getScaledInstance(30, 30, java.awt.Image.SCALE_SMOOTH);
|
|
.getScaledInstance(30, 30, java.awt.Image.SCALE_SMOOTH);
|
|
tempCps = cps;
|
|
tempCps = cps;
|
|
dragging = true;
|
|
dragging = true;
|
|
- Cursor cursor = Toolkit.getDefaultToolkit().createCustomCursor(img, new Point(0, 0), "Image");
|
|
|
|
|
|
+ Cursor cursor = Toolkit.getDefaultToolkit().createCustomCursor(img, new Point(0, 0),
|
|
|
|
+ "Image");
|
|
frmCyberPhysical.setCursor(cursor);
|
|
frmCyberPhysical.setCursor(cursor);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -381,7 +394,7 @@ public class GUI implements CategoryListener {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
});
|
|
-
|
|
|
|
|
|
+
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
/*
|
|
@@ -398,23 +411,24 @@ public class GUI implements CategoryListener {
|
|
if (selectedNode.getLevel() == 1) {
|
|
if (selectedNode.getLevel() == 1) {
|
|
String objname = JOptionPane.showInputDialog("Please enter a Name for the " + objType);
|
|
String objname = JOptionPane.showInputDialog("Please enter a Name for the " + objType);
|
|
Category cat = controller.searchCategory(selectedNode.getUserObject().toString());
|
|
Category cat = controller.searchCategory(selectedNode.getUserObject().toString());
|
|
- if(objname.equals("show")){
|
|
|
|
|
|
+ if (objname.equals("show")) {
|
|
addObjectPopUP = new AddObjectPopUp();
|
|
addObjectPopUP = new AddObjectPopUp();
|
|
addObjectPopUP.setVisible(true);
|
|
addObjectPopUP.setVisible(true);
|
|
}
|
|
}
|
|
-
|
|
|
|
- if(objname.length() != 0){
|
|
|
|
|
|
+
|
|
|
|
+ if (objname.length() != 0) {
|
|
switch (objType) {
|
|
switch (objType) {
|
|
|
|
|
|
case "Object":
|
|
case "Object":
|
|
- controller.addNewObject(cat, objname);
|
|
|
|
|
|
+ controller.addNewObject(cat, objname, objType);
|
|
|
|
+
|
|
break;
|
|
break;
|
|
|
|
|
|
case "Switch":
|
|
case "Switch":
|
|
- controller.addNewSwitch(cat, objname);
|
|
|
|
|
|
+ controller.addNewSwitch(cat, objname, objType);
|
|
|
|
|
|
case "Transformer":
|
|
case "Transformer":
|
|
- controller.addNewTransformer(cat, objname);
|
|
|
|
|
|
+ controller.addNewTransformer(cat, objname, objType);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|