|
@@ -23,7 +23,6 @@ import javax.swing.JPanel;
|
|
|
import javax.swing.JPopupMenu;
|
|
|
import javax.swing.JToolTip;
|
|
|
|
|
|
-
|
|
|
import classes.CpsEdge;
|
|
|
import classes.CpsNode;
|
|
|
import classes.CpsObject;
|
|
@@ -107,31 +106,30 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
|
|
|
|
|
|
for (CpsEdge con : model.getEdgesOnCanvas()) {
|
|
|
if (con.getA().getID() != model.getSelectedObjectID() && con.getB().getID() != model.getSelectedObjectID()
|
|
|
- && con != edgeHighlight)
|
|
|
+ && con != edgeHighlight) {
|
|
|
g2.drawLine(con.getA().getPosition().x + controller.getScaleDiv2(),
|
|
|
con.getA().getPosition().y + controller.getScaleDiv2(),
|
|
|
con.getB().getPosition().x + controller.getScaleDiv2(),
|
|
|
con.getB().getPosition().y + controller.getScaleDiv2());
|
|
|
- g2.drawString(con.getFlow() + "/" + con.getCapacity(),
|
|
|
- (con.getA().getPosition().x + con.getB().getPosition().x) / 2 + controller.getScaleDiv2(),
|
|
|
- (con.getA().getPosition().y + con.getB().getPosition().y) / 2 + controller.getScaleDiv2());
|
|
|
+ g2.drawString(con.getFlow() + "/" + con.getCapacity(),
|
|
|
+ (con.getA().getPosition().x + con.getB().getPosition().x) / 2 + controller.getScaleDiv2(),
|
|
|
+ (con.getA().getPosition().y + con.getB().getPosition().y) / 2 + controller.getScaleDiv2());
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
// Highlighted Edge
|
|
|
if (model.getSelectedObjectID() > 0) {
|
|
|
g2.setColor(Color.GREEN);
|
|
|
- for (CpsObject cps : model.getObjectsOnCanvas()) {
|
|
|
- for (CpsEdge con : cps.getConnectedTo()) {
|
|
|
- if (con.getA().getID() == model.getSelectedObjectID()) {
|
|
|
- g2.drawLine(cps.getPosition().x + controller.getScaleDiv2(),
|
|
|
- cps.getPosition().y + controller.getScaleDiv2(),
|
|
|
- con.getA().getPosition().x + controller.getScaleDiv2(),
|
|
|
- con.getA().getPosition().y + controller.getScaleDiv2());
|
|
|
- } else if (con.getB().getID() == model.getSelectedObjectID())
|
|
|
- g2.drawLine(cps.getPosition().x + controller.getScaleDiv2(),
|
|
|
- cps.getPosition().y + controller.getScaleDiv2(),
|
|
|
- con.getB().getPosition().x + controller.getScaleDiv2(),
|
|
|
- con.getB().getPosition().y + controller.getScaleDiv2());
|
|
|
+ for (CpsEdge con : model.getEdgesOnCanvas()) {
|
|
|
+ if (con.getA().getID() == model.getSelectedObjectID() || con.getB().getID() == model.getSelectedObjectID()
|
|
|
+ && con != edgeHighlight) {
|
|
|
+ g2.drawLine(con.getA().getPosition().x + controller.getScaleDiv2(),
|
|
|
+ con.getA().getPosition().y + controller.getScaleDiv2(),
|
|
|
+ con.getB().getPosition().x + controller.getScaleDiv2(),
|
|
|
+ con.getB().getPosition().y + controller.getScaleDiv2());
|
|
|
+ g2.drawString(con.getFlow() + "/" + con.getCapacity(),
|
|
|
+ (con.getA().getPosition().x + con.getB().getPosition().x) / 2 + controller.getScaleDiv2(),
|
|
|
+ (con.getA().getPosition().y + con.getB().getPosition().y) / 2 + controller.getScaleDiv2());
|
|
|
}
|
|
|
}
|
|
|
} else if (edgeHighlight != null) {
|
|
@@ -140,6 +138,11 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
|
|
|
edgeHighlight.getA().getPosition().y + controller.getScaleDiv2(),
|
|
|
edgeHighlight.getB().getPosition().x + controller.getScaleDiv2(),
|
|
|
edgeHighlight.getB().getPosition().y + controller.getScaleDiv2());
|
|
|
+ g2.drawString(edgeHighlight.getFlow() + "/" + edgeHighlight.getCapacity(),
|
|
|
+ (edgeHighlight.getA().getPosition().x + edgeHighlight.getB().getPosition().x) / 2
|
|
|
+ + controller.getScaleDiv2(),
|
|
|
+ (edgeHighlight.getA().getPosition().y + edgeHighlight.getB().getPosition().y) / 2
|
|
|
+ + controller.getScaleDiv2());
|
|
|
}
|
|
|
|
|
|
// Objects
|
|
@@ -428,7 +431,7 @@ class MyCanvas extends JPanel implements MouseListener, MouseMotionListener {
|
|
|
ly = p.getA().getPosition().y + model.getScaleDiv2() - 7;
|
|
|
hy = p.getB().getPosition().y + model.getScaleDiv2() + 7;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
// distance from a point to a line and between both Objects
|
|
|
if (l.ptLineDistSq(x - model.getScaleDiv2(), y - model.getScaleDiv2()) < 14 && x > lx && x < hx && y > ly
|
|
|
&& y < hy) {
|