From 3272ca5b51e19f7f8a827b0f68400570a547fe60 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期二, 28 四月 2020 15:02:44 +0800 Subject: [PATCH] 2020-04-28-1 --- ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs | 776 ++++++++++++----------------------------------------------- 1 files changed, 159 insertions(+), 617 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs b/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs index fa0c778..a28b690 100755 --- a/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs +++ b/ZigbeeApp/Shared/Phone/Category/CategoryMainForm.cs @@ -107,12 +107,18 @@ if (UserCenterResourse.ResidenceOption.CategoryPageSwitchIndex == 0) { //娣诲姞鍦烘櫙 - Add_Scene(); + var form = new AddOrEditorSceneForm(); + form.AddForm(new object[] { null }); + form.SceneChangedEvent += (scene, roomId) => + { + //鍒锋柊bodyView + this.RefreshBodyView(); + }; } else if (UserCenterResourse.ResidenceOption.CategoryPageSwitchIndex == 2) { //娣诲姞鑷姩鍖� - Add_Automation(); + Device.Logic.SkipView.SkipAddLogic(0); } }; } @@ -149,7 +155,7 @@ frameSwitchBack.AddChidren(btnFloorName); btnFloorName.ButtonClickEvent += (sender, e) => { - var floors = new Device.Category.SelectFloor(); + var floors = new SelectFloorForm(); AddChidren(floors); floors.Init(580, 330, Direction.Right); floors.changeFloor = true; @@ -164,7 +170,7 @@ //妤煎眰鍥炬爣 this.btnFloorIcon = new IconViewControl(69); btnFloorIcon.X = Application.GetRealWidth(950); - btnFloorIcon.Y = btnFloorName.Y; + btnFloorIcon.Y = Application.GetRealHeight(17); btnFloorIcon.UnSelectedImagePath = "Item/Drop_Down.png"; frameSwitchBack.AddChidren(btnFloorIcon); btnFloorIcon.ButtonClickEvent += (sender, e) => @@ -198,6 +204,14 @@ switchContr.SelectTabEvent += (selectIndex) => { UserCenterResourse.ResidenceOption.CategoryPageSwitchIndex = selectIndex; + if (selectIndex == 2) + { + Common.Logic.LogicDviceList.Clear(); + if (Common.Logic.LogicDviceList.Count == 0) + { + Common.Logic.LogicDviceList.AddRange(LocalDevice.Current.listAllDevice.ToArray()); + } + } //鍒锋柊bodyView this.RefreshBodyView(); }; @@ -395,7 +409,7 @@ HdlThreadLogic.Current.RunMainInThread(() => { //鍒濆鍖栬澶囧垪琛ㄦ帶浠� - this.InitListDeviceControls(listDeviceView, rowInfo); + this.InitListDeviceControls(listDeviceView, rowInfo, room); }); } }; @@ -412,7 +426,7 @@ if (nowSelectDeviceInfo != null) { //鍒濆鍖栭粯璁ょ殑璁惧鍒楄〃鎺т欢 - this.InitListDeviceControls(listDeviceView, nowSelectDeviceInfo); + this.InitListDeviceControls(listDeviceView, nowSelectDeviceInfo, room); } } @@ -454,18 +468,32 @@ /// </summary> /// <param name="listView"></param> /// <param name="rowInfo"></param> - private void InitListDeviceControls(VerticalListControl listView, DeviceRowInfo rowInfo) + private void InitListDeviceControls(VerticalListControl listView, DeviceRowInfo rowInfo, Room i_room) { //鍏堟竻绌� listView.RemoveAll(); var listDevice = new List<CommonDevice>(); - foreach (var mainkeys in rowInfo.listDeviceKeys) + for (int i = 0; i < rowInfo.listDeviceKeys.Count; i++) { - var device = LocalDevice.Current.GetDevice(mainkeys); + var device = LocalDevice.Current.GetDevice(rowInfo.listDeviceKeys[i]); + + //鑾峰彇璁惧绫诲瀷鐨� + var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { device }); + //鏂伴闈㈡澘涓嬬殑鍥炶矾涓嶆樉绀猴紝锛堝鏂伴銆佹俯/婀垮害浼犳劅鍣ㄥ垯涓嶆樉绀猴級 + if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_FangyueFreshAir) + { + continue; + } + if (device != null) { listDevice.Add(device); + } + else + { + rowInfo.listDeviceKeys.RemoveAt(i); + i--; } } @@ -530,6 +558,24 @@ this.dicDeviceRowControl[LocalDevice.Current.GetDeviceMainKeys(device)] = cardContr; //鍔犵紦瀛�,鐒跺悗鍙戝懡浠� listContr.Add(cardContr); + //鎺т欢琚Щ闄ょ殑鍥炶皟鍑芥暟 + cardContr.RowNeedRemoveEvent += () => + { + string myKeys = LocalDevice.Current.GetDeviceMainKeys(cardContr.device); + rowInfo.listDeviceKeys.Remove(myKeys); + this.dicDeviceRowControl.Remove(myKeys); + + if (rowInfo.listDeviceKeys.Count == 0) + { + //鍦ㄥ闈㈡竻绌�(鐗规晥鐨勯棶棰�) + this.functionSceneBodyView.RemoveAll(); + HdlThreadLogic.Current.RunMainInThread(() => + { + //鍒锋柊璁惧鍒嗘敮鎺т欢 + this.RefreshFunctionView(i_room); + }); + } + }; } HdlThreadLogic.Current.RunThread(() => { @@ -539,7 +585,7 @@ { return; } - System.Threading.Thread.Sleep(20); + System.Threading.Thread.Sleep(200); //鍙戦�佽幏鍙栫姸鎬佺殑鍛戒护 listContr[i].SendStatuComand(); } @@ -574,30 +620,74 @@ } var dicSceneContr = new Dictionary<int, SceneCategoryView>(); - var listview = new VerticalListControl(); - functionSceneBodyView.AddChidren(listview); + //涓讳汉锛岀鐞嗗憳涓撶敤鍒锋柊鎺т欢 + VerticalListRefreshControl listview1 = null; + //鎴愬憳涓撶敤涓嶈兘鍒锋柊鐨勬帶浠� + VerticalListControl listview2 = null; + //if (UserCenterResourse.UserInfo.AuthorityNo == 1 || UserCenterResourse.UserInfo.AuthorityNo == 2) + //{ + // listview1 = new VerticalListRefreshControl(); + // functionSceneBodyView.AddChidren(listview1); + //} + //else + { + listview2 = new VerticalListControl(); + functionSceneBodyView.AddChidren(listview2); + } + foreach (var scene in listScene) { //鍦烘櫙鍗$墖鎺т欢 var sceneView = new SceneCategoryView(); - listview.AddChidren(sceneView); + listview1?.AddChidren(sceneView); + listview2?.AddChidren(sceneView); sceneView.InitControl(scene, room); dicSceneContr[scene.Id] = sceneView; } HdlThreadLogic.Current.RunThread(() => { - //鑾峰彇鍏ㄩ儴鍦烘櫙鐨勫欢鏃舵椂闂� - this.GetAllDelayScene(dicSceneContr, listview); + if (listview1 != null) + { + //鎵撳紑鍏ㄩ儴鍦烘櫙鐨勫欢鏃舵椂闂� + this.StartAllDelayScene(dicSceneContr, listview1); + } + else + { + //鎵撳紑鍏ㄩ儴鍦烘櫙鐨勫欢鏃舵椂闂� + this.StartAllDelayScene(dicSceneContr, listview2); + } }, ShowErrorMode.NO); } /// <summary> - /// 鑾峰彇鍏ㄩ儴鍦烘櫙鐨勫欢鏃舵椂闂� + /// 鎵撳紑鍏ㄩ儴鍦烘櫙鐨勫欢鏃舵椂闂� /// </summary> /// <param name="dicSceneContr"></param> - private async void GetAllDelayScene(Dictionary<int, SceneCategoryView> dicSceneContr, VerticalListControl listview) + private async void StartAllDelayScene(Dictionary<int, SceneCategoryView> dicSceneContr, ViewGroup listview) { + string hourText = Language.StringByID(R.MyInternationalizationString.Hour); + string minuText = Language.StringByID(R.MyInternationalizationString.Minute); + string secondText = Language.StringByID(R.MyInternationalizationString.Second); + + //濡傛灉褰撳墠浣忓畢鏄櫄鎷熶綇瀹� + if (Config.Instance.Home.IsVirtually == true) + { + HdlThreadLogic.Current.RunMain(() => + { + //寮�鍚欢鏃剁壒鏁� + foreach (var myContr in dicSceneContr.Values) + { + if (myContr.scene.RemainTime > 0) + { + //寮�鍚満鏅欢鏃剁壒鏁� + this.StartSceneDelayApeal(myContr, listview, myContr.scene.RemainTime, hourText, minuText, secondText); + } + } + }, ShowErrorMode.NO); + return; + } + //璇诲彇鍏ㄩ儴鐨勫欢鏃舵椂闂� var result = await Scene.CatDelaySceneAsync(); if (result == null || result.catDelaySceneResponseData == null || @@ -606,10 +696,6 @@ //鍑洪敊涓嶉笩瀹� return; } - - string hourText = Language.StringByID(R.MyInternationalizationString.Hour); - string minuText = Language.StringByID(R.MyInternationalizationString.Minute); - string secondText = Language.StringByID(R.MyInternationalizationString.Second); foreach (var data in result.catDelaySceneResponseData.DelayScenesList) { @@ -626,30 +712,45 @@ { continue; } - HdlThreadLogic.Current.RunThread(() => + //寮�鍚満鏅欢鏃剁壒鏁� + this.StartSceneDelayApeal(seceneContr, listview, remainTime, hourText, minuText, secondText); + } + } + + /// <summary> + /// 寮�鍚満鏅欢鏃剁壒鏁� + /// </summary> + /// <param name="sceneContr"></param> + /// <param name="remainTime"></param> + /// <param name="hourText"></param> + /// <param name="minuText"></param> + /// <param name="secondText"></param> + private void StartSceneDelayApeal(SceneCategoryView sceneContr, ViewGroup listview, int remainTime, + string hourText, string minuText, string secondText) + { + HdlThreadLogic.Current.RunThread(() => + { + //寮�鍚唴閮ㄥ欢鏃舵椂闂寸嚎绋�(鏃ㄥ湪鍏ㄩ儴鍦版柟鐨勫悓涓�鍦烘櫙鏃堕棿鍚屾) + HdlSceneLogic.Current.StartDelayTimeThread(sceneContr.scene); + while (remainTime > 0 && this.Parent != null) { - //寮�鍚唴閮ㄥ欢鏃舵椂闂寸嚎绋�(鏃ㄥ湪鍏ㄩ儴鍦版柟鐨勫悓涓�鍦烘櫙鏃堕棿鍚屾) - HdlSceneLogic.Current.StartDelayTimeThread(seceneContr.scene); - while (remainTime > 0 && this.Parent != null) - { - System.Threading.Thread.Sleep(1000); - Application.RunOnMainThread(() => - { - seceneContr.SetTimeText(this.GetTimeString(remainTime, hourText, minuText, secondText)); - }); - remainTime--; - } + System.Threading.Thread.Sleep(1000); Application.RunOnMainThread(() => { - if (listview.Parent != null) - { - seceneContr.SetTimeImage(); - //寮�鍚疞oading鐗规晥 - seceneContr.StartLoadingApreal(); - } + sceneContr.SetTimeText(this.GetTimeString(remainTime, hourText, minuText, secondText)); }); + remainTime--; + } + Application.RunOnMainThread(() => + { + if (listview.Parent != null) + { + sceneContr.SetTimeImage(); + //寮�鍚疞oading鐗规晥 + sceneContr.StartLoadingApreal(); + } }); - } + }); } /// <summary> @@ -702,6 +803,11 @@ { //鍒锋柊鍗$墖淇℃伅 var locadevice = LocalDevice.Current.GetDevice(mainKeys); + if (report.DeviceStatusReport.CluterID == 513 && report.DeviceStatusReport.AttriBute[0].AttributeId == 28) + { + //绌鸿皟鏄壒娈婄殑,瀹冪殑寮�鍏虫槸灞炴�т笂鎶ユ潵鐫�.宸茬粡鎺ユ敹鍒扮綉鍏崇殑鍙嶉 + this.dicDeviceRowControl[mainKeys].SetHadGetResponeResultStatu(); + } this.dicDeviceRowControl[mainKeys].RefreshControlInfo(locadevice); } }, ShowErrorMode.NO); @@ -780,7 +886,18 @@ private Dictionary<int, DeviceRowInfo> GetAllGroupDevice(Common.Room room) { //鍏ㄩ儴鐨勮澶� - var listDevice = HdlRoomLogic.Current.GetRoomListDevice(room); + var listDeviceTemp = HdlRoomLogic.Current.GetRoomListDevice(room); + var listDevice = new List<CommonDevice>(); + foreach (var device in listDeviceTemp) + { + //鍒ゆ柇璇ヨ澶囪兘鍚︽樉绀哄湪鍒嗙被 + if (LocalDevice.Current.CanShowInHomeHomeMainPage(device) == false) + { + continue; + } + listDevice.Add(device); + } + //鏍规嵁璁惧鎵�灞炵被鍨嬫帓搴� listDevice = LocalDevice.Current.SortDeviceByBelongType(listDevice); var dic = new Dictionary<int, DeviceRowInfo>(); @@ -852,37 +969,6 @@ return timeStr; } - /// <summary> - /// 娣诲姞鍦烘櫙(閮洩鍩庣殑浠g爜) - /// </summary> - private void Add_Scene() - { - var scene = new Device.Category.CategoryAddScene(); - UserView.HomePage.Instance.AddChidren(scene); - UserView.HomePage.Instance.PageIndex += 1; - scene.Show(); - scene.AddAction = () => - { - //鍒锋柊bodyView - this.RefreshBodyView(); - }; - } - - /// <summary> - /// 娣诲姞鑷姩鍖�(閮洩鍩庣殑浠g爜) - /// </summary> - private void Add_Automation() - { - //new涓�涓柊閫昏緫瀵硅薄锛� - Common.Logic.CurrentLogic = new Common.Logic(); - Common.Logic.CurrentLogic.IsEnable = 1;//榛樿涓哄紑 - Common.Logic.CurrentLogic.LogicName = Language.StringByID(MyInternationalizationString.automation1); - var addLogicPage = new Shared.Phone.Device.Logic.AddLogicPage(); - UserView.HomePage.Instance.AddChidren(addLogicPage); - UserView.HomePage.Instance.PageIndex += 1; - addLogicPage.Show(); - } - #endregion #region 鈻� 缁撴瀯浣揰____________________________ @@ -919,551 +1005,7 @@ /// </summary> private void ShowAutotion() { - // functionSceneAutoBodyView.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; - #region ---鎺ㄨ崘妯℃澘鐨勭粍浠� - //鎺ㄨ崘妯℃澘鑳屾櫙鎺т欢 - var bjFrameLayout = new FrameLayout - { - Width = Application.GetRealWidth(1080 - 58), - Height = Application.GetRealHeight(170), - BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, - X = Application.GetRealWidth(58), - //Radius = (uint)Application.GetRealHeight(50), - Y = Application.GetRealHeight(30), - - }; - functionSceneAutoBodyView.AddChidren(bjFrameLayout); - bjFrameLayout.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerBottomLeft); - //鍥炬爣鎺т欢 - var sigBtn = new Button - { - Width = Application.GetMinRealAverage(84), - Height = Application.GetMinRealAverage(84), - UnSelectedImagePath = "ZigeeLogic/sign.png", - X = Application.GetRealWidth(58), - Gravity = Gravity.CenterVertical, - }; - bjFrameLayout.AddChidren(sigBtn); - //鎺ㄨ崘妯℃澘鏂囨湰鎺т欢 - var recommendtextBtn = new Button - { - Width = Application.GetMinRealAverage(300), - Height = Application.GetMinRealAverage(84), - X = sigBtn.Right + Application.GetRealWidth(35), - TextAlignment = TextAlignment.CenterLeft, - //Text = "鎺ㄨ崘妯℃澘", - TextID = MyInternationalizationString.logictemplate, - Gravity = Gravity.CenterVertical, - TextColor = ZigbeeColor.Current.LogicBtnSelectedColor, - TextSize = 15, - }; - bjFrameLayout.AddChidren(recommendtextBtn); - //鎺ㄨ崘妯℃澘寮�鍏虫帶浠� - var recommendswitchBtn = new Button - { - Width = Application.GetRealWidth(104), - Height = Application.GetRealHeight(63), - UnSelectedImagePath = "ZigeeLogic/logicclose.png", - SelectedImagePath = "ZigeeLogic/logicopen.png", - X = bjFrameLayout.Width - Application.GetRealWidth(104 + 58), - Gravity = Gravity.CenterVertical, - }; - bjFrameLayout.AddChidren(recommendswitchBtn); - #endregion - //榛樿鎺ㄨ崘妯℃澘宸﹀彸鍙粦鎺т欢 - var scenehorizontalScrol = new HorizontalScrolViewLayout - { - Width = Application.GetRealWidth(1080 - 58), - X = Application.GetRealWidth(58), - Y = bjFrameLayout.Bottom + Application.GetRealHeight(30), - Height = Application.GetRealHeight(0), - }; - functionSceneAutoBodyView.AddChidren(scenehorizontalScrol); - //鏄剧ず鑷姩鍖栧垪琛ㄤ笂涓嬪彲婊戞帶浠� - var logicScrolView = new VerticalRefreshLayout//VerticalScrolViewLayout - { - Height = functionSceneAutoBodyView.Height - bjFrameLayout.Height - bjFrameLayout.Y - scenehorizontalScrol.Height - Application.GetRealHeight(30), - //BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor,/ - X = Application.GetRealWidth(58), - Y = scenehorizontalScrol.Bottom, - }; - functionSceneAutoBodyView.AddChidren(logicScrolView); - logicScrolView.SetCornerWithSameRadius(Application.GetRealHeight(58), HDLUtils.RectCornerTopLeft); - bool no = false; - //鏄剧ず榛樿妯℃澘鐨勭晫闈簨浠� - recommendswitchBtn.MouseUpEventHandler += (sender, e) => - { - int Yheight = 0; - recommendswitchBtn.IsSelected = !recommendswitchBtn.IsSelected; - scenehorizontalScrol.RemoveAll(); - if (recommendswitchBtn.IsSelected) - { - no = true; - scenehorizontalScrol.Height = Application.GetRealHeight(246); - Yheight = 20; - for (int i = 1; i < 4; i++) - { - - var frameLayout = new FrameLayout - { - Width = Application.GetMinRealAverage(369 + 46), - Height = Application.GetMinRealAverage(246), - }; - scenehorizontalScrol.AddChidren(frameLayout); - var logiciocnBtn = new Button - { - Width = Application.GetMinRealAverage(369), - Height = Application.GetMinRealAverage(246), - UnSelectedImagePath = "ZigeeLogic/" + i + ".png", - Tag = i, - }; - frameLayout.AddChidren(logiciocnBtn); - - var logicnameBtn = new Button - { - Width = Application.GetMinRealAverage(250), - Height = Application.GetMinRealAverage(80), - X = Application.GetRealWidth(23), - Y = Application.GetRealHeight(246 - 23 - 80), - TextAlignment = TextAlignment.CenterLeft, - TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, - TextSize = 14, - }; - frameLayout.AddChidren(logicnameBtn); - - if (i == 1) - { - logicnameBtn.Text = Language.StringByID(MyInternationalizationString.onlight); - } - else if (i == 2) - { - logicnameBtn.Text = Language.StringByID(MyInternationalizationString.offlight); - } - else if (i == 3) - { - logicnameBtn.Text = Language.StringByID(MyInternationalizationString.automation1); - } - - - EventHandler<MouseEventArgs> iconclick = (sender1, e1) => - { - Common.Logic.CurrentLogic = new Common.Logic(); - Common.Logic.CurrentLogic.IsEnable = 1;//榛樿涓哄紑 - if (logiciocnBtn.Tag.ToString() == "3") - { - Common.Logic.CurrentLogic.LogicName = logicnameBtn.Text; - //Common.Logic.CurrentLogic.LogicCustomPushText = Common.Logic.CurrentLogic.LogicName + Language.StringByID(MyInternationalizationString.defaulttext); - var addLogicPage = new Device.Logic.AddLogicPage(); - HomePage.Instance.AddChidren(addLogicPage); - HomePage.Instance.PageIndex += 1; - addLogicPage.Show(); - } - else - { - - Common.Logic.CurrentLogic.LogicName = logicnameBtn.Text; - //Common.Logic.CurrentLogic.LogicCustomPushText = Common.Logic.CurrentLogic.LogicName + Language.StringByID(MyInternationalizationString.defaulttext); - Device.Logic.TemplatePage templatePage = new Device.Logic.TemplatePage(); - Device.Logic.TemplatePage.s = logiciocnBtn.Tag.ToString(); - HomePage.Instance.AddChidren(templatePage); - HomePage.Instance.PageIndex += 1; - templatePage.Show(); - } - }; - logiciocnBtn.MouseUpEventHandler += iconclick; - logicnameBtn.MouseUpEventHandler += iconclick; - } - } - else - { - no = false; - scenehorizontalScrol.Height = Application.GetRealHeight(0); - Yheight = 0; - } - logicScrolView.Y = scenehorizontalScrol.Bottom + Yheight; - logicScrolView.Height = functionSceneAutoBodyView.Height - bjFrameLayout.Height - bjFrameLayout.Y - scenehorizontalScrol.Height - Application.GetRealHeight(30) - Yheight; - Automationview(logicScrolView, no); - }; - //涓嬫媺鍒锋柊鑷姩鍖栧垪琛ㄧ殑浜嬩欢 - logicScrolView.BeginHeaderRefreshingAction += () => - { - //閲嶆柊鍒锋柊logic鍒楄〃 - Common.Logic.LogicList.Clear(); - Read(logicScrolView, no); - //鍏抽棴鍒锋柊View锛� - logicScrolView.EndHeaderRefreshing(); - }; - - Read(logicScrolView, no); - - } - /// <summary> - /// 璇诲彇鑷姩鍖栧垪琛ㄦ暟鎹紱 - /// </summary> - /// <param name="logicScrolView"></param> - private async void Read(VerticalRefreshLayout logicScrolView, bool no) - { - CommonPage.Loading.Start(); - if (Common.Logic.LogicList.Count == 0) - { - var Idlist = await Device.Logic.Send.GetLogicId(0); - if (Idlist.Count != 0) - { - var listlogic = await Device.Logic.Send.ReadList(Idlist.Count, 0); - //foreach鍙兘闆嗗悎宸茶淇敼,鏋氫妇鎿嶄綔鍙兘涓嶄細鎵ц,鍙兘鍑虹幇宕╂簝(寤鸿for)銆� - for (int j = 0; j < listlogic.Count; j++) - { - var logic = listlogic[j]; - if (logic.LogicType != 0) - { - continue; - } - Common.Logic.LogicList.Add(logic); - } - } - } - //鑷姩鍖� - Automationview(logicScrolView, no); - CommonPage.Loading.Hide(); - } - /// <summary> - /// 鍔犺浇鑷姩鍖栧垪琛ㄧ晫闈� - /// </summary> - /// <param name="refresview">Refresview.</param> - private async void Automationview(VerticalRefreshLayout refresview, bool no) - { - refresview.RemoveAll(); - if (Common.Logic.LogicList.Count == 0 && no == false) - { - //灏辨槸涓轰簡鏄剧ず寮曞娣诲姞鍥炬爣; - refresview.BackgroundColor = 0x00000000; - var noFrameLayout = new FrameLayout - { - Height = Application.GetRealHeight(434 + 200 + 32 + 160), - //BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, - }; - refresview.AddChidren(noFrameLayout); - - - var noIconBtn = new Button - { - Y = Application.GetRealHeight(160), - Width = Application.GetMinRealAverage(756), - Height = Application.GetMinRealAverage(434), - UnSelectedImagePath = "Item/NoFunction.png", - X = Application.GetRealWidth(104), - }; - noFrameLayout.AddChidren(noIconBtn); - - var noTextBtn = new Button() - { - Y = noIconBtn.Bottom, - Height = Application.GetRealHeight(200) + Application.GetRealHeight(32), - Width = Application.GetRealWidth(700), - //Gravity = Gravity.CenterHorizontal, - Text = Language.StringByID(MyInternationalizationString.automationaddtext).Replace("{\\r\\n}", "\r\n"), - TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor, - TextAlignment = TextAlignment.Center, - IsMoreLines = true, - X = Application.GetRealWidth(190 - 58), - }; - noFrameLayout.AddChidren(noTextBtn); - - } - else - { - - if (Common.Logic.LogicList.Count == 0 && no == true) - { - ///鏀瑰彉婊戝姩view鐨勯鑹诧紱 - refresview.BackgroundColor = 0x00000000; - } - else - { - refresview.BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor; - } - } - foreach (var logic in Common.Logic.LogicList) - { - - - var logicRowlayout = new RowLayout - { - Height = Application.GetRealHeight(190 + 30), - Width = Application.GetRealWidth(1080 - 58), - LineColor = ZigbeeColor.Current.LogicBackgroundColor, - BackgroundColor = ZigbeeColor.Current.LogicBackgroundColor, - SubViewWidth = Application.GetRealWidth(184),//鏀瑰彉缂栬緫鎺т欢瀹藉害澶氬皯锛� - - }; - refresview.AddChidren(logicRowlayout); - - - - var logicnameBtn = new Button - { - Height = Application.GetRealHeight(58), - Width = Application.GetRealWidth(350), - Text = logic.LogicName, - X = Application.GetRealWidth(12 + 46), - Y = Application.GetRealHeight(30), - TextAlignment = TextAlignment.CenterLeft, - TextColor = ZigbeeColor.Current.LogicTextBlackColor, - TextSize = 14, - }; - logicRowlayout.AddChidren(logicnameBtn); - - - var logicswitchBtn = new Button - { - Width = Application.GetRealWidth(104), - Height = Application.GetRealHeight(63), - UnSelectedImagePath = "ZigeeLogic/logicclose.png", - SelectedImagePath = "ZigeeLogic/logicopen.png", - X = logicRowlayout.Width - Application.GetRealWidth(104 + 58), - Y = Application.GetRealHeight(58 + 30 + 9 + 30), - - }; - logicRowlayout.AddChidren(logicswitchBtn); - - - - logicswitchBtn.MouseUpEventHandler += (sender1, e1) => - { - logicswitchBtn.IsSelected = !logicswitchBtn.IsSelected; - if (logicswitchBtn.IsSelected) - { - //閫昏緫寮� - logic.IsEnable = 1; - StatusColor(logic, logicRowlayout, 1); - } - else - { - //閫昏緫鍏� - logic.IsEnable = 0; - StatusColor(logic, logicRowlayout, 0); - } - Device.Logic.Send.LogicControlSwitch(logic); - //Logic.Send.AddModifyLogic(logic); - }; - if (logic.IsEnable == 1) - { - logicswitchBtn.IsSelected = true; - StatusColor(logic, logicRowlayout, 1); - } - else if (logic.IsEnable == 0) - { - logicswitchBtn.IsSelected = false; - StatusColor(logic, logicRowlayout, 0); - } - ///缂栬緫 - var edit = new Button - { - BackgroundColor = ZigbeeColor.Current.LogicEditBlackColor1, - Text = Language.StringByID(MyInternationalizationString.edit), - TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, - }; - logicRowlayout.AddRightView(edit); - edit.MouseUpEventHandler += (sender, e) => - { - Common.Logic.CurrentLogic = logic; - var logicCommunalPage = new Device.Logic.LogicCommunalPage(); - HomePage.Instance.AddChidren(logicCommunalPage); - HomePage.Instance.PageIndex += 1; - logicCommunalPage.Show(() => { logicnameBtn.Text = logic.LogicName; Automationview(refresview, no); }); - - }; - - - ///鍒犻櫎 - var del = new Button - { - BackgroundColor = ZigbeeColor.Current.LogicDelBlackColor1, - Text = Language.StringByID(MyInternationalizationString.del), - TextColor = ZigbeeColor.Current.LogicBtnSaveTextColor, - }; - logicRowlayout.AddRightView(del); - del.MouseUpEventHandler += (sender, e) => - { - var alert = new Alert(Language.StringByID(MyInternationalizationString.tip), Language.StringByID(MyInternationalizationString.doyouwanttodelete), - Language.StringByID(MyInternationalizationString.cancel), Language.StringByID(MyInternationalizationString.confrim)); - alert.ResultEventHandler += (sender1, e1) => - { - if (e1) - { - Common.Logic.LogicList.Remove(logic); - Automationview(refresview, no); - Device.Logic.Send.DelLogic(logic.LogicId); - } - }; - alert.Show(); - - }; - var line = new Button - { - Y = Application.GetRealHeight(215), - Height = Application.GetRealHeight(5), - Width = Application.GetRealWidth(1080 - 58), - BackgroundColor = ZigbeeColor.Current.LogicRowLayoutLineColor, - X = Application.GetRealWidth(58), - }; - logicRowlayout.AddChidren(line); - } - - } - /// <summary> - /// 鏄剧ず鑷姩鍖栬緭鍑哄姛鑳芥ā鍧楀浘鏍囩殑棰滆壊 - /// </summary> - /// <param name="logic"></param> - /// <param name="logicRowlayout"></param> - /// <param name="intvalue"></param> - private void StatusColor(Common.Logic logic, RowLayout logicRowlayout, int intvalue) - { - - var logictimeBtn = new Button - { - Height = Application.GetRealHeight(58), - Width = logicRowlayout.Width - Application.GetRealWidth(58 + 12 + 350), - Y = Application.GetRealHeight(30), - X = Application.GetRealWidth(365), - TextAlignment = TextAlignment.CenterRight, - TextColor = ZigbeeColor.Current.LogicListWeekTextColor, - }; - logicRowlayout.AddChidren(logictimeBtn); - - ///鏄剧ず鎵ц鍛ㄦ湡 - Device.Logic.Method.UpdateWeek(logictimeBtn, logic); - - - List<string> indexlist = new List<string>(); - List<string> iconIndexlist = new List<string>(); - for (int i = 0; i < logic.Actions.Count; i++) - { - var linkType = logic.Actions[i]["LinkType"].ToString(); - var d = indexlist.Find((value) => { return value == linkType; }); - if (d == null) - { - indexlist.Add(linkType); - } - } - if (indexlist.Contains("0")) - { - iconIndexlist.Add("0"); - } - if (indexlist.Contains("2")) - { - iconIndexlist.Add("2"); - } - if (indexlist.Contains("6")) - { - iconIndexlist.Add("6"); - } - if (indexlist.Contains("7")) - { - iconIndexlist.Add("7"); - } - for (int i = 0; i < iconIndexlist.Count; i++) - { - var iconindex = iconIndexlist[i]; - var typebjBtn = new FrameLayout - { - Width = Application.GetMinRealAverage(82), - Height = Application.GetMinRealAverage(82), - X = Application.GetRealWidth(58) + Application.GetRealWidth(12 + (12 + 82 + 45 + 12) * i), - Y = Application.GetRealHeight(58 + 30 + 30), - Radius = (uint)Application.GetRealHeight(41), - BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, - }; - logicRowlayout.AddChidren(typebjBtn); - - var typeIconBtn = new Button - { - Width = Application.GetMinRealAverage(58), - Height = Application.GetMinRealAverage(58), - Gravity = Gravity.Center, - - }; - typebjBtn.AddChidren(typeIconBtn); - - var connectIconBtn = new Button - { - Y = typebjBtn.Y + Application.GetRealHeight(35), - X = Application.GetRealWidth(58) + Application.GetRealWidth((12 + 82 + 12) + (12 + 45 + 82 + 12) * i), - Width = Application.GetRealWidth(48), - Height = Application.GetRealHeight(15), - UnSelectedImagePath = "ZigeeLogic/connect.png", - }; - logicRowlayout.AddChidren(connectIconBtn); - if (iconIndexlist.Count - 1 == i) - { - connectIconBtn.Visible = false; - } - switch (iconindex) - { - case "0": - { - if (intvalue == 1) - { - typeIconBtn.UnSelectedImagePath = "ZigeeLogic/function1.png"; - typebjBtn.BackgroundColor = ZigbeeColor.Current.LogicFunction1Color; - } - else - { - typeIconBtn.UnSelectedImagePath = "ZigeeLogic/nofunction.png"; - typebjBtn.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; - } - } - break; - case "2": - { - - if (intvalue == 1) - { - typeIconBtn.UnSelectedImagePath = "ZigeeLogic/scene1.png"; - typebjBtn.BackgroundColor = ZigbeeColor.Current.LogicScene1Color; - } - else - { - typeIconBtn.UnSelectedImagePath = "ZigeeLogic/noscene.png"; - typebjBtn.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; - } - - } - break; - case "6": - { - if (intvalue == 1) - { - typeIconBtn.UnSelectedImagePath = "ZigeeLogic/security1.png"; - typebjBtn.BackgroundColor = ZigbeeColor.Current.LogicSecurity1Color; - - } - else - { - typeIconBtn.UnSelectedImagePath = "ZigeeLogic/nosecurity.png"; - typebjBtn.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; - } - - } - break; - case "7": - { - if (intvalue == 1) - { - typeIconBtn.UnSelectedImagePath = "ZigeeLogic/delay1.png"; - typebjBtn.BackgroundColor = ZigbeeColor.Current.LogicDelay1Color; - } - else - { - typeIconBtn.UnSelectedImagePath = "ZigeeLogic/nodelay.png"; - typebjBtn.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; - } - - } - break; - - } - } + Shared.Phone.Device.Logic.SkipView.ShowAutotionView(functionSceneAutoBodyView); } #endregion -- Gitblit v1.8.0