|
@@ -59,11 +59,11 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
|
|
|
private JPopupMenu popmenu = new JPopupMenu();
|
|
|
private JMenuItem itemDelete = new JMenuItem("Delete Object");
|
|
|
private JToolTip objectTT = new JToolTip();
|
|
|
-
|
|
|
+
|
|
|
public MyCanvas(final Model model, Control control) {
|
|
|
this.add(objectTT);
|
|
|
this.controller = control;
|
|
|
- this.model = model;
|
|
|
+ this.model = model;
|
|
|
|
|
|
popmenu.add(itemDelete);
|
|
|
itemDelete.setEnabled(false);
|
|
@@ -96,7 +96,8 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
|
|
|
g2.setRenderingHints(rh);
|
|
|
|
|
|
// Selection
|
|
|
- if (selectRect != null) {
|
|
|
+ if (selectRect != null && controller.searchByID(model.getSelectedObjectID()) != null
|
|
|
+ && controller.searchByID(model.getSelectedObjectID()).getClass() != CpsNode.class) {
|
|
|
g2.setColor(Color.BLUE);
|
|
|
g2.fillRect((int) selectRect.getX(), (int) selectRect.getY(), (int) selectRect.getWidth(),
|
|
|
(int) selectRect.getHeight());
|
|
@@ -104,15 +105,16 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
|
|
|
|
|
|
// drawEdges
|
|
|
g2.setColor(Color.BLACK);
|
|
|
- g2.setStroke(new BasicStroke(2));
|
|
|
- if (drawEdge)
|
|
|
+ if (drawEdge) {
|
|
|
+ g2.setStroke(new BasicStroke(2));
|
|
|
g2.drawLine(tempCps.getPosition().x + controller.getScaleDiv2(),
|
|
|
tempCps.getPosition().y + controller.getScaleDiv2(), x, y);
|
|
|
-
|
|
|
+ }
|
|
|
+
|
|
|
for (CpsEdge con : model.getEdgesOnCanvas()) {
|
|
|
if (con.getA().getID() != model.getSelectedObjectID() && con.getB().getID() != model.getSelectedObjectID()
|
|
|
&& con != edgeHighlight) {
|
|
|
- g2.setStroke(new BasicStroke(Math.min((con.getFlow()/con.getCapacity()*4),4)));
|
|
|
+ g2.setStroke(new BasicStroke(Math.min((con.getFlow() / con.getCapacity() * 4), 4)));
|
|
|
g2.drawLine(con.getA().getPosition().x + controller.getScaleDiv2(),
|
|
|
con.getA().getPosition().y + controller.getScaleDiv2(),
|
|
|
con.getB().getPosition().x + controller.getScaleDiv2(),
|
|
@@ -153,12 +155,16 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
|
|
|
|
|
|
// Objects
|
|
|
for (CpsObject cps : model.getObjectsOnCanvas()) {
|
|
|
- File checkPath = new File(cps.getImage());
|
|
|
- if (checkPath.exists()) {
|
|
|
- img = new ImageIcon(cps.getImage()).getImage();
|
|
|
-
|
|
|
+ if (cps.getID() == model.getSelectedObjectID() && controller.searchByID(model.getSelectedObjectID()) != null
|
|
|
+ && controller.searchByID(model.getSelectedObjectID()).getClass() == CpsNode.class) {
|
|
|
+ img = new ImageIcon(this.getClass().getResource("/Images/node_selected.png")).getImage();
|
|
|
} else {
|
|
|
- img = new ImageIcon(this.getClass().getResource(cps.getImage())).getImage();
|
|
|
+ File checkPath = new File(cps.getImage());
|
|
|
+ if (checkPath.exists()) {
|
|
|
+ img = new ImageIcon(cps.getImage()).getImage();
|
|
|
+ } else {
|
|
|
+ img = new ImageIcon(this.getClass().getResource(cps.getImage())).getImage();
|
|
|
+ }
|
|
|
}
|
|
|
g2.drawImage(img, cps.getPosition().x, cps.getPosition().y, controller.getScale(), controller.getScale(),
|
|
|
null);
|
|
@@ -368,8 +374,8 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
|
|
|
}
|
|
|
if (newEdge) {
|
|
|
e = new CpsEdge(cps, tempCps);
|
|
|
-// cps.AddConnection(e);
|
|
|
-// tempCps.AddConnection(e);
|
|
|
+ // cps.AddConnection(e);
|
|
|
+ // tempCps.AddConnection(e);
|
|
|
controller.AddEdgeOnCanvas(e);
|
|
|
}
|
|
|
}
|
|
@@ -394,16 +400,16 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
|
|
|
k = p.getB();
|
|
|
|
|
|
e = new CpsEdge(n, tempCps);
|
|
|
-// n.AddConnection(e);
|
|
|
-// tempCps.AddConnection(e);
|
|
|
+ // n.AddConnection(e);
|
|
|
+ // tempCps.AddConnection(e);
|
|
|
|
|
|
e1 = new CpsEdge(n, r);
|
|
|
-// n.AddConnection(e1);
|
|
|
-// r.AddConnection(e1);
|
|
|
+ // n.AddConnection(e1);
|
|
|
+ // r.AddConnection(e1);
|
|
|
|
|
|
e2 = new CpsEdge(n, k);
|
|
|
-// n.AddConnection(e2);
|
|
|
-// k.AddConnection(e2);
|
|
|
+ // n.AddConnection(e2);
|
|
|
+ // k.AddConnection(e2);
|
|
|
|
|
|
p.getA().getConnections().remove(p);
|
|
|
p.getB().getConnections().remove(p);
|
|
@@ -425,8 +431,8 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
|
|
|
|
|
|
e = new CpsEdge(n, tempCps);
|
|
|
|
|
|
-// n.AddConnection(e);
|
|
|
-// tempCps.AddConnection(e);
|
|
|
+ // n.AddConnection(e);
|
|
|
+ // tempCps.AddConnection(e);
|
|
|
controller.AddEdgeOnCanvas(e);
|
|
|
System.out.println("node ID: " + n.getID());
|
|
|
}
|