private void InitIoBranches(int branchCount, NodeConnector connector, ICollection <NodeItem> branchList, IList <PropertyInfo> blocks, bool isInput) { if (branchCount == 1) { connector.Enabled = true; branchList.Add(m_iconItem); } else { for (int i = 0; i < branchCount; i++) { string name = (i + 1) + ""; if (Node is MyWorkingNode) { name = blocks[i].Name; } NodeLabelItem branch = new NodeLabelItem(MyProject.ShortenMemoryBlockName(name), isInput, !isInput) { Tag = i, IsPassive = true }; branchList.Add(branch); AddItem(branch); } } }
public void UpdateView() { listView.Items.Clear(); toolStrip.Enabled = false; splitContainer.Panel2Collapsed = true; if (Target != null) { if (m_mainForm.SimulationHandler.State == MySimulationHandler.SimulationState.STOPPED) { try { Target.UpdateMemoryBlocks(); } catch (Exception e) { MyLog.ERROR.WriteLine("Exeption occured while updating node " + Target.Name + ": " + e.Message); } } List <MyAbstractMemoryBlock> blocks = MyMemoryManager.Instance.GetBlocks(Target); for (int i = 0; i < Target.InputBranches; i++) { MyAbstractMemoryBlock mb = Target.GetAbstractInput(i); if (mb != null) { if (Target is IMyVariableBranchViewNodeBase) { addListViewItem(mb, "<Input_" + (i + 1) + ">", false); } else if (Target is MyNodeGroup) { addListViewItem(mb, (Target as MyNodeGroup).GroupInputNodes[i].Name, false); } else { addListViewItem(mb, Target.GetInfo().InputBlocks[i].Name, false); } } } if (Target is MyNodeGroup) { for (int i = 0; i < Target.OutputBranches; i++) { MyAbstractMemoryBlock mb = Target.GetAbstractOutput(i); if (mb != null) { addListViewItem(mb, (Target as MyNodeGroup).GroupOutputNodes[i].Name, false); } } } else if (Target is MyParentInput) { MyAbstractMemoryBlock mb = Target.GetAbstractOutput(0); if (mb != null) { addListViewItem(mb, MyProject.ShortenMemoryBlockName(mb.Name), false); } } foreach (MyAbstractMemoryBlock block in blocks) { addListViewItem(block, block.Name); } } }
protected virtual void InitBranches() { MyNodeInfo nodeInfo = Node.GetInfo(); foreach (PropertyInfo signalInfo in nodeInfo.RegisteredSignals) { MySignal signal = (MySignal)signalInfo.GetValue(Node); MySignalItem signalItem = new MySignalItem(signal); m_signals.Add(signalItem); AddItem(signalItem); } if (Node.InputBranches == 1) { m_iconItem.Input.Enabled = true; m_inputBranches.Add(m_iconItem); } else { for (int i = 0; i < Node.InputBranches; i++) { string name = (i + 1) + ""; if (Node is MyWorkingNode) { name = Node.GetInfo().InputBlocks[i].Name; } NodeLabelItem branch = new NodeLabelItem(MyProject.ShortenMemoryBlockName(name), true, false); branch.Tag = i; m_inputBranches.Add(branch); AddItem(branch); } } if (Node.OutputBranches == 1) { m_iconItem.Output.Enabled = true; m_outputBranches.Add(m_iconItem); } else { for (int i = 0; i < Node.OutputBranches; i++) { string name = (i + 1) + ""; if (Node is MyWorkingNode) { name = Node.GetInfo().OutputBlocks[i].Name; } NodeLabelItem branch = new NodeLabelItem(MyProject.ShortenMemoryBlockName(name), false, true); branch.Tag = i; m_outputBranches.Add(branch); AddItem(branch); } } }