HDL Home App 第二版本 旧平台金堂用 正在使用
陈嘉乐
2020-12-30 276757e23a57126d0af9ff734c493961eedeb622
ZigbeeApp/Shared/Phone/Device/Logic/LogicDveiceStatus.cs
@@ -30,7 +30,7 @@
                        Common.Logic.CurrentLogic.LogicName = logicName;
                        if (Common.Logic.CurrentLogic.Conditions.Count == 1)
                        {
                            ConditionView(false, frameLayout);
                            ConditionView(false, frameLayout,null);
                        }
                        else
                        {
@@ -1118,90 +1118,50 @@
        /// <summary>
        /// 与或条件布局界面的方法 
        /// </summary>
        /// <param name="edit"></param>
        /// <param name="frameLayout"></param>
        public void ConditionView(bool edit, FrameLayout frameLayout)
        /// <param name="edit">表示是否编辑</param>
        /// <param name="frameLayout">显示在哪个界面</param>
        /// <param name="button">显示选中文本</param>
        public void ConditionView(bool edit, FrameLayout frameLayout,Button button)
        {
            #region  ------组合条件界面布局部分
            var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicTranslucentColor };
            frameLayout.AddChidren(flMain);
            CompleteView completeView = new CompleteView();
            flMain.AddChidren(completeView.Show(2));
            completeView.Btntitle.TextID = MyInternationalizationString.condition;
            EventHandler<MouseEventArgs> clickcancel = (sender, e) =>
            {
                UserView.HomePage.Instance.ScrollEnabled = true;
                flMain.RemoveFromParent();
            };
            flMain.MouseUpEventHandler += clickcancel;
            completeView.Btncancel.MouseUpEventHandler += clickcancel;
            //满足所有条件
            mFunView allFunView = new mFunView();
            allFunView.frameLayout.Y = Application.GetRealHeight(140 + 20);
            completeView.Show(2).AddChidren(allFunView.Show());
            allFunView.titleBtn.TextID = MyInternationalizationString.Allconditions;
            //满足其中一个条件
            mFunView ormFunview = new mFunView();
            ormFunview.frameLayout.Y = allFunView.frameLayout.Bottom;
            completeView.Show(2).AddChidren(ormFunview.Show());
            ormFunview.titleBtn.TextID = MyInternationalizationString.anycondition;
            ormFunview.lineBtn.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor;
            #endregion
            ///满足所有条件点击事件
            allFunView.clickviewBtn.MouseUpEventHandler += (sedner, e) =>
            {
                allFunView.selectedIconBtn.Visible = true;
                ormFunview.selectedIconBtn.Visible = false;
                allFunView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                ormFunview.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
            };
            ///满足其中一个条件点击事件
            ormFunview.clickviewBtn.MouseUpEventHandler += (sedner, e) =>
            {
                allFunView.selectedIconBtn.Visible = false;
                ormFunview.selectedIconBtn.Visible = true;
                allFunView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                ormFunview.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
            };
            string stateText = "";
            if (edit)
            {
                if (Common.Logic.CurrentLogic.Relationship == 0)
                {
                    allFunView.selectedIconBtn.Visible = true;
                    ormFunview.selectedIconBtn.Visible = false;
                    allFunView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                    ormFunview.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                }
                else
                {
                    allFunView.selectedIconBtn.Visible = false;
                    ormFunview.selectedIconBtn.Visible = true;
                    allFunView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor;
                    ormFunview.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor;
                }
            }
            completeView.Btncomplete.MouseUpEventHandler += (sender, e) =>
            {
                if (!allFunView.selectedIconBtn.Visible && !ormFunview.selectedIconBtn.Visible)
                {
                    ///可以提示未选中状态;
                    return;
                }
                flMain.RemoveFromParent();
                if (allFunView.selectedIconBtn.Visible)
                switch (Common.Logic.CurrentLogic.Relationship)
                {
                    case 0:
                        {
                            stateText = Language.StringByID(MyInternationalizationString.Allconditions);
                        }
                        break;
                    case 1:
                        {
                            stateText = Language.StringByID(MyInternationalizationString.anycondition);
                        }
                        break;
                }
            }
            PublicInterface publicInterface = new PublicInterface();
            var list = publicInterface.GetViewList("组合条件");
            publicInterface.SingleSelectionShow(frameLayout, list, MyInternationalizationString.condition, stateText, (str) =>
            {
                //显示选中文本
                if (button!=null) {
                    button.Text = Language.StringByID(MyInternationalizationString.followingconditions)+ str;
                }
                if (str == Language.StringByID(MyInternationalizationString.Allconditions))
                {
                    Common.Logic.CurrentLogic.Relationship = 0;
                }
                if (ormFunview.selectedIconBtn.Visible)
                else if (str == Language.StringByID(MyInternationalizationString.anycondition))
                {
                    Common.Logic.CurrentLogic.Relationship = 1;
                    Common.Logic.CurrentLogic.Relationship = 1;
                }
                if (edit)
                {
@@ -1209,10 +1169,6 @@
                    {
                        Send.LogicControlSwitch(Common.Logic.CurrentLogic);
                    }
                    var logicCommunalPage = new LogicCommunalPage();
                    UserView.HomePage.Instance.AddChidren(logicCommunalPage);
                    UserView.HomePage.Instance.PageIndex += 1;
                    logicCommunalPage.Show(() => { });
                }
                else
                {
@@ -1221,7 +1177,12 @@
                    UserView.HomePage.Instance.PageIndex += 1;
                    addLogicPage.Show();
                }
            };
            });
        }
    }