Esempio n. 1
0
        private void OnSurfaceMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
        {
            if (_sourceConnector != null)
            {
                var targetConnector = VisualTreeHelper.FindElementsInHostCoordinates(e.GetPosition(null), _surface).OfType <ObjectConnector>().FirstOrDefault();
                if (targetConnector != null &&
                    targetConnector != _sourceConnector &&
                    targetConnector.DesignerControl != _sourceConnector.DesignerControl &&
                    CanFinishConnection(targetConnector))
                {
                    var sourceId = _sourceConnector.DesignerControl.Id;
                    var targetId = targetConnector.DesignerControl.Id;

                    var workflowLink = new FunctionReference
                    {
                        SourceId  = sourceId,
                        SourcePin = _sourceConnector.PinName,
                        TargetId  = targetId,
                        TargetPin = targetConnector.PinName
                    };

                    Workflow.AddItem(workflowLink);
                }
            }

            RemoveConnectionLine();

            if (SelectedItemHost != null)
            {
                SelectedItemHost.ReleaseMouseCapture();
                _dragStarted = false;
            }
        }
Esempio n. 2
0
        private void SelectItem(ISelectable item)
        {
            if (SelectedItemHost == item)
            {
                return;
            }

            if (SelectedItemHost != null)
            {
                SelectedItemHost.IsSelected = false;
                SelectedItemHost.ReleaseMouseCapture();
                SelectedItemHost = null;
            }

            if (item != null)
            {
                SelectedItemHost            = item;
                SelectedItemHost.IsSelected = true;
                SelectedItemHost.CaptureMouse();
            }

            _surface.RemoveSelectionCommand.RaiseCanExecuteChanged();
            //SelectionService.SelectedComponent = control;
        }