}
void SUPERVGUI_CanvasLink::remove() {
+ myMain->Editing(); // PAL6170: GUI->Engine: setting "Editing" flag
+
QString aValue;
SUPERVGUI_CanvasPortIn* aPort = 0;
SUPERVGUI_Canvas* aCanvas = myMain->getCanvas();
void SUPERVGUI_CanvasPointPrs::setInEdge(SUPERVGUI_CanvasEdgePrs* theEdge)
{
myInEdge = theEdge;
- theEdge->setFromPoint((int)x(), (int)y());
+ theEdge->setFromPoint(this);
}
void SUPERVGUI_CanvasPointPrs::setOutEdge(SUPERVGUI_CanvasEdgePrs* theEdge)
{
myOutEdge = theEdge;
- theEdge->setToPoint((int)x(), (int)y());
+ theEdge->setToPoint(this);
}
void SUPERVGUI_CanvasPointPrs::moveBy(double dx, double dy)
{
QCanvasEllipse::moveBy(dx, dy);
- if (myInEdge) myInEdge->setFromPoint((int)x(), (int)y());
- if (myOutEdge) myOutEdge->setToPoint((int)x(), (int)y());
+ if (myInEdge) myInEdge->setFromPoint(this);
+ if (myOutEdge) myOutEdge->setToPoint(this);
//resize canvas view if mouse is outside
int w = (int)(x()+dx) + width() + GRAPH_MARGIN;
int h = (int)(y()+dy) + height() + GRAPH_MARGIN;
return SUPERVGUI_Canvas::Rtti_LinkEdge;
}
-void SUPERVGUI_CanvasEdgePrs::setFromPoint(int x, int y)
+void SUPERVGUI_CanvasEdgePrs::setFromPoint(SUPERVGUI_CanvasPointPrs* thePoint)
{
- setPoints(x, y, endPoint().x(), endPoint().y());
+ myStartPoint = thePoint;
+ setPoints((int)(thePoint->x()), (int)(thePoint->y()), endPoint().x(), endPoint().y());
}
-void SUPERVGUI_CanvasEdgePrs::setToPoint(int x, int y)
+void SUPERVGUI_CanvasEdgePrs::setToPoint(SUPERVGUI_CanvasPointPrs* thePoint)
{
- setPoints(startPoint().x(), startPoint().y(), x, y);
+ myEndPoint = thePoint;
+ setPoints(startPoint().x(), startPoint().y(), (int)(thePoint->x()), (int)(thePoint->y()));
}
void SUPERVGUI_CanvasEdgePrs::setColor(const QColor& theColor)
{
setPen(QPen(theColor, LINE_WIDTH));
}
+
+void SUPERVGUI_CanvasEdgePrs::moveBy(double dx, double dy)
+{
+ //mkr: for moving segment of link
+ if (myStartPoint && myEndPoint) {
+ myStartPoint->setMoving(true);
+ myStartPoint->moveBy(dx, dy);
+
+ myEndPoint->setMoving(true);
+ myEndPoint->moveBy(dx,dy);
+ }
+}
+