2 import QtQuick.Controls 2.15
3 import QtQuick.Shapes 1.15
10 model: connectionsModel
18 property string filter:
""
20 property alias startX: newConnectionShapePath.startX
21 property alias startY: newConnectionShapePath.startY
23 function drag(globalConnector, globalMouse) {
24 var connectorCoordinates = shapeContainer.mapFromGlobal(globalConnector.x, globalConnector.y);
25 var mouseCoordinates = shapeContainer.mapFromGlobal(globalMouse.x, globalMouse.y);
26 startX = connectorCoordinates.x;
27 startY = connectorCoordinates.y;
28 nodePortConnectorDragTarget.x = mouseCoordinates.x;
29 nodePortConnectorDragTarget.y = mouseCoordinates.y;
30 nodePortConnectorDragTarget.Drag.active =
true;
32 setPortsState(
"highlighted", filter);
37 var target = nodePortConnectorDragTarget.Drag.target;
38 nodePortConnectorDragTarget.Drag.active =
false;
40 return target && checkFilterOnTags(target.tags, filter) ? target : undefined;
44 id: newConnectionShapePath
48 strokeWidth: nodeView.style.connectionStrokeWidth
49 strokeColor: nodeView.style.connectionStrokeColor
50 fillColor:
"transparent"
54 x: nodePortConnectorDragTarget.x
55 y: nodePortConnectorDragTarget.y
60 function dragNewConnection(globalConnector, globalMouse, filter) {
61 newConnection.filter = filter ||
"";
62 newConnection.drag(globalConnector, globalMouse);
65 function dropNewConnection() {
66 return newConnection.drop();