public DiagramViewportViewModel( IModelService modelService, IDiagramService diagramService, IDiagramShapeUiFactory diagramShapeUiFactory, double minZoom, double maxZoom, double initialZoom) : base(modelService, diagramService) { MinZoom = minZoom; MaxZoom = maxZoom; _diagramNodeToViewModelMap = new Map <ModelNodeId, DiagramNodeViewModel>(); _diagramConnectorToViewModelMap = new Map <ModelRelationshipId, DiagramConnectorViewModel>(); _diagramShapeUiFactory = diagramShapeUiFactory; _diagramShapeUiFactory.Initialize(modelService, this); ViewportCalculator = new AutoMoveViewportViewModel(modelService, diagramService, minZoom, maxZoom, initialZoom); DiagramNodeViewModels = new ThreadSafeObservableCollection <DiagramNodeViewModel>(); DiagramConnectorViewModels = new ThreadSafeObservableCollection <DiagramConnectorViewModel>(); MiniButtonPanelViewModel = new MiniButtonPanelViewModel(); DiagramNodeDoubleClickedCommand = new DelegateCommand <IDiagramNode>(i => DiagramNodeInvoked?.Invoke(i)); ViewportCalculator.TransformChanged += OnViewportTransformChanged; DiagramService.DiagramChanged += OnDiagramChanged; AddDiagram(diagramService.LatestDiagram); }
public DiagramViewportViewModel( [NotNull] IModelEventSource modelEventSource, [NotNull] IDiagramEventSource diagramEventSource, [NotNull] IDiagramShapeUiFactory diagramShapeUiFactory, [NotNull] IDecorationManager <IMiniButton, IDiagramShapeUi> miniButtonManager, double minZoom, double maxZoom, double initialZoom) : base(modelEventSource, diagramEventSource) { MinZoom = minZoom; MaxZoom = maxZoom; _diagramNodeToViewModelMap = new Map <ModelNodeId, DiagramNodeViewModel>(); _diagramConnectorToViewModelMap = new Map <ModelRelationshipId, DiagramConnectorViewModel>(); DiagramShapeUiFactory = diagramShapeUiFactory; MiniButtonPanelViewModel = (MiniButtonPanelViewModel)miniButtonManager; ViewportCalculator = new AutoMoveViewportViewModel(modelEventSource, diagramEventSource, minZoom, maxZoom, initialZoom); DiagramNodeViewModels = new ThreadSafeObservableCollection <DiagramNodeViewModel>(); DiagramConnectorViewModels = new ThreadSafeObservableCollection <DiagramConnectorViewModel>(); DiagramNodeDoubleClickedCommand = new DelegateCommand <IDiagramNode>(i => DiagramNodeInvoked?.Invoke(i)); ViewportCalculator.TransformChanged += OnViewportTransformChanged; DiagramEventSource.DiagramChanged += OnDiagramChanged; AddDiagram(diagramEventSource.LatestDiagram); }
public DiagramViewModel( IModelService modelService, IDiagramService diagramService, IDiagramShapeUiFactory diagramShapeUiFactory, double minZoom, double maxZoom, double initialZoom) : base(modelService, diagramService) { DiagramShapeUiFactory = diagramShapeUiFactory; DiagramViewportViewModel = new DiagramViewportViewModel( ModelService, DiagramService, diagramShapeUiFactory, minZoom, maxZoom, initialZoom); RelatedNodeListBoxViewModel = new RelatedNodeListBoxViewModel(ModelService, DiagramService); RelatedNodeListBoxViewModel.ItemSelected += OnRelatedNodeSelected; RelatedNodeListBoxViewModel.Items.CollectionChanged += OnRelatedNodeCollectionChanged; PopupTextViewModel = new AutoHidePopupTextViewModel(); PreviewMouseDownCommand = new DelegateCommand(OnAnyMouseDownEvent); MouseDownCommand = new DelegateCommand(OnUnhandledMouseDownEvent); DiagramService.DiagramChanged += OnDiagramChanged; SubscribeToViewportEvents(); _lastDiagram = DiagramService.LatestDiagram; }
public WpfUiService( IModelService modelService, IDiagramService diagramService, IDiagramShapeUiFactory diagramShapeUiFactory, double minZoom, double maxZoom, double initialZoom) { DiagramViewModel = new DiagramViewModel(modelService, diagramService, diagramShapeUiFactory, minZoom, maxZoom, initialZoom); }
public RoslynDiagramViewportViewModel( [NotNull] IModelEventSource modelEventSource, [NotNull] IDiagramEventSource diagramEventSource, [NotNull] IDiagramShapeUiFactory diagramShapeUiFactory, [NotNull] IMiniButtonManager miniButtonManager, double minZoom, double maxZoom, double initialZoom) : base(modelEventSource, diagramEventSource, diagramShapeUiFactory, miniButtonManager, minZoom, maxZoom, initialZoom) { _roslynDiagramShapeUiFactory = (IRoslynDiagramShapeUiFactory)diagramShapeUiFactory; }