public virtual IDiagramNodeUi CreateDiagramNodeUi( [NotNull] IDiagramService diagramService, [NotNull] IDiagramNode diagramNode, [NotNull] IFocusTracker <IDiagramShapeUi> focusTracker) { return(new DiagramNodeViewModel(ModelService, diagramService, RelatedNodeTypeProvider, focusTracker, diagramNode)); }
public IDiagramNodeUi CreateDiagramNodeUi( IDiagramService diagramService, IDiagramNode diagramNode, IFocusTracker <IDiagramShapeUi> focusTracker) { return(new DiagramNodeViewModel(ModelService, diagramService, _relatedNodeTypeProvider, focusTracker, diagramNode)); }
public PropertyDiagramNodeViewModel( IModelService modelService, IDiagramService diagramService, IFocusTracker <IDiagramShapeUi> focusTracker, PropertyDiagramNode diagramNode) : base(modelService, diagramService, focusTracker, diagramNode) { }
public virtual IDiagramConnectorUi CreateDiagramConnectorUi( IDiagramConnector diagramConnector, IFocusTracker <IDiagramShapeUi> focusTracker) { return(new DiagramConnectorViewModel( ModelEventSource, DiagramEventSource, diagramConnector)); }
public override IDiagramNodeUi CreateDiagramNodeUi(IDiagramService diagramService, IDiagramNode diagramNode, IFocusTracker <IDiagramShapeUi> focusTracker) { if (diagramNode is RoslynTypeDiagramNode roslynTypeDiagramNode) { return(new RoslynTypeDiagramNodeViewModel(ModelService, diagramService, focusTracker, roslynTypeDiagramNode, IsDescriptionVisible)); } throw new InvalidOperationException($"Unexpected diagram node type {diagramNode?.GetType().Name}"); }
protected DiagramNodeViewModelBase(IModelService modelService, IDiagramService diagramService, IFocusTracker <IDiagramShapeUi> focusTracker, IDiagramNode diagramNode) : base(modelService, diagramService, diagramNode) { Name = diagramNode.Name; Center = diagramNode.Center.ToWpf(); TopLeft = diagramNode.TopLeft.ToWpf(); // Must NOT populate size from model because its value flows from the controls to the models. FocusTracker = (IWpfFocusTracker <IDiagramShapeUi>)focusTracker; RelatedNodeCueViewModels = CreateRelatedNodeCueViewModels(); DiagramService.DiagramChanged += OnDiagramChanged; }
public virtual IDiagramNodeUi CreateDiagramNodeUi( IDiagramNode diagramNode, IFocusTracker <IDiagramShapeUi> focusTracker) { return(new DiagramNodeViewModel( ModelEventSource, DiagramEventSource, diagramNode, RelatedNodeTypeProvider, (IWpfFocusTracker <IDiagramShapeUi>)focusTracker, new DiagramNodeHeaderViewModel { Payload = diagramNode.ModelNode.Payload })); }
public override IDiagramNodeUi CreateDiagramNodeUi(IDiagramService diagramService, IDiagramNode diagramNode, IFocusTracker <IDiagramShapeUi> focusTracker) { if (diagramNode is TypeDiagramNode typeDiagramNode) { return(new TypeDiagramNodeViewModel(ModelService, diagramService, focusTracker, typeDiagramNode)); } if (diagramNode is PropertyDiagramNode propertyDiagramNode) { return(new PropertyDiagramNodeViewModel(ModelService, diagramService, focusTracker, propertyDiagramNode)); } throw new ArgumentException($"Unexpected type {diagramNode.GetType().Name} in {GetType().Name}"); }
public DiagramNodeViewModel( [NotNull] IModelService modelService, [NotNull] IDiagramService diagramService, [NotNull] IRelatedNodeTypeProvider relatedNodeTypeProvider, [NotNull] IFocusTracker <IDiagramShapeUi> focusTracker, [NotNull] IDiagramNode diagramNode) : base(modelService, diagramService, diagramNode) { PopulateFromDiagramNode(diagramNode); // Must NOT populate size from model because its value flows from the controls to the models. RelatedNodeTypeProvider = relatedNodeTypeProvider; FocusTracker = (IWpfFocusTracker <IDiagramShapeUi>)focusTracker; RelatedNodeCueViewModels = CreateRelatedNodeCueViewModels(); DiagramService.DiagramChanged += OnDiagramChanged; }
private Node[] CreateChain(int depth, IFocusTracker tracker) { var nodes = new List <Node>(); var desktop = new Mock <IVirtualDesktop>(); desktop.SetupGet(m => m.FocusTracker).Returns(tracker); var mockFirst = NodeHelper.CreateMockContainer(GetRect()); var first = mockFirst.Object; mockFirst.SetupGet(m => m.Desktop).Returns(desktop.Object); nodes.Add(first); Node prev = first; for (int i = 1; i < depth; i++) { var n = NodeHelper.CreateMockContainer(GetRect()).Object; prev.AddNodes(n); prev = n; nodes.Add(n); } var node = new Mock <Node>(GetRect(), Direction.Horizontal, null) { CallBase = true }; prev.AddNodes(node.Object); nodes.Add(node.Object); return(nodes.ToArray()); /* * var first = NodeHelper.CreateMockContainer(); * var prev = first; * for(int i = 0; i < depth; i++) * { * var next = NodeHelper.CreateMockContainer(); * prev.Object.AddNodes(next.Object); * prev = next; * } * * var node = new Mock<Node>(new RECT(), Direction.Horizontal, null) { CallBase = true }; * prev.Object.AddNodes(node.Object); * * return (first, node); */ }
public DiagramNodeViewModel( IModelService modelService, IDiagramService diagramService, IRelatedNodeTypeProvider relatedNodeTypeProvider, IFocusTracker <IDiagramShapeUi> focusTracker, IDiagramNode diagramNode) : base(modelService, diagramService, diagramNode) { Name = diagramNode.ModelNode.Name; Center = diagramNode.Center.ToWpf(); TopLeft = diagramNode.TopLeft.ToWpf(); // Must NOT populate size from model because its value flows from the controls to the models. _relatedNodeTypeProvider = relatedNodeTypeProvider; FocusTracker = (IWpfFocusTracker <IDiagramShapeUi>)focusTracker; RelatedNodeCueViewModels = CreateRelatedNodeCueViewModels(); ChildNodes = new ThreadSafeObservableCollection <DiagramNodeViewModel>(); DiagramService.DiagramChanged += OnDiagramChanged; }
public override IDiagramNodeUi CreateDiagramNodeUi( IDiagramNode diagramNode, IFocusTracker <IDiagramShapeUi> focusTracker) { var payload = diagramNode.ModelNode.Payload; if (!(payload is ISymbol symbol)) { return(null); } var headerUi = CreateDiagramNodeHeaderUi(symbol); return(new RoslynDiagramNodeViewModel( ModelEventSource, DiagramEventSource, diagramNode, RelatedNodeTypeProvider, (IWpfFocusTracker <IDiagramShapeUi>)focusTracker, IsDescriptionVisible, symbol, headerUi)); }
protected ContainerDiagramNodeViewModelBase(IModelService modelService, IDiagramService diagramService, IFocusTracker <IDiagramShapeUi> focusTracker, IDiagramNode diagramNode) : base(modelService, diagramService, focusTracker, diagramNode) { ChildNodes = new ThreadSafeObservableCollection <DiagramNodeViewModelBase>(); }
public abstract IDiagramNodeUi CreateDiagramNodeUi(IDiagramService diagramService, IDiagramNode diagramNode, IFocusTracker <IDiagramShapeUi> focusTracker);
public RoslynTypeDiagramNodeViewModel(IModelService modelService, IDiagramService diagramService, IFocusTracker <IDiagramShapeUi> focusTracker, RoslynTypeDiagramNode roslynTypeDiagramNode, bool isDescriptionVisible) : base(modelService, diagramService, focusTracker, roslynTypeDiagramNode) { IsDescriptionVisible = isDescriptionVisible; PopulateFromDiagramNode(roslynTypeDiagramNode); }