Пример #1
0
 public DiagramFactory(
     Func <IProvideNodes> nodeProvidorFactory,
     Func <IEnumerable <IDiagramInteractorService> > _diagramInteractorsFactory)
 {
     _nodeProvidor      = nodeProvidorFactory.Invoke();
     diagramInteractors = _diagramInteractorsFactory.Invoke().OfType <DiagramInteractor>();
 }
Пример #2
0
        public static DiagramCallNode CreateDiagramCallNode(DiagramModel diagram, IProvideNodes nodeProvider)
        {
            var diagramNode = new DiagramCallNode(nodeProvider);
            var nodeModel   = new NodeModel(typeof(DiagramCallNode).FullName);

            diagramNode.InitializeWithNode(nodeModel);
            diagramNode.SetReferencingDiagramModelIfNotBroken(diagram);
            return(diagramNode);
        }
Пример #3
0
        public PluginLoader(
            Func <IProvideNodes> nodeProviderFactory,
            Func <IDirectoryService> directoryServiceFactory)
        {
            _nodeProvider     = nodeProviderFactory.Invoke();
            _directoryService = directoryServiceFactory.Invoke();
            _pluginDirectory  = _directoryService.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Plugins";
            RegisterPluginNodesFromAssembly(Assembly.Load(nameof(DiiagramrAPI)), new NodeLibrary());
            if (!_directoryService.Exists(_pluginDirectory))
            {
                _directoryService.CreateDirectory(_pluginDirectory);
            }

            LoadNonPluginDll();
            GetInstalledPlugins();
        }
Пример #4
0
        public Diagram(
            DiagramModel diagram,
            IProvideNodes nodeProvider,
            IEnumerable <DiagramInteractor> diagramInteractors)
        {
            _nodeProvider = nodeProvider ?? throw new ArgumentNullException(nameof(nodeProvider));

            DiagramInteractionManager = new DiagramInteractionManager(() => diagramInteractors);

            Model = diagram;
            Model.PropertyChanged += DiagramOnPropertyChanged;
            if (diagram.Nodes != null)
            {
                foreach (var nodeModel in diagram.Nodes)
                {
                    var viewModel = nodeProvider.LoadNodeViewModelFromNode(nodeModel);
                    nodeModel.SetTerminalsPropertyChanged();
                    AddNodeViewModel(viewModel);
                }
            }
        }
Пример #5
0
 public NodePalette(Func <IProvideNodes> nodeProvider)
 {
     _nodeProvider = nodeProvider.Invoke();
     _nodeProvider.PropertyChanged += NodesOnPropertyChanged;
     AddNodes();
 }
Пример #6
0
 public DiagramCallNode(IProvideNodes nodeProvider)
 {
     _nodeProvider = nodeProvider;
 }