|
@@ -153,16 +153,11 @@ public class MyCanvas extends AbstractCanvas implements MouseListener,
|
|
|
actionEvent1 -> {
|
|
|
if (animDuration - animDelay >= 0) {
|
|
|
for (int i = 0; i < animCps.size(); i++) {
|
|
|
- double x1 = animCps.get(i)
|
|
|
- .getPosition().x
|
|
|
- - savePos.get(i).x;
|
|
|
- double y1 = animCps.get(i)
|
|
|
- .getPosition().y
|
|
|
- - savePos.get(i).y;
|
|
|
- animCps.get(i).getPosition().x -= x1
|
|
|
- / animSteps;
|
|
|
- animCps.get(i).getPosition().y -= y1
|
|
|
- / animSteps;
|
|
|
+ Position pos = animCps.get(i).getPosition();
|
|
|
+ double x1 = pos.x - savePos.get(i).x;
|
|
|
+ double y1 = pos.y - savePos.get(i).y;
|
|
|
+ animCps.get(i).getPosition().x -= x1 / animSteps;
|
|
|
+ animCps.get(i).getPosition().y -= y1 / animSteps;
|
|
|
}
|
|
|
repaint();
|
|
|
animDuration -= animDelay;
|
|
@@ -190,13 +185,7 @@ public class MyCanvas extends AbstractCanvas implements MouseListener,
|
|
|
// adds the selected object(s) to the statistic panel
|
|
|
itemTrack.addActionListener(actionEvent -> {
|
|
|
for (AbstractCpsObject o : model.getSelectedCpsObjects()) {
|
|
|
- boolean found = false;
|
|
|
- if (controller.getTrackingObj() != null) {
|
|
|
- if (controller.getTrackingObj().contains(o)) {
|
|
|
- found = true;
|
|
|
- }
|
|
|
- }
|
|
|
- if (!found) {
|
|
|
+ if (!((controller.getTrackingObj() != null) && (controller.getTrackingObj().contains(o)))) {
|
|
|
controller.addTrackingObj(o);
|
|
|
if (o instanceof HolonObject) {
|
|
|
((HolonObject) o).updateTrackingInfo();
|
|
@@ -432,10 +421,10 @@ public class MyCanvas extends AbstractCanvas implements MouseListener,
|
|
|
|
|
|
if(model.getEdgesOnCanvas().isEmpty() && !model.getObjectsOnCanvas().isEmpty()
|
|
|
&& !model.getObjectsOnCanvas().get(0).getConnections().isEmpty()){
|
|
|
- System.out.println("Edges were not added to Canvas: Fixing");
|
|
|
+ ArrayList<CpsEdge> edgesOnCanvas= model.getEdgesOnCanvas();
|
|
|
for(AbstractCpsObject cps :model.getObjectsOnCanvas())
|
|
|
for(CpsEdge e: cps.getConnections()){
|
|
|
- if(!model.getEdgesOnCanvas().contains(e))
|
|
|
+ if(!edgesOnCanvas.contains(e))
|
|
|
model.addEdgeOnCanvas(e);
|
|
|
}
|
|
|
}
|
|
@@ -445,9 +434,7 @@ public class MyCanvas extends AbstractCanvas implements MouseListener,
|
|
|
}
|
|
|
|
|
|
// Highlighted Edge
|
|
|
- if (model.getSelectedObjectID() > 0
|
|
|
- || !model.getSelectedCpsObjects().isEmpty()
|
|
|
- || !tempSelected.isEmpty()) {
|
|
|
+ if (!model.getSelectedCpsObjects().isEmpty() || !tempSelected.isEmpty() || model.getSelectedObjectID() > 0) {
|
|
|
g2.setColor(Color.BLUE);
|
|
|
for (CpsEdge con : model.getEdgesOnCanvas()) {
|
|
|
if (con.getFlow() <= con.getCapacity()) {
|
|
@@ -527,9 +514,10 @@ public class MyCanvas extends AbstractCanvas implements MouseListener,
|
|
|
@Override
|
|
|
public void mouseClicked(MouseEvent e) {
|
|
|
if (e.getButton() == MouseEvent.BUTTON1) {
|
|
|
- if (model.getPropertyTable().getRowCount() > 0) {
|
|
|
- for (int i = model.getPropertyTable().getRowCount() - 1; i > -1; i--) {
|
|
|
- model.getPropertyTable().removeRow(i);
|
|
|
+ DefaulTable propertyTable = model.getPropertyTable();
|
|
|
+ if (propertyTable.getRowCount() > 0) {
|
|
|
+ for (int i = propertyTable.getRowCount() - 1; i > -1; i--) {
|
|
|
+ propertyTable.removeRow(i);
|
|
|
}
|
|
|
}
|
|
|
triggerUpdateController();
|
|
@@ -665,8 +653,8 @@ public class MyCanvas extends AbstractCanvas implements MouseListener,
|
|
|
|
|
|
markObjects();
|
|
|
|
|
|
- if (doubleClick() && tempCps != null && tempCps instanceof HolonSwitch
|
|
|
- && MouseEvent.BUTTON3 != e.getButton()) {
|
|
|
+ if (doubleClick() && tempCps instanceof HolonSwitch
|
|
|
+ && MouseEvent.BUTTON3 != e.getButton()&& tempCps != null) {
|
|
|
((HolonSwitch) tempCps).switchState();
|
|
|
|
|
|
}
|
|
@@ -699,15 +687,16 @@ public class MyCanvas extends AbstractCanvas implements MouseListener,
|
|
|
y = e.getY();
|
|
|
|
|
|
// Make sure its in bounds
|
|
|
- if (e.getX() < controller.getScaleDiv2())
|
|
|
- x = controller.getScaleDiv2();
|
|
|
- else if (e.getX() > this.getWidth() - controller.getScaleDiv2())
|
|
|
- x = this.getWidth() - controller.getScaleDiv2();
|
|
|
- if (e.getY() < controller.getScaleDiv2())
|
|
|
- y = controller.getScaleDiv2();
|
|
|
+ int scaleDiv2 = controller.getScaleDiv2();
|
|
|
+ if (e.getX() < scaleDiv2)
|
|
|
+ x = scaleDiv2;
|
|
|
+ else if (e.getX() > this.getWidth() - scaleDiv2)
|
|
|
+ x = this.getWidth() - scaleDiv2;
|
|
|
+ if (e.getY() < scaleDiv2)
|
|
|
+ y = scaleDiv2;
|
|
|
else if (e.getY() > this.getHeight()
|
|
|
- - controller.getScaleDiv2())
|
|
|
- y = this.getHeight() - controller.getScaleDiv2();
|
|
|
+ - scaleDiv2)
|
|
|
+ y = this.getHeight() - scaleDiv2;
|
|
|
|
|
|
// Distance
|
|
|
xDist = x - tempCps.getPosition().x;
|
|
@@ -718,9 +707,9 @@ public class MyCanvas extends AbstractCanvas implements MouseListener,
|
|
|
toolTip = true;
|
|
|
toolTipText = tempCps.getName() + ", " + tempCps.getId();
|
|
|
toolTipPos.x = tempCps.getPosition().x
|
|
|
- - controller.getScaleDiv2();
|
|
|
+ - scaleDiv2;
|
|
|
toolTipPos.y = tempCps.getPosition().y
|
|
|
- + controller.getScaleDiv2();
|
|
|
+ + scaleDiv2;
|
|
|
|
|
|
// All Selected Objects
|
|
|
for (AbstractCpsObject cps : model.getSelectedCpsObjects()) {
|
|
@@ -729,16 +718,16 @@ public class MyCanvas extends AbstractCanvas implements MouseListener,
|
|
|
y = (int) (cps.getPosition().y + yDist);
|
|
|
|
|
|
// Make sure its in bounds
|
|
|
- if (x <= controller.getScaleDiv2())
|
|
|
- x = controller.getScaleDiv2();
|
|
|
+ if (x <= scaleDiv2)
|
|
|
+ x = scaleDiv2;
|
|
|
else if (x > this.getWidth()
|
|
|
- - controller.getScaleDiv2())
|
|
|
- x = this.getWidth() - controller.getScaleDiv2();
|
|
|
- if (y <= controller.getScaleDiv2())
|
|
|
- y = controller.getScaleDiv2();
|
|
|
+ - scaleDiv2)
|
|
|
+ x = this.getWidth() - scaleDiv2;
|
|
|
+ if (y <= scaleDiv2)
|
|
|
+ y = scaleDiv2;
|
|
|
else if (y > this.getHeight()
|
|
|
- - controller.getScaleDiv2())
|
|
|
- y = this.getHeight() - controller.getScaleDiv2();
|
|
|
+ - scaleDiv2)
|
|
|
+ y = this.getHeight() - scaleDiv2;
|
|
|
|
|
|
cps.setPosition(x, y);
|
|
|
}
|
|
@@ -796,8 +785,9 @@ public class MyCanvas extends AbstractCanvas implements MouseListener,
|
|
|
|
|
|
on = setToolTipInfoAndPosition(on, cps);
|
|
|
}
|
|
|
- toolTip = on;
|
|
|
+ if(on||(!on && toolTip))
|
|
|
repaint();
|
|
|
+ toolTip = on;
|
|
|
}
|
|
|
|
|
|
/**
|