Exemplo n.º 1
0
 public ContainerNode(KNXContainer knx)
     : base(knx)
 { }
Exemplo n.º 2
0
        /// <summary>
        /// ContainerNode 转 KNXContainer
        /// </summary>
        /// <param name="knx"></param>
        internal void ToKnx(KNXContainer knx)
        {
            base.ToKnx(knx);

            knx.Controls = new List<KNXControlBase>();
        }
Exemplo n.º 3
0
        /// <summary>
        /// 按树节点的类型,转为相应的KNX对象
        /// </summary>
        /// <param name="view"></param>
        /// <param name="node"></param>
        private static void ExportControls(KNXContainer view, TreeNode node)
        {
            // 节点的类型
            switch (node.Name)
            {
                case MyConst.Controls.KnxBlindsType:
                    var blindsNode = node as BlindsNode;
                    if (blindsNode != null)
                    {
                        var knxBlinds = blindsNode.ToKnx();
                        view.Controls.Add(knxBlinds);
                    }
                    break;

                case MyConst.Controls.KnxLabelType:
                    var labelNode = node as LabelNode;
                    if (labelNode != null)
                    {
                        var knxLabel = labelNode.ToKnx();
                        view.Controls.Add(knxLabel);
                    }
                    break;

                case MyConst.Controls.KnxSceneButtonType:
                    var sceneButtonNode = node as SceneButtonNode;
                    if (sceneButtonNode != null)
                    {
                        var knxSceneButton = sceneButtonNode.ToKnx();
                        view.Controls.Add(knxSceneButton);
                    }
                    break;

                case MyConst.Controls.KnxSliderSwitchType:
                    var sliderSwitchNode = node as SliderSwitchNode;
                    if (sliderSwitchNode != null)
                    {
                        var knxSliderSwitch = sliderSwitchNode.ToKnx();
                        view.Controls.Add(knxSliderSwitch);
                    }
                    break;

                case MyConst.Controls.KnxSwitchType:
                    var switchNode = node as SwitchNode;
                    if (switchNode != null)
                    {
                        var knxSwitch = switchNode.ToKnx();
                        view.Controls.Add(knxSwitch);
                    }
                    break;

                case MyConst.Controls.KnxValueDisplayType:
                    var valueDisplayNode = node as ValueDisplayNode;
                    if (valueDisplayNode != null)
                    {
                        var knxValueDisplay = valueDisplayNode.ToKnx();
                        view.Controls.Add(knxValueDisplay);
                    }
                    break;

                case MyConst.Controls.KnxTimerButtonType:
                    var timerTaskButtonNode = node as TimerButtonNode;
                    if (timerTaskButtonNode != null)
                    {
                        var knxTimerTaskButton = timerTaskButtonNode.ToKnx();
                        view.Controls.Add(knxTimerTaskButton);
                    }
                    break;

                case MyConst.Controls.KnxDigitalAdjustment:
                    var digitalAdjustment = node as DigitalAdjustmentNode;
                    if (null != digitalAdjustment)
                    {
                        var knxDigitalAdjustment = digitalAdjustment.ToKnx();
                        view.Controls.Add(knxDigitalAdjustment);
                    }
                    break;

                case MyConst.Controls.KnxGroupBoxType:
                    var groupBox = node as GroupBoxNode;
                    if (null != groupBox)
                    {
                        var knxGroupBox = groupBox.ToKnx();
                        view.Controls.Add(knxGroupBox);

                        if (node.Nodes.Count > 0)
                        {
                            // 添加控件
                            foreach (TreeNode childNode in node.Nodes)
                            {
                                ExportControls(knxGroupBox, childNode);
                            }
                        }

                    }
                    break;

                default:
                    MessageBox.Show(ResourceMng.GetString("Message38") + node.Name, ResourceMng.GetString("Message6"), MessageBoxButtons.OK, MessageBoxIcon.Error);
                    break;
            }
        }