Esempio n. 1
0
        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);
        }
Esempio n. 3
0
        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);
        }