|
@@ -114,7 +114,7 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
|
|
|
// this.add(breadCrumb);
|
|
|
scalediv20 = model.getScale() / 20;
|
|
|
|
|
|
- //Cps objecte aus dem border links schieben
|
|
|
+ // Cps objecte aus dem border links schieben
|
|
|
borderPos = (int) (model.getScale() + scalediv20 + scalediv20 + 10);
|
|
|
for (AbstractCpsObject cps : upperNode.getNodes()) {
|
|
|
if (cps.getPosition().x < model.getScaleDiv2() + borderPos + 5) {
|
|
@@ -815,7 +815,7 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
|
|
|
y = (int) (cps.getPosition().y + yDist);
|
|
|
|
|
|
// Make sure its in bounds
|
|
|
- if (x <borderPos + 5)
|
|
|
+ if (x < borderPos + 5)
|
|
|
x = borderPos + 5;
|
|
|
else if (x > this.getWidth() - controller.getScale())
|
|
|
x = this.getWidth() - controller.getScale();
|
|
@@ -855,6 +855,34 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
|
|
|
|
|
|
}
|
|
|
}
|
|
|
+ int count = 0;
|
|
|
+ for (CpsEdge ed : upperNode.getConnections()) {
|
|
|
+ AbstractCpsObject cps = null;
|
|
|
+ if (ed.getA().equals(upperNode)) {
|
|
|
+ cps = ed.getB();
|
|
|
+ } else {
|
|
|
+ cps = ed.getA();
|
|
|
+ }
|
|
|
+
|
|
|
+ int x1 = sx, x2 = x, y1 = sy, y2 = y;
|
|
|
+
|
|
|
+ if (sx >= x) {
|
|
|
+ x1 = x;
|
|
|
+ x2 = sx;
|
|
|
+ }
|
|
|
+ if (sy >= y) {
|
|
|
+ y1 = y;
|
|
|
+ y2 = sy;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (x1 <= borderPos >> 1
|
|
|
+ && y1 <= (int) (5 + (model.getScale() + scalediv20 + 10) * count) + model.getScaleDiv2()
|
|
|
+ && x2 >= borderPos >> 1 && y2 >= (int) (5 + (model.getScale() + scalediv20 + 10) * count)) {
|
|
|
+ tempSelected.add(cps);
|
|
|
+
|
|
|
+ }
|
|
|
+ count++;
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
repaint();
|
|
@@ -913,7 +941,7 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
|
|
|
* Draws or Deletes an Edge.
|
|
|
*/
|
|
|
private void drawDeleteEdge() {
|
|
|
- boolean node = true;
|
|
|
+ boolean node = true; // new node?
|
|
|
boolean newEdge = true;
|
|
|
boolean onEdge = true;
|
|
|
boolean deleteNode = false;
|
|
@@ -1057,7 +1085,7 @@ public class UpperNodeCanvas extends JPanel implements MouseListener, MouseMotio
|
|
|
}
|
|
|
|
|
|
// ins leere Gedragged
|
|
|
- if (node) {
|
|
|
+ if (node && x > borderPos) {
|
|
|
CpsNode n = new CpsNode("Node");
|
|
|
|
|
|
n.setPosition(x - model.getScaleDiv2(), y - model.getScaleDiv2());
|