|
@@ -26,6 +26,7 @@ import javax.swing.JPanel;
|
|
import javax.swing.JPopupMenu;
|
|
import javax.swing.JPopupMenu;
|
|
import javax.swing.JToolTip;
|
|
import javax.swing.JToolTip;
|
|
|
|
|
|
|
|
+import api.CpsAPI;
|
|
import classes.CpsEdge;
|
|
import classes.CpsEdge;
|
|
import classes.CpsNode;
|
|
import classes.CpsNode;
|
|
import classes.AbstractCpsObject;
|
|
import classes.AbstractCpsObject;
|
|
@@ -75,6 +76,7 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
|
|
public JMenuItem itemPaste = new JMenuItem("Paste");
|
|
public JMenuItem itemPaste = new JMenuItem("Paste");
|
|
public JMenuItem itemCollapse = new JMenuItem("Colapse Nodes");
|
|
public JMenuItem itemCollapse = new JMenuItem("Colapse Nodes");
|
|
public JMenuItem itemTrack = new JMenuItem("Track");
|
|
public JMenuItem itemTrack = new JMenuItem("Track");
|
|
|
|
+ public JMenuItem itemUntrack = new JMenuItem("Untrack");
|
|
private JToolTip objectTT = new JToolTip();
|
|
private JToolTip objectTT = new JToolTip();
|
|
|
|
|
|
private Point mousePosition = new Point(); // Mouse Position when
|
|
private Point mousePosition = new Point(); // Mouse Position when
|
|
@@ -109,6 +111,7 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
|
|
popmenu.addSeparator();
|
|
popmenu.addSeparator();
|
|
popmenu.add(itemCollapse);
|
|
popmenu.add(itemCollapse);
|
|
popmenu.add(itemTrack);
|
|
popmenu.add(itemTrack);
|
|
|
|
+ popmenu.add(itemUntrack);
|
|
|
|
|
|
itemDelete.setEnabled(false);
|
|
itemDelete.setEnabled(false);
|
|
itemCut.setEnabled(false);
|
|
itemCut.setEnabled(false);
|
|
@@ -116,23 +119,63 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
|
|
itemPaste.setEnabled(false);
|
|
itemPaste.setEnabled(false);
|
|
itemCollapse.setEnabled(false);
|
|
itemCollapse.setEnabled(false);
|
|
itemTrack.setEnabled(false);
|
|
itemTrack.setEnabled(false);
|
|
|
|
+ itemUntrack.setEnabled(false);
|
|
|
|
|
|
itemCollapse.addActionListener(new ActionListener() {
|
|
itemCollapse.addActionListener(new ActionListener() {
|
|
@Override
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
public void actionPerformed(ActionEvent e) {
|
|
-
|
|
|
|
|
|
+
|
|
repaint();
|
|
repaint();
|
|
}
|
|
}
|
|
});
|
|
});
|
|
-
|
|
|
|
|
|
+
|
|
itemTrack.addActionListener(new ActionListener() {
|
|
itemTrack.addActionListener(new ActionListener() {
|
|
@Override
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
public void actionPerformed(ActionEvent e) {
|
|
-
|
|
|
|
|
|
+ for (AbstractCpsObject o : model.getSelectedCpsObjects()) {
|
|
|
|
+ if (o instanceof HolonObject) {
|
|
|
|
+ boolean found = false;
|
|
|
|
+ if (control.getTrackingObj() != null) {
|
|
|
|
+ for (HolonObject obj : control.getTrackingObj()) {
|
|
|
|
+ if (obj.getID() == o.getID()) {
|
|
|
|
+ found = true;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (!found) {
|
|
|
|
+ control.addTrackingObj((HolonObject) o);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ System.out.println(control.getTrackingObj());
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ itemUntrack.addActionListener(new ActionListener() {
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void actionPerformed(ActionEvent e) {
|
|
|
|
+ for (AbstractCpsObject o : model.getSelectedCpsObjects()) {
|
|
|
|
+ if (o instanceof HolonObject) {
|
|
|
|
+ boolean found = false;
|
|
|
|
+ if (control.getTrackingObj() != null) {
|
|
|
|
+ for (HolonObject obj : control.getTrackingObj()) {
|
|
|
|
+ if (obj.getID() == o.getID()) {
|
|
|
|
+ found = true;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (found) {
|
|
|
|
+ control.removeTrackingObj((HolonObject) o);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ System.out.println(control.getTrackingObj());
|
|
}
|
|
}
|
|
});
|
|
});
|
|
-
|
|
|
|
|
|
+
|
|
itemDelete.addActionListener(new ActionListener() {
|
|
itemDelete.addActionListener(new ActionListener() {
|
|
|
|
+
|
|
@Override
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
public void actionPerformed(ActionEvent e) {
|
|
// Remove the selected Object objects
|
|
// Remove the selected Object objects
|
|
@@ -192,11 +235,12 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
|
|
// Test SubNet Coloring
|
|
// Test SubNet Coloring
|
|
int i = 0;
|
|
int i = 0;
|
|
for (SubNet s : controller.getSimManager().getSubNets()) {
|
|
for (SubNet s : controller.getSimManager().getSubNets()) {
|
|
-
|
|
|
|
- if(model.getSubNetColors().size()-1 < i){
|
|
|
|
- controller.addSubNetColor(new Color((int) (Math.random() * 255), (int) (Math.random() * 255), (int) (Math.random() * 255)));
|
|
|
|
|
|
+
|
|
|
|
+ if (model.getSubNetColors().size() - 1 < i) {
|
|
|
|
+ controller.addSubNetColor(new Color((int) (Math.random() * 255), (int) (Math.random() * 255),
|
|
|
|
+ (int) (Math.random() * 255)));
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+
|
|
for (HolonObject cps : s.getObjects()) {
|
|
for (HolonObject cps : s.getObjects()) {
|
|
cps.setBorderColor(model.getSubNetColors().get(i));
|
|
cps.setBorderColor(model.getSubNetColors().get(i));
|
|
}
|
|
}
|
|
@@ -471,8 +515,10 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
|
|
itemCollapse.setEnabled(true);
|
|
itemCollapse.setEnabled(true);
|
|
if (!(tempCps instanceof HolonSwitch)) {
|
|
if (!(tempCps instanceof HolonSwitch)) {
|
|
itemTrack.setEnabled(true);
|
|
itemTrack.setEnabled(true);
|
|
|
|
+ itemUntrack.setEnabled(true);
|
|
} else {
|
|
} else {
|
|
itemTrack.setEnabled(false);
|
|
itemTrack.setEnabled(false);
|
|
|
|
+ itemUntrack.setEnabled(false);
|
|
}
|
|
}
|
|
if (model.getSelectedCpsObjects().size() == 0) {
|
|
if (model.getSelectedCpsObjects().size() == 0) {
|
|
controller.addSelectedObject(tempCps);
|
|
controller.addSelectedObject(tempCps);
|
|
@@ -483,6 +529,7 @@ public class MyCanvas extends JPanel implements MouseListener, MouseMotionListen
|
|
itemDelete.setEnabled(false);
|
|
itemDelete.setEnabled(false);
|
|
itemCollapse.setEnabled(false);
|
|
itemCollapse.setEnabled(false);
|
|
itemTrack.setEnabled(false);
|
|
itemTrack.setEnabled(false);
|
|
|
|
+ itemUntrack.setEnabled(false);
|
|
}
|
|
}
|
|
mousePosition = this.getMousePosition();
|
|
mousePosition = this.getMousePosition();
|
|
popmenu.show(e.getComponent(), e.getX(), e.getY());
|
|
popmenu.show(e.getComponent(), e.getX(), e.getY());
|