public DiagramId CreateDiagram() { var diagramId = DiagramId.Create(); var diagramService = _diagramServiceFactory(_modelService.LatestModel); _diagramServices.Add(diagramId, diagramService); var diagramUiService = CreateDiagramUiService(diagramId, diagramService); _diagramUiServices.Add(diagramId, diagramUiService); var plugins = _diagramPluginFactories.Select(i => i(diagramService)).ToList(); _diagramPlugins.Add(diagramId, plugins); return(diagramId); }
public DiagramId CreateDiagram() { var diagramId = DiagramId.Create(); var diagramService = _diagramServiceFactory(_modelService.LatestModel); _diagramServices.Add(diagramId, diagramService); var diagramUi = _uiServiceFactory(diagramService); diagramUi.DiagramNodePayloadAreaSizeChanged += PropagateDiagramNodePayloadAreaSizeChanged(diagramId); diagramUi.RemoveDiagramNodeRequested += PropagateRemoveDiagramNodeRequested(diagramId); _diagramUis.Add(diagramId, diagramUi); var plugins = _diagramPluginFactories.Select(i => i(diagramService)).ToList(); _diagramPlugins.Add(diagramId, plugins); return(diagramId); }
public DiagramId CreateDiagram( double minZoom = DefaultMinZoom, double maxZoom = DefaultMaxZoom, double initialZoom = DefaultInitialZoom) { var diagramId = DiagramId.Create(); var diagramService = DiagramServiceFactory.Create(GetModelService()); _diagramServices.Add(diagramId, diagramService); var diagramUi = CreateDiagramUi(diagramId, minZoom, maxZoom, initialZoom); _diagramUis.Add(diagramId, diagramUi); // Warning: plugins must be created after the UI so its event callbacks don't precede UI updates. var diagramPlugins = CreateAndAttachDiagramPlugins(DiagramPluginIds, ModelService, diagramService); _diagramPlugins.Add(diagramId, diagramPlugins.ToList()); return(diagramId); }