public DiagramFactory( Func <IProvideNodes> nodeProvidorFactory, Func <IEnumerable <IDiagramInteractorService> > _diagramInteractorsFactory) { _nodeProvidor = nodeProvidorFactory.Invoke(); diagramInteractors = _diagramInteractorsFactory.Invoke().OfType <DiagramInteractor>(); }
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); }
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(); }
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); } } }
public NodePalette(Func <IProvideNodes> nodeProvider) { _nodeProvider = nodeProvider.Invoke(); _nodeProvider.PropertyChanged += NodesOnPropertyChanged; AddNodes(); }
public DiagramCallNode(IProvideNodes nodeProvider) { _nodeProvider = nodeProvider; }