File tree Expand file tree Collapse file tree
src/XTMF2.GUI/Controls/ModelSystemCanvas Expand file tree Collapse file tree Original file line number Diff line number Diff 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 {
You can’t perform that action at this time.
0 commit comments