From 25429f085093d89d543a0b90e30d0d62d1b7dac9 Mon Sep 17 00:00:00 2001 From: hxb <hxb@hdlchina.com.cn> Date: 星期二, 30 八月 2022 09:37:38 +0800 Subject: [PATCH] 合并了IOS的代码 --- ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs | 570 +++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 395 insertions(+), 175 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs index cd52804..891aeeb 100755 --- a/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs +++ b/ZigbeeApp/Shared/Phone/UserCenter/Device/DeviceFunctionSettionForm.cs @@ -15,7 +15,7 @@ /// <summary> /// 鍒楄〃鎺т欢 /// </summary> - private VerticalListControl listview = null; + private FrameListControl listview = null; /// <summary> /// 褰撳墠閫夋嫨鐨勮澶� /// </summary> @@ -27,7 +27,7 @@ /// <summary> /// 璁惧澶囨敞鐨勬帶浠� /// </summary> - private FrameCaptionInputControl btnDeviceName = null; + private FrameCaptionInputControl frameDeviceName = null; /// <summary> /// 璁惧鐨勬煇涓�鍥炶矾 /// </summary> @@ -41,9 +41,9 @@ /// </summary> private Dictionary<int, string> dicDeviceSaveName = new Dictionary<int, string>(); /// <summary> - /// 璁惧闇�瑕佷繚瀛樼殑璁惧鍔熻兘 + /// 淇℃伅缂栬緫鎺т欢 /// </summary> - private Dictionary<int, DeviceFunctionType> dicDeviceFuncType = new Dictionary<int, DeviceFunctionType>(); + private InformationEditorControl tableContr = null; #endregion @@ -77,27 +77,50 @@ //娓呯┖bodyFrame this.ClearBodyFrame(); + var listBackControl = new VerticalFrameControl(); + listBackControl.Height = bodyFrameLayout.Height; + bodyFrameLayout.AddChidren(listBackControl); + //鍒濆鍖栨甯� - var tableContr = new InformationEditorControl(); - this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 708, 1128); + this.tableContr = new InformationEditorControl(); + + if (this.deviceObj.Type == DeviceType.FreshAir || this.deviceObj.Type == DeviceType.PMSensor) + { + this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1028); + } + else if (this.deviceObj.Type == DeviceType.Airer) + { + //鏅捐。鏋惰澶囧彧瀛樺彇鍥炶矾1锛屽鏋滄槸鏅捐。鏋讹紝榛樿绔偣閮芥槸1锛� + this.deviceObj.DeviceEpoint = 1; + this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1342); + } + else if (this.deviceObj.Type == DeviceType.TemperatureSensor) + { + //绌烘皵璐ㄩ噺浼犳劅鍣� + //鑾峰彇璁惧绫诲瀷 + var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { this.deviceObj }); + //绌烘皵璐ㄩ噺浼犳劅鍣� + if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor) + { + this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1368); + } + } + if (this.listview == null) + { + this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1128); + } //鍒濆鍖栬澶囧洖璺浘鏍� - this.InitDeviceEpointIcon(); - - //鍒濆鍖栨甯冨畬鎴� - tableContr.FinishInitControl(bodyFrameLayout, this.listview); - tableContr = null; + this.InitDeviceEpointIcon(listBackControl); //淇濆瓨 var btnFinish = new BottomClickButton(); btnFinish.TextID = R.MyInternationalizationString.uSave; bodyFrameLayout.AddChidren(btnFinish); - btnFinish.ButtonClickEvent += async (sender, e) => + btnFinish.ButtonClickEvent += (sender, e) => { //璁板綍璧峰綋鍓嶆鍦ㄦ搷浣滅殑鍥炶矾鍚嶅瓧 - dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = btnDeviceName.Text.Trim(); - //寮�鍚繘搴︽潯 - this.ShowProgressBar(); + dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = frameDeviceName.Text.Trim(); foreach (var epoint in dicDeviceSaveName.Keys) { var device = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, epoint); @@ -111,47 +134,32 @@ if (oldName != newName) { //璁惧鍚嶇О淇敼 - var result = await Common.LocalDevice.Current.ReName(device, newName); + var result = Common.LocalDevice.Current.ReName(device, newName); if (result == false) { - //鍏抽棴 - this.CloseProgressBar(); return; } } } - foreach (var epoint in dicDeviceFuncType.Keys) - { - var device = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, 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(); + + //濡傛灉鏄櫨琛f灦銆屾椂闂村厛涓嶅鐞嗐�� + //if (deviceObj.Type == DeviceType.Airer) + //{ + // var airer = deviceObj as Airer; + // SetAirerFunTimeDevice(airer); + //} + //else + //{ //鍏抽棴鑷韩 this.CloseForm(); + //} + }; + //濡傛灉褰撳墠鏄睍绀烘ā鏉�,鍒欎笉鑳界紪杈� + if (Common.Config.Instance.Home.IsShowTemplate == true) + { + btnFinish.CanClick = false; + } } /// <summary> @@ -164,36 +172,42 @@ //鍥炶矾澶囨敞 string caption = Language.StringByID(R.MyInternationalizationString.uDeviceEpointNote); string nameValue = Common.LocalDevice.Current.GetDeviceEpointName(nowSelectDevice); + if (dicDeviceSaveName.ContainsKey(nowSelectDevice.DeviceEpoint) == true) { nameValue = dicDeviceSaveName[nowSelectDevice.DeviceEpoint]; } - this.btnDeviceName = new FrameCaptionInputControl(caption, nameValue, listview.rowSpace / 2); - listview.AddChidren(btnDeviceName); - btnDeviceName.InitControl(); - btnDeviceName.AddBottomLine(); - btnDeviceName.txtInput.FinishInputEvent += async () => + this.frameDeviceName = new FrameCaptionInputControl(caption, nameValue, listview.rowSpace / 2); + this.frameDeviceName.txtInput.MaxByte = 48;//闄愬埗鍙兘杈撳叆48涓瓧鑺� + listview.AddChidren(frameDeviceName); + frameDeviceName.InitControl(); + frameDeviceName.AddBottomLine(); + //濡傛灉褰撳墠鏄睍绀烘ā鏉�,鍒欓渶瑕佸鐞� + if (Common.Config.Instance.Home.IsShowTemplate == false) { - string oldName = Common.LocalDevice.Current.GetDeviceEpointName(nowSelectDevice); - if (btnDeviceName.Text.Trim() == string.Empty) + frameDeviceName.txtInput.FinishInputEvent += () => { - //灏嗗悕瀛楄繕鍘� - btnDeviceName.Text = oldName; - } - if (oldName != btnDeviceName.Text.Trim()) - { - //璁惧鍚嶇О淇敼 - var result = await Common.LocalDevice.Current.ReName(nowSelectDevice, btnDeviceName.Text.Trim()); - if (result == false) + string oldName = Common.LocalDevice.Current.GetDeviceEpointName(nowSelectDevice); + if (frameDeviceName.Text.Trim() == string.Empty) { - return; + //灏嗗悕瀛楄繕鍘� + frameDeviceName.Text = oldName; } - //鍥炶矾澶囨敞淇敼鎴愬姛! - string msg = Language.StringByID(R.MyInternationalizationString.uDeviceEpointReNoteSuccess); - this.ShowMassage(ShowMsgType.Tip, msg); - } - }; + if (oldName != frameDeviceName.Text.Trim()) + { + //璁惧鍚嶇О淇敼 + var result = Common.LocalDevice.Current.ReName(nowSelectDevice, frameDeviceName.Text.Trim()); + if (result == false) + { + return; + } + //鍥炶矾澶囨敞淇敼鎴愬姛! + string msg = Language.StringByID(R.MyInternationalizationString.uDeviceEpointReNoteSuccess); + this.ShowMassage(ShowMsgType.Tip, msg); + } + }; + } //鎵�灞炲尯鍩� var rowBeloneArea = new BelongAreaControl(listview.rowSpace / 2); @@ -204,11 +218,37 @@ rowBeloneArea.SelectRoomEvent += (roomKeys) => { //鍙樻洿鎴块棿 - Common.Room.CurrentRoom.ChangedRoom(nowSelectDevice, roomKeys); + HdlRoomLogic.Current.ChangedRoom(nowSelectDevice, roomKeys); }; + + if (this.deviceObj.Type == DeviceType.TemperatureSensor) + { + //鑾峰彇璁惧绫诲瀷 + var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { this.deviceObj }); + //绌烘皵璐ㄩ噺浼犳劅鍣� + if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor) + { + //璁惧绫诲瀷 + this.AddDeviceTypeRow(); + } + } //娣诲姞鍔熻兘绫诲瀷琛� this.AddFunctionTypeRow(); + + if (this.deviceObj.Type == DeviceType.Airer) + { + var airer = this.deviceObj as Airer; + //娣诲姞鐑樺共鏃堕棿琛� + this.AddAirerDryTimeRow(airer); + //娣诲姞椋庡共鏃堕棿琛� + this.AddAirerWindTimeRow(airer); + //娣诲姞娑堟瘨鏃堕棿琛� + this.AddAirerDisinfectTimeRow(airer); + } + + //鍒濆鍖栨甯冨畬鎴� + tableContr.FinishInitControl(); } #endregion @@ -220,6 +260,12 @@ /// </summary> private void InitTopRightMenu() { + //妫�娴嬫鍥炶矾鏄惁鎷ユ湁瀹氫綅鍔熻兘 + if (Common.LocalDevice.Current.DeviceIsCanFixedPosition(nowSelectDevice) == false + || Common.Config.Instance.Home.IsShowTemplate == true) + { + return; + } var btnIcon = new MostRightIconControl(69, 69); btnIcon.UnSelectedImagePath = "Item/More.png"; topFrameLayout.AddChidren(btnIcon); @@ -240,11 +286,11 @@ string deviceMenu = string.Empty; //妫�娴嬫鍥炶矾鏄惁鎷ユ湁瀹氫綅鍔熻兘 bool canTest = Common.LocalDevice.Current.DeviceIsCanFixedPosition(nowSelectDevice); - if (canTest == true) - { - menuCount = 2; - } - var frame = new TopRightMenuControl(menuCount); + //if (canTest == true) + //{ + // menuCount = 2; + //} + var frame = new TopRightMenuControl(menuCount, 1); if (canTest == true) { //瀹氫綅 @@ -257,10 +303,10 @@ } //鍒犻櫎 - deviceMenu = Language.StringByID(R.MyInternationalizationString.uDelete); - frame.AddRowMenu(deviceMenu, "Item/DeleteIcon2.png", "Item/DeleteIcon2Selected.png", () => - { - }); + //deviceMenu = Language.StringByID(R.MyInternationalizationString.uDelete); + //frame.AddRowMenu(deviceMenu, "Item/DeleteIcon2.png", "Item/DeleteIcon2Selected.png", () => + //{ + //}); } #endregion @@ -272,85 +318,182 @@ /// </summary> private void AddFunctionTypeRow() { - //濡傛灉鏄户鐢靛櫒鍜岃皟鍏夊櫒鐨勮瘽 - if (nowSelectDevice.Type == DeviceType.OnOffOutput || nowSelectDevice.Type == DeviceType.DimmableLight - || nowSelectDevice.Type == DeviceType.ColorDimmableLight) + //鑷畾涔夊姛鑳界被鍨嬫帶浠� + var rowFunction = new DeviceFunctionTypeRowControl(nowSelectDevice, listview.rowSpace / 2); + if (rowFunction.CanShowRow == false) { - //鍔熻兘绫诲瀷 - 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 (DfunctionType == DeviceFunctionType.A鐏厜) - { - strType = Language.StringByID(R.MyInternationalizationString.uLight); - nowSelectNo = 1; - } - else if (DfunctionType == DeviceFunctionType.A寮�鍏�) - { - strType = Language.StringByID(R.MyInternationalizationString.uSwitch); - nowSelectNo = 0; - } - else if (DfunctionType == DeviceFunctionType.A鎻掑骇) - { - strType = Language.StringByID(R.MyInternationalizationString.uSocket1); - nowSelectNo = 2; - } - - var btnFunction = new FrameCaptionViewControl(caption, strType, listview.rowSpace / 2); - btnFunction.UseClickStatu = false; - listview.AddChidren(btnFunction); - btnFunction.InitControl(); - //搴曠嚎 - btnFunction.AddBottomLine(); - - //濡傛灉鏄户鐢靛櫒鎵嶈兘澶熸洿鏀硅繖涓姛鑳界被鍨� - if (nowSelectDevice.Type == DeviceType.OnOffOutput) - { - btnFunction.UseClickStatu = true; - //鍙崇澶� - btnFunction.AddRightArrow(); - btnFunction.ButtonClickEvent += (sender, e) => - { - //鏄剧ず鍒楄〃 - var listText = new List<string>(); - listText.Add(Language.StringByID(R.MyInternationalizationString.uSwitch));//寮�鍏� - listText.Add(Language.StringByID(R.MyInternationalizationString.uLight));//鐏厜 - listText.Add(Language.StringByID(R.MyInternationalizationString.uSocket1));//鎻掑骇 - //鏍囬:閫夋嫨鍔熻兘绫诲瀷 - var title = Language.StringByID(R.MyInternationalizationString.uSelectFunctionType); - - var form = new BottomItemSelectForm(); - form.AddForm(title, listText, nowSelectNo); - form.FinishSelectEvent += (selectNo) => - { - btnFunction.Text = listText[selectNo]; - nowSelectNo = selectNo; - //璁板綍璧峰綋鍓嶉�夋嫨鐨勫姛鑳界被鍨� - if (selectNo == 0) - { - dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A寮�鍏�; - } - else if (selectNo == 1) - { - dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A鐏厜; - } - else - { - dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A鎻掑骇; - } - }; - }; - } + return; } + listview.AddChidren(rowFunction); + rowFunction.InitControl(); + //搴曠嚎 + rowFunction.AddBottomLine(); + } + #endregion + + #region 鈻� 璁惧绫诲瀷___________________________ + + /// <summary> + /// 娣诲姞鍔熻兘绫诲瀷琛� + /// </summary> + private void AddDeviceTypeRow() + { + var caption = Language.StringByID(R.MyInternationalizationString.uDeviceType); + var listNewDevice = new List<CommonDevice>(); + listNewDevice.Add(deviceObj); + var deviceName = Common.LocalDevice.Current.GetDeviceObjectText(listNewDevice); + var btnType = new FrameCaptionViewControl(caption, deviceName, listview.rowSpace / 2); + btnType.UseClickStatu = false; + listview.AddChidren(btnType); + btnType.InitControl(); + //鍒掔嚎 + btnType.AddBottomLine(); + } + #endregion + + #region 鈻� 鏅捐。鏋朵笓鐢╛________________________ + #region 鈻� 鐑樺共鏃堕棿_________________________ + /// <summary> + /// 鐑樺共鏃堕棿琛� + /// </summary> + private void AddAirerDryTimeRow(Airer airer) + { + var rowAirer = new AiererTimeControl(listview.rowSpace / 2); + listview.AddChidren(rowAirer); + var text = Language.StringByID(R.MyInternationalizationString.AirerDefault) + 3 + Language.StringByID(R.MyInternationalizationString.AirerHour); + if (airer.DryTime != 0) + { + double result = airer.DryTime / 60.0; + var hour = Math.Round(result, 2); + text = hour + Language.StringByID(R.MyInternationalizationString.AirerHour); + } + rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerDryTime), text, 1); + //搴曠嚎 + rowAirer.AddBottomLine(); + rowAirer.SelectTimeEvent += (v1, v2) => + { + //double result = second / 3600.0; + //var hour = Math.Round(result, 1); + //text = hour + Language.StringByID(R.MyInternationalizationString.AirerHour); + //rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerDryTime), text, 1); + }; + + } + #endregion + + #region 鈻� 椋庡共鏃堕棿_________________________ + /// <summary> + /// 椋庡共鏃堕棿琛� + /// </summary> + private void AddAirerWindTimeRow(Airer airer) + { + var rowAirer = new AiererTimeControl(listview.rowSpace / 2); + listview.AddChidren(rowAirer); + var text = Language.StringByID(R.MyInternationalizationString.AirerDefault) + 3 + Language.StringByID(R.MyInternationalizationString.AirerHour); + if (airer.WindTime != 0) + { + double result = airer.WindTime / 60.0; + var hour = Math.Round(result, 1); + text = hour + Language.StringByID(R.MyInternationalizationString.AirerHour); + } + rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerWindTime), text, 2); + //搴曠嚎 + rowAirer.AddBottomLine(); + rowAirer.SelectTimeEvent += (v1, v2) => + { + //double result = second / 3600.0; + //var hour = Math.Round(result, 1); + //text = hour + Language.StringByID(R.MyInternationalizationString.AirerHour); + //rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerDryTime), text, 1); + }; + } + #endregion + + #region 鈻� 娑堟瘨鏃堕棿_________________________ + /// <summary> + /// 娑堟瘨鏃堕棿琛� + /// </summary> + private void AddAirerDisinfectTimeRow(Airer airer) + { + var rowAirer = new AiererTimeControl(listview.rowSpace / 2); + listview.AddChidren(rowAirer); + var text = Language.StringByID(R.MyInternationalizationString.AirerDefault) + 30 + Language.StringByID(R.MyInternationalizationString.AirerMin); + if (airer.DisinfectTime != 0) + { + text = airer.DisinfectTime + Language.StringByID(R.MyInternationalizationString.AirerMin); + } + rowAirer.InitControl(airer, bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.AirerDisinfectTime), text, 3); + //搴曠嚎 + rowAirer.AddBottomLine(); + rowAirer.SelectTimeEvent += (v1, v2) => + { + + }; + } + #endregion + + #region 鈻� 璇诲彇鏃堕棿鍛戒护___________________ + + /// <summary> + /// 璇诲彇鏃堕棿鍛戒护 + /// </summary> + public void ReadAirerFunTimeDevice() + { + } + #endregion + + /// <summary> + /// 璁惧鏃堕棿璁剧疆 + /// </summary> + private void SetAirerFunTimeDevice(Airer airer) + { + HdlThreadLogic.Current.RunThread(async () => + { + //鎵撳紑杩涘害鏉� + this.ShowProgressBar(); + + //鍒欒璁剧疆瀵瑰簲鐨勫姛鑳芥椂闂� + List<CommonDevice> listdevice = new List<CommonDevice>(); + + for (int i = 3; i < 6; i++) + { + int time = 0; + listdevice.Add(deviceObj); + switch (i) + { + case 3: + time = airer.WindTime; + break; + case 4: + time = airer.DryTime; + break; + case 5: + time = airer.DisinfectTime; + break; + } + bool result = await Common.LocalDevice.Current.SetAirerTimeDevice(listdevice, airer, time, i); + if (result == false) + { + airer.WindTime = airer.WindRemainTime = 0; + airer.DryTime = airer.DryRemainTime = 0; + airer.DisinfectTime = airer.DisinfectTime = 0; + HdlThreadLogic.Current.RunMainInThread(() => + { + this.InitMiddleFrame(); + }); + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + return; + } + } + //鍏抽棴杩涘害鏉� + this.CloseProgressBar(); + //鍏抽棴鑷韩 + this.CloseForm(); + }); + } #endregion #region 鈻� 鍒濆鍖栬澶囧洖璺浘鏍嘷________________ @@ -358,7 +501,7 @@ /// <summary> /// 鍒濆鍖栬澶囧洖璺浘鏍� /// </summary> - private void InitDeviceEpointIcon() + private void InitDeviceEpointIcon(VerticalFrameControl listBackControl) { //鑾峰彇鎸夌粍鍒嗛厤鐨勮澶� var listIcon = this.GetAllDeviceGroup(); @@ -366,11 +509,10 @@ var frameBorder = new FrameLayout(); frameBorder.Y = Application.GetRealHeight(147); frameBorder.Gravity = Gravity.CenterHorizontal; - frameBorder.Width = Application.GetMinRealAverage(887); - frameBorder.Height = Application.GetMinRealAverage(423); - frameBorder.BorderWidth = 3; - frameBorder.BorderColor = 0xffd0d0d0; - bodyFrameLayout.AddChidren(frameBorder); + frameBorder.Width = this.GetPictrueRealSize(887); + frameBorder.Height = Application.GetRealHeight(423); + frameBorder.Radius = (uint)Application.GetRealHeight(6); + listBackControl.frameTable.AddChidren(frameBorder); var frameBack = new FrameLayout(); frameBack.Height = frameBorder.Height; @@ -395,7 +537,7 @@ { var frame = new FrameLayout(); frame.Width = frameBorder.Width; - frame.Height = Application.GetMinRealAverage(124); + frame.Height = this.GetPictrueRealSize(124); frameBack.AddChidren(frame); //鍒濆鍖栦竴琛岃澶囧浘鏍� this.InitDeviceIconFrame(frame, listIcon[i], ref index); @@ -403,23 +545,86 @@ if (listIcon.Count == 1) { frame.Gravity = Gravity.CenterVertical; + + //濡傛灉鏄柊椋� + if (deviceObj.Type == DeviceType.FreshAir) + { + frame.RemoveFromParent(); + frameBorder.Y = Application.GetRealHeight(0); + frameBorder.Height = Application.GetRealHeight(709); + frameBack.BackgroundImagePath = "FreshAir/FreshAirRealDevicePic.png"; + frameBack.Width = this.GetPictrueRealSize(878); + frameBack.Height = this.GetPictrueRealSize(354); + frameBack.Y = Application.GetRealHeight(153); + frameBack.Gravity = Gravity.Center; + } + + //濡傛灉鏄疨M2.5 + if (deviceObj.Type == DeviceType.PMSensor) + { + frame.RemoveFromParent(); + frameBorder.Y = Application.GetRealHeight(0); + frameBorder.Height = Application.GetRealHeight(708); + frameBack.BackgroundImagePath = "RealDevice/SensorPMTwoPointFive.png"; + frameBack.Width = this.GetPictrueRealSize(418); + frameBack.Height = this.GetPictrueRealSize(403); + frameBack.Y = Application.GetRealHeight(153); + frameBack.Gravity = Gravity.Center; + } + + //濡傛灉鏄櫨琛f灦 + if (deviceObj.Type == DeviceType.Airer) + { + frame.RemoveFromParent(); + frameBorder.Y = Application.GetRealHeight(0); + frameBorder.Height = Application.GetRealHeight(299); + frameBack.BackgroundImagePath = "Airer/Airer216.png"; + frameBack.Width = this.GetPictrueRealSize(207); + frameBack.Height = this.GetPictrueRealSize(207); + frameBack.Y = Application.GetRealHeight(92); + frameBack.Gravity = Gravity.CenterHorizontal; + } + + //濡傛灉鏄┖姘旇川閲忎紶鎰熷櫒 + if (this.deviceObj.Type == DeviceType.TemperatureSensor) + {//绌烘皵璐ㄩ噺浼犳劅鍣� + //鑾峰彇璁惧绫诲瀷 + var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(new List<CommonDevice>() { this.deviceObj }); + //绌烘皵璐ㄩ噺浼犳劅鍣� + if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.AirQualitySensor) + { + frame.RemoveFromParent(); + frameBorder.Y = Application.GetRealHeight(0); + frameBorder.Height = Application.GetRealHeight(299); + //鍔犺浇鍥炬爣鎺т欢 + var btnPic = new DeviceInfoIconControl(); + btnPic.Y = Application.GetRealHeight(104); + btnPic.Gravity = Gravity.CenterHorizontal; + listBackControl.frameTable.AddChidren(btnPic); + btnPic.InitControl(deviceObj); + } + } } else { - frame.Y = Application.GetMinRealAverage(58) + (frameBack.ChildrenCount - 1) * (frame.Height + Application.GetMinRealAverage(60)); + frame.Y = this.GetPictrueRealSize(58) + (frameBack.ChildrenCount - 1) * (frame.Height + this.GetPictrueRealSize(60)); } } - if (listIcon.Count > 2) + //濡傛灉鏄櫨琛f灦,鏈�5涓洖璺紝浣嗘槸5涓洖璺彧鏄唬琛ㄤ笉鍚屽姛鑳戒娇鐢紝涓嶆槸鐪熷疄鐨勫搴旇澶囷紝鎵�浠ラ粯璁ゅ彧鏄剧ず绗竴鍥炶矾 + if (deviceObj.Type != DeviceType.Airer) { - //璁$畻鐪熷疄楂樺害 - int realHeight = Application.GetMinRealAverage(58 + 58);//涓婁笅闂磋窛 - realHeight += frameBack.ChildrenCount * Application.GetMinRealAverage(124);//鍦嗗湀楂樺害 - realHeight += (frameBack.ChildrenCount-1) * Application.GetMinRealAverage(60);//鍦嗗湀闂磋窛 - if (realHeight > frameBack.Height) + if (listIcon.Count > 2) { - //鍙樻洿楂樺害 - frameBack.Height = realHeight; + //璁$畻鐪熷疄楂樺害 + int realHeight = this.GetPictrueRealSize(58 + 58);//涓婁笅闂磋窛 + realHeight += frameBack.ChildrenCount * this.GetPictrueRealSize(124);//鍦嗗湀楂樺害 + realHeight += (frameBack.ChildrenCount - 1) * this.GetPictrueRealSize(60);//鍦嗗湀闂磋窛 + if (realHeight > frameBack.Height) + { + //鍙樻洿楂樺害 + frameBack.Height = realHeight; + } } } } @@ -435,7 +640,7 @@ { NormalViewControl btnTemp = null; //闂磋窛 - int space = Application.GetMinRealAverage(84); + int space = this.GetPictrueRealSize(84); int defultXX = (frame.Width - frame.Height * listDevice.Count - (listDevice.Count - 1) * space) / 2; for (int i = 0; i < listDevice.Count; i++) { @@ -444,7 +649,7 @@ btnIcon.Name = "btn" + listDevice[i].DeviceEpoint; btnIcon.X = defultXX + i * (frame.Height + space); btnIcon.Radius = (uint)frame.Height / 2; - btnIcon.BorderWidth = (uint)Application.GetMinRealAverage(6); + btnIcon.BorderWidth = 2; btnIcon.BorderColor = 0xff979797; btnIcon.TextAlignment = TextAlignment.Center; btnIcon.TextColor = UserCenterColor.Current.TextGrayColor3; @@ -487,6 +692,18 @@ //鍙鍚屼竴绉嶇被鍨嬬殑 continue; } + + //鑾峰彇璁惧灞炰簬銆愮畝绾﹀鍔熻兘闈㈡澘銆� + var deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice); + if (deviceEnumInfo.ConcreteType == Common.DeviceConcreteType.ButtonPanel_SimpleMultifunction) + { + if (device.Type == DeviceType.TemperatureSensor && device.DeviceEpoint == 1) + { + //绠�绾﹀鍔熻兘闈㈡澘绗�1鍥炶矾鏄竴涓粦瀹氭俯婀垮害浼犳劅鍣ㄧ绫诲瀷锛屼笉鏄湡鐨勬俯婀垮害鐨勪紶鎰熷櫒锛岄渶瑕佸睆钄芥帀 + continue; + } + } + listRelay.Add(device); if (device.DeviceEpoint == deviceObj.DeviceEpoint) { @@ -527,7 +744,6 @@ } return listIcon; } - #endregion #region 鈻� 鍥炶矾閫夋嫨___________________________ @@ -543,16 +759,20 @@ if (nowSelectControl != null) { //鍚屼竴涓笢瑗�,涓嶉笩浠� - if (nowSelectControl.Name == nowContr.Name) + if (this.deviceObj.Type != DeviceType.Airer) { - return; + if (nowSelectControl.Name == nowContr.Name) + { + return; + } } + //涓嶉�夋嫨鐘舵�� nowSelectControl.BorderColor = 0xff979797; nowSelectControl.TextSize = 13; nowSelectControl.TextColor = UserCenterColor.Current.TextGrayColor3; //璁板綍瀹冪殑鍚嶅瓧 - dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = btnDeviceName.Text.Trim(); + dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = frameDeviceName.Text.Trim(); } //閫夋嫨鐘舵�� nowContr.BorderColor = 0xfffb744a; -- Gitblit v1.8.0