Ejemplo n.º 1
0
        /// <summary>
        /// 将ViewNode对象转为KNXControlBase对象
        /// </summary>
        /// <param name="node"></param>
        /// <returns></returns>
        private static KNXControlBase ExportControl(BackgroundWorker worker, KNXContainer parent, ViewNode node, string ImgResDir, Point RelPoint)
        {
            KNXControlBase knx = null;

            // 节点的类型
            switch (node.Name)
            {
            case MyConst.Controls.KnxBlindsType:
                knx = (node as BlindsNode).ExportTo(worker, ImgResDir, RelPoint);
                break;

            case MyConst.Controls.KnxLabelType:
                knx = (node as LabelNode).ExportTo(worker, ImgResDir, RelPoint);
                break;

            case MyConst.Controls.KnxSceneButtonType:
                knx = (node as SceneButtonNode).ExportTo(worker, ImgResDir, RelPoint);
                break;

            case MyConst.Controls.KnxSliderSwitchType:
                knx = (node as SliderSwitchNode).ExportTo(worker, ImgResDir, RelPoint);
                break;

            case MyConst.Controls.KnxSwitchType:
                knx = (node as SwitchNode).ExportTo(worker, ImgResDir, RelPoint);
                break;

            case MyConst.Controls.KnxValueDisplayType:
                knx = (node as ValueDisplayNode).ExportTo(worker, ImgResDir, RelPoint);
                break;

            case MyConst.Controls.KnxTimerButtonType:
                knx = (node as TimerButtonNode).ExportTo(worker, ImgResDir, RelPoint);
                break;

            case MyConst.Controls.KnxDigitalAdjustmentType:
                knx = (node as DigitalAdjustmentNode).ExportTo(worker, ImgResDir, RelPoint);
                break;

            case MyConst.Controls.KnxImageButtonType:
                knx = (node as ImageButtonNode).ExportTo(worker, ImgResDir, RelPoint);
                break;

            case MyConst.Controls.KnxShutterType:
                knx = (node as ShutterNode).ExportTo(worker, ImgResDir, RelPoint);
                break;

            case MyConst.Controls.KnxDimmerType:
                knx = (node as DimmerNode).ExportTo(worker, ImgResDir, RelPoint);
                break;

            case MyConst.Controls.KnxWebCamViewerType:
                knx = (node as WebCamerNode).ExportTo(worker, ImgResDir, RelPoint);
                break;

            case MyConst.Controls.KnxMediaButtonType:
                knx = (node as MediaButtonNode).ExportTo(worker, ImgResDir, RelPoint);
                break;

            case MyConst.Controls.KnxAirConditionType:
                knx = (node as AirConditionNode).ExportTo(worker, ImgResDir, RelPoint);
                break;

            case MyConst.Controls.KnxHVACType:
                knx = (node as HVACNode).ExportTo(worker, ImgResDir, RelPoint);
                break;

            case MyConst.Controls.KnxGroupBoxType:
                knx = (node as GroupBoxNode).ExportTo(worker, ImgResDir, RelPoint);

                if (node.Nodes.Count > 0)
                {
                    // 添加控件
                    foreach (ViewNode childNode in node.Nodes)
                    {
                        ExportControl(worker, knx as KNXContainer, childNode, ImgResDir, node.LocationInPageFact);
                    }
                }
                break;

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

            if ((null != knx) && (null != parent))
            {
                parent.Controls.Add(knx);
            }

            return(knx);
        }
Ejemplo n.º 2
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;
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// ContainerNode 转 KNXContainer
        /// </summary>
        /// <param name="knx"></param>
        internal void ToKnx(KNXContainer knx, BackgroundWorker worker)
        {
            base.ToKnx(knx, worker);

            knx.Controls = new List <KNXControlBase>();
        }
Ejemplo n.º 4
0
 public ContainerNode(KNXContainer knx, BackgroundWorker worker)
     : base(knx, worker)
 {
 }
Ejemplo n.º 5
0
        /// <summary>
        /// ContainerNode 转 KNXContainer
        /// </summary>
        /// <param name="knx"></param>
        internal void ToKnx(KNXContainer knx)
        {
            base.ToKnx(knx);

            knx.Controls = new List <KNXControlBase>();
        }
Ejemplo n.º 6
0
 public ContainerNode(KNXContainer knx)
     : base(knx)
 {
 }