From 528c105b3aea0e6e00477365f16f57c1e3d7eb1c Mon Sep 17 00:00:00 2001 From: WJC <wjc@hdlchina.com.cn> Date: 星期四, 24 十月 2019 15:31:28 +0800 Subject: [PATCH] 2019-10-24-3 --- ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs | 205 +++++++++++++++++++++----------------------------- 1 files changed, 86 insertions(+), 119 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs index 974b763..15b929a 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs @@ -36,6 +36,10 @@ /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍚嶅瓧 /// </summary> private Dictionary<int, string> dicDeviceSaveName = new Dictionary<int, string>(); + /// <summary> + /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍔熻兘 + /// </summary> + private Dictionary<int, DeviceFunctionType> dicDeviceFuncType = new Dictionary<int, DeviceFunctionType>(); #endregion @@ -44,44 +48,44 @@ /// <summary> /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓) /// </summary> - /// <param name="i_deviceMac">璁惧Mac鍦板潃</param> - public void ShowForm(string i_deviceMac) - { - this.deviceMac = i_deviceMac; - - //璁剧疆澶撮儴淇℃伅 - base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uFunctionSettingUp)); - - //鍒濆鍖栦腑閮ㄤ俊鎭� + /// <param name="i_deviceMac">璁惧Mac鍦板潃</param> + public void ShowForm(string i_deviceMac) + { + this.deviceMac = i_deviceMac; + + //璁剧疆澶撮儴淇℃伅 + base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uFunctionSettingUp)); + + //鍒濆鍖栦腑閮ㄤ俊鎭� this.InitMiddleFrame(); //鍒濆鍖栧彸涓婅鑿滃崟 - this.InitTopRightMenu(); - } - - /// <summary> - /// 鍒濆鍖栦腑閮ㄤ俊鎭� - /// </summary> - private void InitMiddleFrame() + this.InitTopRightMenu(); + } + + /// <summary> + /// 鍒濆鍖栦腑閮ㄤ俊鎭� + /// </summary> + private void InitMiddleFrame() { //娓呯┖bodyFrame - this.ClearBodyFrame(); - - //鍒濆鍖栨甯� - this.InitFrameTable(); + this.ClearBodyFrame(); + + //鍒濆鍖栨甯� + var tableContr = new InformationEditorControl(); + this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 708, 1128); + //鍒濆鍖栬澶囧洖璺浘鏍� this.InitDeviceEpointIcon(); + //鍒濆鍖栨甯冨畬鎴� + tableContr.FinishInitControl(bodyFrameLayout, this.listview); + tableContr = null; + //淇濆瓨 - var btnFinish = new BottomClickButton(); - //鍊熺敤Y杞村潗鏍�(璁╄繖涓尯鍩熶笉鑳界偣鍑昏彍鍗�) - var frameBack = new FrameLayout(); - frameBack.Y = btnFinish.Yaxis; - frameBack.Height = bodyFrameLayout.Height - btnFinish.Yaxis; - bodyFrameLayout.AddChidren(frameBack); - - btnFinish.TextID = R.MyInternationalizationString.uSave; - bodyFrameLayout.AddChidren(btnFinish); + var btnFinish = new BottomClickButton(); + btnFinish.TextID = R.MyInternationalizationString.uSave; + bodyFrameLayout.AddChidren(btnFinish); btnFinish.ButtonClickEvent += async (sender, e) => { //璁板綍璧峰綋鍓嶆鍦ㄦ搷浣滅殑鍥炶矾鍚嶅瓧 @@ -110,10 +114,38 @@ } } } + foreach (var epoint in dicDeviceFuncType.Keys) + { + var device = Common.LocalDevice.Current.GetDevice(deviceMac, epoint); + if (device == null) + { + continue; + } + //璁剧疆鍔熻兘绫诲瀷 + device.DfunctionType = dicDeviceFuncType[epoint]; + if (device.IsCustomizeImage == true) + { + continue; + } + //閲嶆柊璁剧疆鍥剧墖 + if (device.DfunctionType == DeviceFunctionType.A寮�鍏�) + { + device.IconPath = "Device/Switch.png"; + } + else if (device.DfunctionType == DeviceFunctionType.A鎻掑骇) + { + device.IconPath = "Device/Socket1.png"; + } + else if (device.DfunctionType == DeviceFunctionType.A鐏厜) + { + device.IconPath = "Device/Light.png"; + } + device.ReSave(); + } this.CloseProgressBar(); //鍏抽棴鑷韩 this.CloseForm(); - }; + }; } /// <summary> @@ -158,54 +190,28 @@ }; //鎵�灞炲尯鍩� - List<string> listRoomName = Common.Room.CurrentRoom.GetRoomListNameByDevice(nowSelectDevice); - caption = Language.StringByID(R.MyInternationalizationString.uBelongArea); - nameValue = Common.Room.CurrentRoom.GetRoomName(listRoomName); - var btnBeloneArea = new FrameCaptionViewControl(caption, nameValue, listview.rowSpace / 2); - listview.AddChidren(btnBeloneArea); - btnBeloneArea.InitControl(); + var rowBeloneArea = new BelongAreaControl(listview.rowSpace / 2); + listview.AddChidren(rowBeloneArea); + rowBeloneArea.InitControl(Language.StringByID(R.MyInternationalizationString.uBelongArea), nowSelectDevice); //搴曠嚎 - btnBeloneArea.AddBottomLine(); - //鍙崇澶� - btnBeloneArea.AddRightIconControl(); - btnBeloneArea.ButtonClickEvent += (sender, e) => + rowBeloneArea.AddBottomLine(); + rowBeloneArea.SelectRoomEvent += (roomKeys) => { - var form = new SelectRoomForm(); - form.AddForm(listRoomName); - form.ActionSelectRoom = (list) => - { - //鍙樻洿鎴块棿 - Common.Room.CurrentRoom.ChangedRoom(nowSelectDevice, list); - - btnBeloneArea.Text = Common.Room.CurrentRoom.GetRoomName(list); - listRoomName.Clear(); - listRoomName.AddRange(list); - }; + //鍙樻洿鎴块棿 + Common.Room.CurrentRoom.ChangedRoom(nowSelectDevice, roomKeys); }; //娣诲姞鍔熻兘绫诲瀷琛� this.AddFunctionTypeRow(); - - //鍊熺敤Y杞村潗鏍� - var btnTemp = new BottomClickButton(); - var realHeight = listview.GetChildren(0).Height * listview.ChildrenCount; - if (bodyFrameLayout.Height - btnTemp.Yaxis + realHeight > listview.Height) - { - //淇冧娇琚尅浣忕殑鑿滃崟鑳藉鍚戜笂婊戝姩 - var frameTemp = new FrameLayout(); - frameTemp.Height = bodyFrameLayout.Height - btnTemp.Yaxis + Application.GetRealHeight(115); - listview.AddChidren(frameTemp); - } - btnTemp = null; } #endregion - #region 鈻� 鍙充笂瑙掕彍鍗昣________________________ + #region 鈻� 鍙充笂瑙掕彍鍗昣________________________ /// <summary> /// 鍒濆鍖栧彸涓婅鑿滃崟 - /// </summary> + /// </summary> private void InitTopRightMenu() { var btnIcon = new MostRightIconControl(69, 69); @@ -221,7 +227,7 @@ /// <summary> /// 鏄剧ず鍙充笂瑙掕彍鍗曠晫闈� - /// </summary> + /// </summary> private void ShowTopRightMenu() { int menuCount = 1; @@ -266,32 +272,31 @@ { //鍔熻兘绫诲瀷 string caption = Language.StringByID(R.MyInternationalizationString.uFunctionType); + var DfunctionType = nowSelectDevice.DfunctionType; + if (this.dicDeviceFuncType.ContainsKey(nowSelectDevice.DeviceEpoint) == true) + { + DfunctionType = this.dicDeviceFuncType[nowSelectDevice.DeviceEpoint]; + } //鍔熻兘绫诲瀷鐨勭炕璇戝悕瀛� int nowSelectNo = 1; string strType = string.Empty; - if (nowSelectDevice.DfunctionType == DeviceFunctionType.A鐏厜) + if (DfunctionType == DeviceFunctionType.A鐏厜) { strType = Language.StringByID(R.MyInternationalizationString.uLight); nowSelectNo = 1; } - else if (nowSelectDevice.DfunctionType == DeviceFunctionType.A寮�鍏�) + else if (DfunctionType == DeviceFunctionType.A寮�鍏�) { strType = Language.StringByID(R.MyInternationalizationString.uSwitch); nowSelectNo = 0; } - else if (nowSelectDevice.DfunctionType == DeviceFunctionType.A鎻掑骇) + else if (DfunctionType == DeviceFunctionType.A鎻掑骇) { strType = Language.StringByID(R.MyInternationalizationString.uSocket1); nowSelectNo = 2; } - else - { - //榛樿鐏厜 - strType = Language.StringByID(R.MyInternationalizationString.uLight); - nowSelectDevice.DfunctionType = DeviceFunctionType.A鐏厜; - nowSelectDevice.ReSave(); - } + var btnFunction = new FrameCaptionViewControl(caption, strType, listview.rowSpace / 2); btnFunction.UseClickStatu = false; listview.AddChidren(btnFunction); @@ -304,7 +309,7 @@ { btnFunction.UseClickStatu = true; //鍙崇澶� - btnFunction.AddRightIconControl(); + btnFunction.AddRightArrow(); btnFunction.ButtonClickEvent += (sender, e) => { //鏄剧ず鍒楄〃 @@ -321,19 +326,19 @@ { btnFunction.Text = listText[selectNo]; nowSelectNo = selectNo; + //璁板綍璧峰綋鍓嶉�夋嫨鐨勫姛鑳界被鍨� if (selectNo == 0) { - nowSelectDevice.DfunctionType = DeviceFunctionType.A寮�鍏�; + dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A寮�鍏�; } else if (selectNo == 1) { - nowSelectDevice.DfunctionType = DeviceFunctionType.A鐏厜; + dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A鐏厜; } else { - nowSelectDevice.DfunctionType = DeviceFunctionType.A鎻掑骇; + dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A鎻掑骇; } - nowSelectDevice.ReSave(); }; }; } @@ -497,44 +502,6 @@ listIcon.Insert(0, listTemp); } return listIcon; - } - - #endregion - - #region 鈻� 鍒濆鍖栨甯僟________________________ - - /// <summary> - /// 鍒濆鍖栨甯� - /// </summary> - private void InitFrameTable() - { - //寮у害鐨勫渾鐨勪竴鍗婄殑楂樺害(鍥哄畾) - int halfRoundHeigth = Application.GetRealHeight(116) / 2; - //寮у害鐨勫渾 - var btnRound = new NormalViewControl(bodyFrameLayout.Width, halfRoundHeigth * 2, false); - btnRound.Y = Application.GetRealHeight(708); - btnRound.BackgroundColor = UserCenterColor.Current.White; - btnRound.Radius = (uint)halfRoundHeigth; - bodyFrameLayout.AddChidren(btnRound); - //鏄庣粏鍒楄〃鐨勬甯冿紝鐧借壊鑳屾櫙(瑕嗙洊寮у害鐨勫渾鐨勫崐杈�) - var detailBackFrame = new FrameLayout(); - detailBackFrame.Y = btnRound.Bottom - btnRound.Height / 2; - detailBackFrame.Height = Application.GetRealHeight(1128);//楂樺害灏辨槸瑕佸畠瓒呰繃 - detailBackFrame.BackgroundColor = UserCenterColor.Current.White; - bodyFrameLayout.AddChidren(detailBackFrame); - - //璁惧缂栬緫 - var btnTile = new NormalViewControl(800, 60, true); - btnTile.X = ControlCommonResourse.XXLeft; - btnTile.TextSize = 15; - btnTile.TextColor = UserCenterColor.Current.TextColor2; - btnTile.TextID = R.MyInternationalizationString.uDeviceEditor; - detailBackFrame.AddChidren(btnTile); - - this.listview = new VerticalListControl(12); - listview.Y = btnTile.Bottom + Application.GetRealHeight(17); - listview.Height = Application.GetRealHeight(1028) - halfRoundHeigth - btnTile.Bottom - Application.GetRealHeight(17); - detailBackFrame.AddChidren(listview); } #endregion -- Gitblit v1.8.0