Skip to content

Commit 6866289

Browse files
authored
Fix regression for linking modules in GUI (#180)
1 parent 1fb225e commit 6866289

1 file changed

Lines changed: 25 additions & 0 deletions

File tree

src/XTMF2.GUI/Controls/ModelSystemCanvas/ModelSystemCanvas.Input.cs

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -733,6 +733,31 @@ protected override void OnPointerReleased(PointerReleasedEventArgs e)
733733
}
734734
}
735735

736+
// ── Right-drag release: complete link creation ────────────────────
737+
if (_linkOrigin is not null)
738+
{
739+
var origin = _linkOrigin;
740+
_linkOrigin = null;
741+
_linkCurrentPos = default;
742+
e.Pointer.Capture(null);
743+
744+
if (_vm is not null)
745+
{
746+
var releasePos = ToCanvasPos(e.GetCurrentPoint(this).Position);
747+
var destHit = HitTest(releasePos, testComments: false);
748+
if (destHit is NodeViewModel destNode && !ReferenceEquals(destNode, origin))
749+
_ = _vm.CreateLinkAsync(origin, destNode);
750+
else if (destHit is FunctionInstanceViewModel destFi && !ReferenceEquals(destFi, origin))
751+
_ = _vm.CreateLinkAsync(origin, destFi);
752+
else if (destHit is FunctionParameterViewModel destFp && !ReferenceEquals(destFp, origin))
753+
_ = _vm.CreateLinkAsync(origin, destFp);
754+
}
755+
756+
InvalidateVisual();
757+
e.Handled = true;
758+
return;
759+
}
760+
736761
// ── Rubber-band selection rectangle release ──────────────────────
737762
if (_selRectStart is not null)
738763
{

0 commit comments

Comments
 (0)