private async Task OnShowSourceRequestAsync([NotNull] IDiagramShape diagramShape) { if (diagramShape is IDiagramNode diagramNode) { await new ShowSourceFileCommand(this, diagramNode).ExecuteAsync(); } }
protected DiagramShapeViewModelBase( [NotNull] IModelEventSource modelEventSource, [NotNull] IDiagramEventSource diagramEventSource, [NotNull] IDiagramShape diagramShape) : base(modelEventSource, diagramEventSource) { SetDiagramShapeProperties(diagramShape); }
protected DiagramShapeViewModelBase( IModelService modelService, IDiagramService diagramService, IDiagramShape diagramShape) : base(modelService, diagramService) { DiagramShape = diagramShape; }
private void AddShape(IDiagramShape diagramShape) { var diagramShapeViewModel = _diagramShapeViewModelFactory.CreateViewModel(diagramShape, _areDiagramNodeDescriptionsVisible); diagramShapeViewModel.RemoveRequested += OnShapeRemoveRequested; AddToViewModels(diagramShapeViewModel); _diagramShapeToViewModelMap.Set(diagramShape, diagramShapeViewModel); }
private void OnDiagramShapeAdded(IDiagramShape diagramShape) { var removedModelEntity = diagramShape?.ModelItem as IModelEntity; if (removedModelEntity == null) { return; } Items.Remove(removedModelEntity); }
private async Task OnShowSourceRequestAsync(IDiagramShape diagramShape) { var diagramNode = diagramShape as IDiagramNode; if (diagramNode == null) { return; } await new ShowSourceFileCommand(this, diagramNode).ExecuteAsync(); }
/// <summary> /// Whenever a shape is added to the diagram we try to proactively expand the model with the related entities. /// </summary> /// <param name="diagramShape">The shape that was added to the diagram.</param> private void OnShapeAdded(IDiagramShape diagramShape) { var diagramNode = diagramShape as IDiagramNode; if (diagramNode == null) { return; } ModelServices.ExtendModelWithRelatedEntities(diagramNode.ModelEntity); }
private void OnShowSourceRequested(IDiagramShape diagramShape) { var diagramNode = diagramShape as IDiagramNode; if (diagramNode == null) { return; } new ShowSourceFileCommand(this).Execute(diagramNode); }
#pragma warning disable VSTHRD100 // Avoid async void methods private async void OnShowSourceRequested(IDiagramShape diagramShape) #pragma warning restore VSTHRD100 // Avoid async void methods { var diagramNode = diagramShape as IDiagramNode; if (diagramNode == null) { return; } await new ShowSourceFileCommand(this, diagramNode).ExecuteAsync(); }
private void OnShapeRemoveRequested(IDiagramShape diagramShape) { var diagramShapeViewModel = _diagramShapeToViewModelMap.Get(diagramShape); if (diagramShapeViewModel == null) { return; } DiagramShapeRemoveRequested?.Invoke(diagramShapeViewModel); Diagram.RemoveDiagramShape(diagramShape); }
private void OnShapeRemoved(IDiagramShape diagramShape) { var diagramNode = diagramShape as DiagramNode; if (diagramNode != null) { EnqueueDiagramAction(new RemoveDiagramNodeAction(diagramNode)); } var diagramConnector = diagramShape as DiagramConnector; if (diagramConnector != null) { EnqueueDiagramAction(new RemoveDiagramConnectorAction(diagramConnector)); } }
public DiagramShapeViewModelBase CreateViewModel(IDiagramShape diagramShape, bool isDescriptionVisible) { if (diagramShape is IDiagramNode) { return(new DiagramNodeViewModel(Diagram, (IDiagramNode)diagramShape, isDescriptionVisible)); } if (diagramShape is IDiagramConnector) { var diagramConnector = (IDiagramConnector)diagramShape; var sourceNode = _diagramNodeViewModels.First(i => i.DiagramShape == diagramConnector.Source); var targetNode = _diagramNodeViewModels.First(i => i.DiagramShape == diagramConnector.Target); return(new DiagramConnectorViewModel(Diagram, diagramConnector, sourceNode, targetNode)); } throw new NotImplementedException(); }
private void RemoveShape(IDiagramShape diagramShape) { var diagramShapeViewModel = _diagramShapeToViewModelMap.Get(diagramShape); if (diagramShapeViewModel == null) { return; } if (diagramShapeViewModel is DiagramNodeViewModel) { DecorationManager.Unfocus(diagramShapeViewModel as DiagramNodeViewModel); } diagramShapeViewModel.RemoveRequested -= OnShapeRemoveRequested; RemoveFromViewModels(diagramShapeViewModel); _diagramShapeToViewModelMap.Remove(diagramShape); }
public void RemoveDiagramShape(IDiagramShape diagramShape) => HideModelItems(new[] { diagramShape.ModelItem });
private void OnDiagramShapeRemoved(IDiagramShape diagramShape) => EnsureUiThread(() => RemoveShape(diagramShape));
// All diagram-induced view model manipulation must occur on the UI thread to avoid certain race conditions. // (E.g. avoid the case when creating a connector view model precedes the creation of its source and target node view models.) private void OnDiagramShapeAdded(IDiagramShape diagramShape) => EnsureUiThread(() => AddShape(diagramShape));
private void OnShowSourceRequested(IDiagramShape diagramShape) { _hostUiServices.Run(async() => await OnShowSourceRequestAsync(diagramShape)); }
protected DiagramShapeViewModelBase(IArrangedDiagram diagram, IDiagramShape diagramShape) : base(diagram) { DiagramShape = diagramShape; }
private void OnShowSourceRequested([NotNull] IDiagramShape diagramShape) { HostUiService.Run(async() => await OnShowSourceRequestAsync(diagramShape)); }
private void OnDiagramShapeRemoved(IDiagramShape diagramShape) => ShapeRemoved?.Invoke(diagramShape);
protected void SetDiagramShapeProperties([NotNull] IDiagramShape diagramShape) { DiagramShape = diagramShape; Rect = diagramShape.AbsoluteRect.ToWpf(); }
private void OnDiagramShapeAdded(IDiagramShape diagramShape) => ShapeAdded?.Invoke(diagramShape);
private void OnShowSourceCommand(IDiagramShape diagramShape) => ShowSourceRequested?.Invoke(diagramShape);
public void SelectDiagramShape(IDiagramShape diagramShape) => OnDiagramShapeSelected(diagramShape);
private void OnShowSourceRequested(IDiagramShape diagramShape) { ShowSourceRequested?.Invoke(diagramShape); }
private void OnDiagramShapeRemoved(IDiagramShape diagramShape) => UpdateDiagramContentRect();
private void OnDiagramShapeAdded(IDiagramShape shape) => RecalculateVisibility();
private void OnDiagramShapeSelected(IDiagramShape diagramShape) => ShapeSelected?.Invoke(diagramShape);