private void treeView1_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
        {
            TreeNode node = treeView1.SelectedNode;

            //			if(node.Parent != null)
            //			{
            panelIO1.Clear();
            NodeType ioType = (NodeType)node.Tag;
            string   label;

            switch (ioType)
            {
            case NodeType.DigitalInput:
                foreach (IDigitalInput ioPoint in ioManifest.digitalInputMap.Values)
                {
                    label = ioPoint.Name;
                    panelIO1.AddIO(ioPoint, label);
                }
                break;

            case NodeType.DigitalOutput:
                foreach (IDigitalOutput ioPoint in ioManifest.digitalOutputMap.Values)
                {
                    label = ioPoint.Name;
                    panelIO1.AddIO(ioPoint, label);
                }
                break;

            case NodeType.AnalogInput:
                foreach (IAnalogInput ioPoint in ioManifest.analogInputMap.Values)
                {
                    label = ioPoint.Name;
                    panelIO1.AddIO(ioPoint, label);
                }
                break;

            case NodeType.AnalogOutput:
                foreach (IAnalogOutput ioPoint in ioManifest.analogOutputMap.Values)
                {
                    label = ioPoint.Name;
                    panelIO1.AddIO(ioPoint, label);
                }
                break;
            }

            if (ioType == NodeType.Axis)
            {
                panelIO1.Visible = false;
                panelIO1.Dock    = DockStyle.None;

                panelAxis1.Enabled = true;
                panelAxis1.Visible = true;
                panelAxis1.Dock    = DockStyle.Fill;

                // assign the one and only axis for this node
                panelAxis1.AssignAxisMap(ioManifest.axisMap);
            }
            else
            {
                panelIO1.Visible = true;
                panelIO1.Dock    = DockStyle.Fill;
                panelIO1.UpdateLayout();

                panelAxis1.Enabled = false;
                panelAxis1.Visible = false;
                panelAxis1.Dock    = DockStyle.Fill;
                panelAxis1.AssignAxis(null);
            }
            //			}
        }
Пример #2
0
        protected virtual void treeView1_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)
        {
            TreeNode node   = treeView1.SelectedNode;
            NodeType ioType = (NodeType)node.Tag;

            listView1.BeginUpdate();
            listView1.Clear();
            listView1.View = View.Details;

            switch (ioType)
            {
            case NodeType.DigitalInput:
                listView1.Columns.Add("State", 70, HorizontalAlignment.Center);
                listView1.Columns.Add("Digital Input Name", 300, HorizontalAlignment.Left);
                foreach (IDigitalInput ioPoint in ioManifest.digitalInputMap.Values)
                {
                    ListViewItem item = new ListViewItem((ioPoint.State == DigitalIOState.On)?"ON ":"OFF", 0);
                    item.Tag = ioPoint;
                    item.SubItems.Add(ioPoint.Name);
                    listView1.Items.Insert(0, item);
                }
                break;

            case NodeType.DigitalOutput:
                listView1.Columns.Add("State", 70, HorizontalAlignment.Center);
                listView1.Columns.Add("Digital Output Name", 300, HorizontalAlignment.Left);

                foreach (IDigitalOutput ioPoint in ioManifest.digitalOutputMap.Values)
                {
                    ListViewItem item = new ListViewItem((ioPoint.State == DigitalIOState.On)?"ON ":"OFF", 0);
                    item.Tag = ioPoint;
                    item.SubItems.Add(ioPoint.Name);
                    listView1.Items.Insert(0, item);
                }
                break;

            case NodeType.AnalogInput:
                listView1.Columns.Add("Value", 100, HorizontalAlignment.Center);
                listView1.Columns.Add("Unit", 100, HorizontalAlignment.Center);
                listView1.Columns.Add("Analog Input Name", 250, HorizontalAlignment.Left);

                foreach (IAnalogInput ioPoint in ioManifest.analogInputMap.Values)
                {
                    ListViewItem item = new ListViewItem(ioPoint.Value.ToString(), 0);
                    item.Tag = ioPoint;
                    item.SubItems.Add(ioPoint.Unit);
                    item.SubItems.Add(ioPoint.Name);
                    listView1.Items.Insert(0, item);
                }
                break;

            case NodeType.AnalogOutput:
                listView1.Columns.Add("Value", 100, HorizontalAlignment.Center);
                listView1.Columns.Add("Unit", 100, HorizontalAlignment.Center);
                listView1.Columns.Add("Analog Output Name", 250, HorizontalAlignment.Left);
                foreach (IAnalogOutput ioPoint in ioManifest.analogOutputMap.Values)
                {
                    ListViewItem item = new ListViewItem(ioPoint.Value.ToString(), 0);
                    item.Tag = ioPoint;
                    item.SubItems.Add(ioPoint.Unit);
                    item.SubItems.Add(ioPoint.Name);
                    listView1.Items.Insert(0, item);
                }
                break;
            }

            listView1.EndUpdate();

            if (ioType == NodeType.Axis)
            {
                listView1.Visible = false;
                listView1.Dock    = DockStyle.None;

                panelAxis1.Enabled = true;
                panelAxis1.Visible = true;
                panelAxis1.Dock    = DockStyle.Fill;

                // assign the one and only axis for this node
                panelAxis1.AssignAxisMap(ioManifest.axisMap);
            }
            else
            {
                listView1.Visible = true;
                listView1.Dock    = DockStyle.Fill;

                panelAxis1.Enabled = false;
                panelAxis1.Visible = false;
                panelAxis1.Dock    = DockStyle.Fill;
                panelAxis1.AssignAxis(null);
            }
        }