public NodeViewModel(Main.Nodes.Node model, double left, double top, WorkAreaViewModel parent) { Parent = parent; NodeModel = model; Name = NodeModel.Name; NodeTypeName = model.GetType().GetField("typeName").GetValue(null) as string; IsUpToDate = false; // Get ports var _ports = NodeModel.PortManager.GetPorts(); InputPorts = new ObservableCollection <InputPortViewModel>(); OutputPorts = new ObservableCollection <OutputPortViewModel>(); foreach (Main.Ports.Port p in _ports) { switch (p.PortType) { case Main.Ports.PortType.Input: InputPortViewModel inst = new InputPortViewModel(p, this); inst.Port.ValueManager.UpToDateChanged += ValueManager_UpToDateChanged; InputPorts.Add(inst); break; case Main.Ports.PortType.Output: OutputPortViewModel inst2 = new OutputPortViewModel(p, this); inst2.Port.ValueManager.UpToDateChanged += ValueManager_UpToDateChanged; OutputPorts.Add(inst2); break; } } Left = left; Top = top; }
public MainWindowViewModel() { List <Assembly> _assemblys = new List <Assembly>(); _assemblys.Add(Assembly.LoadFrom(@"StandartNodes.dll")); _nodeTypes = new Main.Nodes.NodeTypesManager(_assemblys); WorkArea = new WorkAreaViewModel(_nodeTypes); NodeTypes = new NodeTypesListViewModel(_nodeTypes); MyConsole = new ConsViewModel(); CalculateSchemeCommand = new SimpleCommand(CalculateSchemeExcecuted); ClearSchemeCommand = new SimpleCommand(ClearSchemeExcecuted); SaveSchemeCommand = new SimpleCommand(SaveSchemeExcecuted); LoadSchemeCommand = new SimpleCommand(LoadSchemeExcecuted); }