From 66a9965c44ecc32a6696abca876ab9d1cd091584 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期五, 28 二月 2020 15:25:13 +0800 Subject: [PATCH] 2020.2.28 --- ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs | 610 ++++++++++++++++++++++++++---------------------------- 1 files changed, 292 insertions(+), 318 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs b/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs index a54a1bf..36efb69 100644 --- a/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs +++ b/ZigbeeApp/Shared/Phone/Device/AC/ACControl.cs @@ -13,7 +13,7 @@ /// <summary> /// The action. /// </summary> - public Action action; + public Action<DeviceUI, Common.Room> action; /// <summary> /// 鏀惰棌鎸夐挳 @@ -170,120 +170,102 @@ return; } deviceUI.CommonDevice.DeviceStatusReport = common.DeviceStatusReport; - var curTemp = (attriButeList[0].AttriButeData / 100 < ACControlBase.Temperature_High || attriButeList[0].AttriButeData / 100 > ACControlBase.Temperature_Low) ? attriButeList[0].AttriButeData / 100 : ACControlBase.Temperature_Default; - switch (attriButeList[0].AttributeId) + foreach(var attList in attriButeList) { - case 0: - ac.currentLocalTemperature = curTemp; - ac.LastDateTime = DateTime.Now; - indoorTemperatureBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {ac.currentLocalTemperature} 鈩�"; - //currentTemperatureBtn.Text = $"{ac.currentLocalTemperature} 鈩�"; - break; - - case 17: - ac.currentCoolingSetpoint = curTemp; - if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8) - { - mArcScaleSeekBar.Progress = ac.currentCoolingSetpoint; - } - - ac.LastDateTime = DateTime.Now; - break; - - case 18: - ac.currentHeatingSetpoint = curTemp; - if (ac.currentSystemMode == 4) - { - mArcScaleSeekBar.Progress = ac.currentHeatingSetpoint; - } - ac.LastDateTime = DateTime.Now; - break; - - case 4096: - ac.currentAutoSetpoint = curTemp; - if (ac.currentSystemMode == 1) - { - mArcScaleSeekBar.Progress = ac.currentAutoSetpoint; - } - ac.LastDateTime = DateTime.Now; - break; - - case 28: - //姝ゅ睘鎬ф弿杩版亽娓╄澶囨澶勪簬鍝妯″紡 - //Off = 0 Auto = 1 Cool = 3 Heat = 4 FanOnly = 7 Dry = 8 - ac.currentSystemMode = attriButeList[0].AttriButeData; - ac.LastDateTime = DateTime.Now; - if (ac.currentSystemMode == 0) - { - switchBtn.IsSelected = false; - modeBtn.IsSelected = false; + var curTemp = (attList.AttriButeData / 100 < ACControlBase.Temperature_High && attList.AttriButeData / 100 > ACControlBase.Temperature_Low) ? attList.AttriButeData / 100 : ACControlBase.Temperature_Default; + switch (attList.AttributeId) + { + case 0: + ac.currentLocalTemperature = curTemp; + ac.LastDateTime = DateTime.Now; + indoorTemperatureBtn.Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {ac.currentLocalTemperature} 鈩�"; + //currentTemperatureBtn.Text = $"{ac.currentLocalTemperature} 鈩�"; + break; + case 17: + ac.currentCoolingSetpoint = curTemp; + if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8) + { + mArcScaleSeekBar.Progress = ac.currentCoolingSetpoint; + } + ac.LastDateTime = DateTime.Now; + break; + case 18: + ac.currentHeatingSetpoint = curTemp; + if (ac.currentSystemMode == 4) + { + mArcScaleSeekBar.Progress = ac.currentHeatingSetpoint; + } + ac.LastDateTime = DateTime.Now; + break; + case 4096: + ac.currentAutoSetpoint = curTemp; + if (ac.currentSystemMode == 1) + { + mArcScaleSeekBar.Progress = ac.currentAutoSetpoint; + } + ac.LastDateTime = DateTime.Now; + break; + case 28: + //姝ゅ睘鎬ф弿杩版亽娓╄澶囨澶勪簬鍝妯″紡 + //Off = 0 Auto = 1 Cool = 3 Heat = 4 FanOnly = 7 Dry = 8 + ac.currentSystemMode = attList.AttriButeData; + ac.LastDateTime = DateTime.Now; + if (ac.currentSystemMode == 0) + { + switchBtn.IsSelected = false; + modeBtn.IsSelected = false; + fanModeBtn.IsSelected = false; + FanSwingModeBtn.IsSelected = false; + mArcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor, ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor); + } + else if (ac.currentSystemMode == 1 || ac.currentSystemMode == 3 || ac.currentSystemMode == 4 || ac.currentSystemMode == 7 || ac.currentSystemMode == 8) + { + switchBtn.IsSelected = true; + modeBtn.IsSelected = true; + fanModeBtn.IsSelected = true; + FanSwingModeBtn.IsSelected = true; + mArcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCArcScaleSeekBarStartColor, ZigbeeColor.Current.GXCArcScaleSeekBarEndColor); + } modeBtn.SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(ac.currentSystemMode); modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(ac.currentSystemMode); currentModeBtn.Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode); - mArcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(ac); - - fanModeBtn.IsSelected = false; - FanSwingModeBtn.IsSelected = false; - } - else if (ac.currentSystemMode == 1 || ac.currentSystemMode == 3 || ac.currentSystemMode == 4 || ac.currentSystemMode == 7 || ac.currentSystemMode == 8) - { - switchBtn.IsSelected = true; - modeBtn.IsSelected = true; - modeBtn.SelectedImagePath = ACControlBase.GetModeSelectedImagePathByModeId(ac.currentSystemMode); - modeBtn.UnSelectedImagePath = ACControlBase.GetModeUnSelectedImagePathByModeId(ac.currentSystemMode); - currentModeBtn.Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode); - - mArcScaleSeekBar.Progress = ACControlBase.GetCurrentModeTemperature(ac); - fanModeBtn.IsSelected = true; - FanSwingModeBtn.IsSelected = true; - } - break; - - case 4097: - //杩囪檻缃戞竻娲楁爣蹇�:42 - ac.CleanStatu = attriButeList[0].AttriButeData == 42; - cleanStatu.Visible = ac.CleanStatu; - break; - - case 4099: - var value = Convert.ToString(attriButeList[0].AttriButeData, 2).PadLeft(16, '0'); - var modeStr = value.Substring(value.Length - 5, 5); - for (int j = 0; j < modeStr.Length; j++) - { - ac.listSupportMode[j] = Convert.ToInt32(modeStr[j]) == 49 ? 1 : 0; - } - break; - + mArcScaleSeekBar.IsClickable = ACControlBase.IsOpen(ac); + break; + case 4097: + //杩囪檻缃戞竻娲楁爣蹇�:42 + ac.CleanStatu = attList.AttriButeData == 42; + cleanStatu.Visible = ac.CleanStatu; + break; + } } } if (common.DeviceStatusReport.CluterID == 514) { var attriButeList = common.DeviceStatusReport.AttriBute; - if (attriButeList == null || attriButeList.Count == 0) - { - return; - } ac.DeviceStatusReport = common.DeviceStatusReport; - switch (attriButeList[0].AttributeId) + foreach(var attList in attriButeList) { - case 0: - //椋庢墖褰撳墠鐨勫伐浣滄ā寮� 1=Low 2=Medium 3=High - ac.currentFanMode = attriButeList[0].AttriButeData; - ac.LastDateTime = DateTime.Now; - fanModeBtn.IsSelected = true; - fanModeBtn.SelectedImagePath = ACControlBase.GetFanModeSelectedImagePathByFanModeId(ac.currentFanMode); - fanModeBtn.UnSelectedImagePath = ACControlBase.GetFanModeUnSelectedImagePathByFanModeId(ac.currentFanMode); - break; - case 4096: - //椋庢墖褰撳墠鐨勬壂椋庢ā寮� - ac.currentFanSwingMode = attriButeList[0].AttriButeData; - ac.LastDateTime = DateTime.Now; - FanSwingModeBtn.IsSelected = true; - FanSwingModeBtn.SelectedImagePath = ACControlBase.GetFanSwingModeSelectedImagePathByFanSwingModeId(ac.currentFanSwingMode); - FanSwingModeBtn.UnSelectedImagePath = ACControlBase.GetFanSwingModeUnSelectedImagePathByFanSwingModeId(ac.currentFanSwingMode); - break; + switch (attList.AttributeId) + { + case 0: + //椋庢墖褰撳墠鐨勫伐浣滄ā寮� 1=Low 2=Medium 3=High + ac.currentFanMode = attList.AttriButeData; + ac.LastDateTime = DateTime.Now; + fanModeBtn.IsSelected = true; + fanModeBtn.SelectedImagePath = ACControlBase.GetFanModeSelectedImagePathByFanModeId(ac.currentFanMode); + fanModeBtn.UnSelectedImagePath = ACControlBase.GetFanModeUnSelectedImagePathByFanModeId(ac.currentFanMode); + break; + case 4096: + //椋庢墖褰撳墠鐨勬壂椋庢ā寮� + ac.currentFanSwingMode = attList.AttriButeData; + ac.LastDateTime = DateTime.Now; + FanSwingModeBtn.IsSelected = true; + FanSwingModeBtn.SelectedImagePath = ACControlBase.GetFanSwingModeSelectedImagePathByFanSwingModeId(ac.currentFanSwingMode); + FanSwingModeBtn.UnSelectedImagePath = ACControlBase.GetFanSwingModeUnSelectedImagePathByFanSwingModeId(ac.currentFanSwingMode); + break; + } } } //***鏂版敼 * **璁惧鐘舵�佷笂鎶ヤ腑锛屽綋CluterID = 3,璇佹槑璁惧鍦ㄧ嚎锛岀洿鎺ユ爣璁� @@ -372,8 +354,8 @@ public override void RemoveFromParent() { ZigBee.Device.ZbGateway.StatusList.Remove(this); - //action(); - //action = null; + action(device, room); + action = null; RemoveUpdateControlDeviceStatuAction(); HomePage.Instance.ScrollEnabled = true; if (IsDrawerLockMode) @@ -417,14 +399,13 @@ else { //闃叉鐭椂闂村唴澶氭璇诲彇璁惧鐘舵�� - //if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) - //{ + if ((DateTime.Now - ac.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) + { ReadDeviceAttributeLogic.Instance.SendACStatuComand(device.CommonDevice); - //} + } } - var de = Shared.Common.Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName); - if (de == null) + if (Common.Room.CurrentRoom.IsCollectInRoom(device.FileName)==false) { collectionBtn.IsSelected = false; } @@ -508,12 +489,13 @@ var deviceNameBtn = new Button() { Y = Application.GetRealHeight(184), - Width = Application.GetRealWidth(500), + Width = Application.GetRealWidth(600), Height = Application.GetRealHeight(60), Gravity = Gravity.CenterHorizontal, - Text = device.CommonDevice.DeviceEpointName, + Text = Common.LocalDevice.Current.GetDeviceEpointName(device.CommonDevice), TextColor = ZigbeeColor.Current.GXCTextBlackColor, - TextSize = 15 + TextSize = 15, + IsBold=true }; itemView.AddChidren(deviceNameBtn); @@ -524,21 +506,40 @@ Height = Application.GetRealHeight(60), Gravity = Gravity.CenterHorizontal, TextColor = ZigbeeColor.Current.GXCTextGrayColor, - Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {ac.currentLocalTemperature} 鈩�" + Text = $"{Language.StringByID(R.MyInternationalizationString.Current)} {ac.currentLocalTemperature} 鈩�", + TextSize=10 }; itemView.AddChidren(indoorTemperatureBtn); - mArcScaleSeekBar = new ArcScaleSeekBar + var mArcScaleSeekBarFL = new FrameLayout { Y = Application.GetRealHeight(412), - Width = Application.GetRealWidth(671), - Height = Application.GetRealHeight(671), - Gravity = Gravity.CenterHorizontal, - MinValue=ACControlBase.Temperature_Low, - MaxValue=ACControlBase.Temperature_High, - Progress=ACControlBase.GetCurrentModeTemperature(ac) + Width = Application.GetMinRealAverage(671), + Height = Application.GetMinRealAverage(671), + Gravity = Gravity.CenterHorizontal }; - itemView.AddChidren(mArcScaleSeekBar); + itemView.AddChidren(mArcScaleSeekBarFL); + + mArcScaleSeekBar = new ArcScaleSeekBar + { + Width = Application.GetMinRealAverage(671), + Height = Application.GetMinRealAverage(671), + Gravity = Gravity.CenterHorizontal, + MinValue = ACControlBase.Temperature_Low, + MaxValue = ACControlBase.Temperature_High, + Progress = ACControlBase.GetCurrentModeTemperature(ac), + IsClickable = ACControlBase.IsOpen(ac), + ProgressBarUnitSring = string.Empty + }; + mArcScaleSeekBarFL.AddChidren(mArcScaleSeekBar); + if(ACControlBase.IsOpen(ac)) + { + mArcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCArcScaleSeekBarStartColor, ZigbeeColor.Current.GXCArcScaleSeekBarEndColor); + } + else + { + mArcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor, ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor); + } mArcScaleSeekBar.OnStopTrackingTouchEvent += (sender, e) => { if (ac.currentSystemMode == 3 || ac.currentSystemMode == 8) @@ -560,34 +561,47 @@ currentModeBtn = new Button() { - Y = Application.GetRealHeight(599), - Height = Application.GetRealHeight(80), + Y = Application.GetMinRealAverage(187), + Height = Application.GetRealHeight(50), Width = Application.GetRealWidth(200), TextColor = ZigbeeColor.Current.GXCTextBlackColor, Gravity = Gravity.CenterHorizontal, - Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode) + Text = ACControlBase.GetModeNameByModeId(ac.currentSystemMode), + TextSize = 12 }; - itemView.AddChidren(currentModeBtn); + mArcScaleSeekBarFL.AddChidren(currentModeBtn); reduceTemperatureBtn = new Button() { - X = Application.GetRealWidth(268), - Y = Application.GetRealHeight(680), + X = Application.GetMinRealAverage(132), + Y = Application.GetMinRealAverage(268), Width = Application.GetMinRealAverage(80), Height = Application.GetMinRealAverage(80), UnSelectedImagePath = "AC/Reduce.png" }; - itemView.AddChidren(reduceTemperatureBtn); + mArcScaleSeekBarFL.AddChidren(reduceTemperatureBtn); addTemperatureBtn = new Button() { - X = Application.GetRealWidth(628), - Y = Application.GetRealHeight(680), + X = Application.GetMinRealAverage(452), + Y = Application.GetMinRealAverage(268), Width = Application.GetMinRealAverage(80), Height = Application.GetMinRealAverage(80), UnSelectedImagePath = "AC/Add.png" }; - itemView.AddChidren(addTemperatureBtn); + mArcScaleSeekBarFL.AddChidren(addTemperatureBtn); + + var uintBtn = new Button + { + Y = Application.GetMinRealAverage(369), + Height = Application.GetRealHeight(60), + Width = Application.GetRealWidth(100), + TextColor = ZigbeeColor.Current.GXCTextBlackColor, + Gravity = Gravity.CenterHorizontal, + Text = "鈩�", + TextSize = 18 + }; + mArcScaleSeekBarFL.AddChidren(uintBtn); FanSwingModeBtn = new Button() { @@ -599,7 +613,6 @@ SelectedImagePath = ACControlBase.GetFanSwingModeSelectedImagePathByFanSwingModeId(ac.currentFanSwingMode), IsSelected = ACControlBase.IsOpen(ac) }; - itemView.AddChidren(FanSwingModeBtn); modeBtn = new Button() { @@ -637,6 +650,18 @@ }; itemView.AddChidren(fanModeBtn); + if (ac.UseSwingFunction) + { + itemView.AddChidren(FanSwingModeBtn); + } + else + { + modeBtn.X = Application.GetRealWidth(207); + switchBtn.X = Application.GetRealWidth(444); + fanModeBtn.X = Application.GetRealWidth(677); + } + + var roomBG = new Button { Y = Application.GetRealHeight(1322 - 50), @@ -672,7 +697,8 @@ Height = Application.GetRealHeight(50), Text = room.Name, TextAlignment = TextAlignment.CenterLeft, - TextColor = ZigbeeColor.Current.GXCTextWhiteColor + TextColor = ZigbeeColor.Current.GXCTextWhiteColor, + TextSize=12 }; itemView.AddChidren(roomName); } @@ -707,12 +733,14 @@ private void Switch_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs) { switchBtn.IsSelected = !switchBtn.IsSelected; + mArcScaleSeekBar.IsClickable = switchBtn.IsSelected; if (switchBtn.IsSelected == true) { ac.Open(); modeBtn.IsSelected = true; fanModeBtn.IsSelected = true; FanSwingModeBtn.IsSelected = true; + mArcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCArcScaleSeekBarStartColor, ZigbeeColor.Current.GXCArcScaleSeekBarEndColor); } else { @@ -720,6 +748,7 @@ modeBtn.IsSelected = false; fanModeBtn.IsSelected = false; FanSwingModeBtn.IsSelected = false; + mArcScaleSeekBar.SetProgressBarColors(ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor, ZigbeeColor.Current.GXCWaveSeekBarUnSelectedColor); } } @@ -757,14 +786,14 @@ }; closeBGview.AddChidren(changeFanModeBG); - var changeFanModeFL = new FrameLayout() + var changeFanModeFL = new VerticalScrolViewLayout() { X = Application.GetRealWidth(600), Y = Application.GetRealHeight(750), Height = Application.GetRealHeight(600), Width = Application.GetRealWidth(fanItem_Width), - Radius = CommonPage.BigFormRadius, - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, + ScrollEnabled=false, + VerticalScrollBarEnabled=false }; closeBGview.AddChidren(changeFanModeFL); @@ -775,62 +804,47 @@ Height = Application.GetRealHeight(fanItem_Height), TextColor = ZigbeeColor.Current.GXCTextBlackColor, TextID = R.MyInternationalizationString.SelectFanMode, - TextAlignment = TextAlignment.CenterLeft + TextAlignment = TextAlignment.CenterLeft, + TextSize=14, + IsBold=true }; changeFanModeFL.AddChidren(changeFanBtn); - var fan_Low = new CommonForm.ACLeftIconButtonRowLayout() - { - Y = changeFanBtn.Bottom, - Width = Application.GetRealWidth(fanItem_Width), - Height = Application.GetRealHeight(fanItem_Height), - Tag = ZigBee.Device.AC.FanMode.Low - }; - changeFanModeFL.AddChidren(fan_Low); + var fan_Low = new LeftIconButtonRow(); + fan_Low.Tag = ZigBee.Device.AC.FanMode.Low; fan_Low.Init("AC/Fan_Low.png", "AC/Fan_LowSelected.png", Language.StringByID(R.MyInternationalizationString.Fan_Low)); + fan_Low.SetTitleColor(ZigbeeColor.Current.GXCTextGrayColor, ZigbeeColor.Current.GXCACSelectedTextColor_FanModel); + changeFanModeFL.AddChidren(fan_Low); - var fan_Middle = new CommonForm.ACLeftIconButtonRowLayout() - { - Y = fan_Low.Bottom, - Width = Application.GetRealWidth(fanItem_Width), - Height = Application.GetRealHeight(fanItem_Height), - Tag = ZigBee.Device.AC.FanMode.Medium - }; - changeFanModeFL.AddChidren(fan_Middle); + var fan_Middle = new LeftIconButtonRow(); + fan_Middle.Tag = ZigBee.Device.AC.FanMode.Medium; fan_Middle.Init("AC/Fan_Middle.png", "AC/Fan_MiddleSelected.png", Language.StringByID(R.MyInternationalizationString.Fan_Middle)); + fan_Middle.SetTitleColor(ZigbeeColor.Current.GXCTextGrayColor, ZigbeeColor.Current.GXCACSelectedTextColor_FanModel); + changeFanModeFL.AddChidren(fan_Middle); - var fan_Height = new CommonForm.ACLeftIconButtonRowLayout() - { - Y = fan_Middle.Bottom, - Width = Application.GetRealWidth(fanItem_Width), - Height = Application.GetRealHeight(fanItem_Height), - Tag = ZigBee.Device.AC.FanMode.High - }; - changeFanModeFL.AddChidren(fan_Height); + var fan_Height = new LeftIconButtonRow(); + fan_Height.Tag = ZigBee.Device.AC.FanMode.High; fan_Height.Init("AC/Fan_Height.png", "AC/Fan_HeightSelected.png", Language.StringByID(R.MyInternationalizationString.Fan_Height), false); + fan_Height.SetTitleColor(ZigbeeColor.Current.GXCTextGrayColor, ZigbeeColor.Current.GXCACSelectedTextColor_FanModel); + changeFanModeFL.AddChidren(fan_Height); - fan_Low.TitleButton.MouseUpEventHandler += ChangeFan_MouseUpEvent; - fan_Low.IconButton.MouseUpEventHandler += ChangeFan_MouseUpEvent; - - fan_Middle.TitleButton.MouseUpEventHandler += ChangeFan_MouseUpEvent; - fan_Middle.IconButton.MouseUpEventHandler += ChangeFan_MouseUpEvent; - - fan_Height.TitleButton.MouseUpEventHandler += ChangeFan_MouseUpEvent; - fan_Height.IconButton.MouseUpEventHandler += ChangeFan_MouseUpEvent; + fan_Low.ButtonClickEvent += ChangeFan_MouseUpEvent; + fan_Middle.ButtonClickEvent += ChangeFan_MouseUpEvent; + fan_Height.ButtonClickEvent += ChangeFan_MouseUpEvent; if (ACControlBase.IsOpen(ac)) { if (ac.currentFanMode == 1) { - fan_Low.SetSelectedStatu(); + fan_Low.IsSelected=true; } else if (ac.currentFanMode == 2) { - fan_Middle.SetSelectedStatu(); + fan_Middle.IsSelected=true; } else { - fan_Height.SetSelectedStatu(); + fan_Height.IsSelected=true; } } } @@ -842,7 +856,7 @@ /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> private void ChangeFan_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs) { - var tag = (sender as Button).Tag.ToString(); + var tag = (sender as LeftIconButtonRow).Tag.ToString(); ZigBee.Device.AC.FanMode mode = ZigBee.Device.AC.FanMode.Low; if (tag == "Low") { @@ -890,6 +904,12 @@ /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> private void ShowChangeMode_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs) { + if (HadSupportModel() == false) + { + CommonFormResouce.ShowTip(Language.StringByID(R.MyInternationalizationString.AC_Model_None)); + return; + } + int modeItem_X = 80; int modeItem_Height = 150; int modeItem_Width = 449; @@ -919,9 +939,8 @@ Y = Application.GetRealHeight(450), Height = Application.GetRealHeight(900), Width = Application.GetRealWidth(modeItem_Width), - Radius = CommonFormResouce.BigFormRadius, - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, - //BackgroundIagePath="AC/SelectedModeBG.png" + ScrollEnabled = false, + VerticalScrollBarEnabled = false }; closeBGview.AddChidren(changeModeFL); @@ -932,112 +951,85 @@ Height = Application.GetRealHeight(modeItem_Height), TextColor = ZigbeeColor.Current.GXCTextBlackColor, TextID = R.MyInternationalizationString.SelectMode, - TextAlignment = TextAlignment.CenterLeft + TextAlignment = TextAlignment.CenterLeft, + TextSize = 14, + IsBold = true }; changeModeFL.AddChidren(changeModeBtn); - var mode_Auto = new CommonForm.ACLeftIconButtonRowLayout() - { - Y = changeModeBtn.Bottom, - Width = Application.GetRealWidth(modeItem_Width), - Height = Application.GetRealHeight(modeItem_Height), - Tag = ZigBee.Device.AC.AcMode.Auto - }; + var mode_Auto = new LeftIconButtonRow(); + mode_Auto.Tag = ZigBee.Device.AC.AcMode.Auto; + mode_Auto.Init("AC/Mode_Auto.png", "AC/Mode_AutoSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Auto)); + mode_Auto.SetTitleColor(ZigbeeColor.Current.GXCTextGrayColor, ZigbeeColor.Current.GXCTextBlackColor); if (ac.listSupportMode[4] == 1) { changeModeFL.AddChidren(mode_Auto); } - mode_Auto.Init("AC/Mode_Auto.png", "AC/Mode_AutoSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Auto)); - var mode_Cool = new CommonForm.ACLeftIconButtonRowLayout() - { - Y = mode_Auto.Bottom, - Width = Application.GetRealWidth(modeItem_Width), - Height = Application.GetRealHeight(modeItem_Height), - Tag = ZigBee.Device.AC.AcMode.Cool - }; + var mode_Cool = new LeftIconButtonRow(); + mode_Cool.Tag = ZigBee.Device.AC.AcMode.Cool; + mode_Cool.Init("AC/Mode_Cool.png", "AC/Mode_CoolSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Cool)); + mode_Cool.SetTitleColor(ZigbeeColor.Current.GXCTextGrayColor, ZigbeeColor.Current.GXCACSelectedTextColor_Cool); if (ac.listSupportMode[0] == 1) { changeModeFL.AddChidren(mode_Cool); } - mode_Cool.Init("AC/Mode_Cool.png", "AC/Mode_CoolSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Cool)); - var mode_Heat = new CommonForm.ACLeftIconButtonRowLayout() - { - Y = mode_Cool.Bottom, - Width = Application.GetRealWidth(modeItem_Width), - Height = Application.GetRealHeight(modeItem_Height), - Tag = ZigBee.Device.AC.AcMode.Heat - }; + var mode_Heat = new LeftIconButtonRow(); + mode_Heat.Tag = ZigBee.Device.AC.AcMode.Heat; + mode_Heat.Init("AC/Mode_Heat.png", "AC/Mode_HeatSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Heat)); + mode_Heat.SetTitleColor(ZigbeeColor.Current.GXCTextGrayColor, ZigbeeColor.Current.GXCACSelectedTextColor_Heat); if (ac.listSupportMode[1] == 1) { changeModeFL.AddChidren(mode_Heat); } - mode_Heat.Init("AC/Mode_Heat.png", "AC/Mode_HeatSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Heat)); - var mode_Dry = new CommonForm.ACLeftIconButtonRowLayout() - { - Y = mode_Heat.Bottom, - Width = Application.GetRealWidth(modeItem_Width), - Height = Application.GetRealHeight(modeItem_Height), - Tag = ZigBee.Device.AC.AcMode.Dry - }; + var mode_Dry = new LeftIconButtonRow(); + mode_Dry.Tag = ZigBee.Device.AC.AcMode.Dry; + mode_Dry.Init("AC/Mode_Dry.png", "AC/Mode_DrySelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Dry)); + mode_Dry.SetTitleColor(ZigbeeColor.Current.GXCTextGrayColor, ZigbeeColor.Current.GXCACSelectedTextColor_Dry); if (ac.listSupportMode[3] == 1) { changeModeFL.AddChidren(mode_Dry); } - mode_Dry.Init("AC/Mode_Dry.png", "AC/Mode_DrySelected.png", Language.StringByID(R.MyInternationalizationString.Mode_Dry)); - var mode_Fan = new CommonForm.ACLeftIconButtonRowLayout() - { - Y = mode_Dry.Bottom, - Width = Application.GetRealWidth(modeItem_Width), - Height = Application.GetRealHeight(modeItem_Height), - Tag = ZigBee.Device.AC.AcMode.FanOnly - }; + var mode_Fan = new LeftIconButtonRow(); + mode_Fan.Tag = ZigBee.Device.AC.AcMode.FanOnly; + mode_Fan.Init("AC/Mode_Fan.png", "AC/Mode_FanSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_FanOnly), false); + mode_Fan.SetTitleColor(ZigbeeColor.Current.GXCTextGrayColor, ZigbeeColor.Current.GXCACSelectedTextColor_Fan); if (ac.listSupportMode[2] == 1) { changeModeFL.AddChidren(mode_Fan); } - mode_Fan.Init("AC/Mode_Fan.png", "AC/Mode_FanSelected.png", Language.StringByID(R.MyInternationalizationString.Mode_FanOnly), false); - mode_Auto.TitleButton.MouseUpEventHandler += ChangeMode_MouseUpEvent; - mode_Auto.IconButton.MouseUpEventHandler += ChangeMode_MouseUpEvent; - - mode_Cool.TitleButton.MouseUpEventHandler += ChangeMode_MouseUpEvent; - mode_Cool.IconButton.MouseUpEventHandler += ChangeMode_MouseUpEvent; - - mode_Heat.TitleButton.MouseUpEventHandler += ChangeMode_MouseUpEvent; - mode_Heat.IconButton.MouseUpEventHandler += ChangeMode_MouseUpEvent; - - mode_Dry.TitleButton.MouseUpEventHandler += ChangeMode_MouseUpEvent; - mode_Dry.IconButton.MouseUpEventHandler += ChangeMode_MouseUpEvent; - - mode_Fan.TitleButton.MouseUpEventHandler += ChangeMode_MouseUpEvent; - mode_Fan.IconButton.MouseUpEventHandler += ChangeMode_MouseUpEvent; + mode_Auto.ButtonClickEvent += ChangeMode_MouseUpEvent; + mode_Cool.ButtonClickEvent += ChangeMode_MouseUpEvent; + mode_Heat.ButtonClickEvent += ChangeMode_MouseUpEvent; + mode_Dry.ButtonClickEvent += ChangeMode_MouseUpEvent; + mode_Fan.ButtonClickEvent += ChangeMode_MouseUpEvent; if (ACControlBase.IsOpen(ac)) { if (ac.currentSystemMode == 1) { - mode_Auto.SetSelectedStatu(); + mode_Auto.IsSelected = true; } else if (ac.currentSystemMode == 3) { - mode_Cool.SetSelectedStatu(); + mode_Cool.IsSelected = true; } else if (ac.currentSystemMode == 4) { - mode_Heat.SetSelectedStatu(); + mode_Heat.IsSelected = true; } else if (ac.currentSystemMode == 8) { - mode_Dry.SetSelectedStatu(); + mode_Dry.IsSelected = true; } else if (ac.currentSystemMode == 7) { - mode_Fan.SetSelectedStatu(); + mode_Fan.IsSelected = true; } } } @@ -1049,7 +1041,7 @@ /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> private void ChangeMode_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs) { - var tag = (sender as Button).Tag.ToString(); + var tag = (sender as LeftIconButtonRow).Tag.ToString(); ZigBee.Device.AC.AcMode mode = ZigBee.Device.AC.AcMode.Cool; if (tag == "Auto") @@ -1097,6 +1089,24 @@ ac.SetSystemModeAsync(acMode); } + /// <summary> + /// 鏄惁閰嶇疆浜嗘ā寮� + /// </summary> + /// <returns></returns> + private bool HadSupportModel() + { + bool hadMode = false; + foreach (var m in ac.listSupportMode) + { + if (m == 1) + { + hadMode = true; + break; + } + } + return hadMode; + } + #endregion #region 鈼� 鍒囨崲鎵______________________ @@ -1132,14 +1142,14 @@ }; closeBGview.AddChidren(changeFanModeBG); - var changeFanModeFL = new FrameLayout() + var changeFanModeFL = new VerticalScrolViewLayout() { X = Application.GetRealWidth(35), Y = Application.GetRealHeight(297), Height = Application.GetRealHeight(1050), Width = Application.GetRealWidth(fanItem_Width), - Radius = CommonPage.BigFormRadius, - BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor, + VerticalScrollBarEnabled = false, + ScrollEnabled = false }; closeBGview.AddChidren(changeFanModeFL); @@ -1150,114 +1160,80 @@ Height = Application.GetRealHeight(fanItem_Height), TextColor = ZigbeeColor.Current.GXCTextBlackColor, TextID = R.MyInternationalizationString.SelectSwing, - TextAlignment = TextAlignment.CenterLeft + TextAlignment = TextAlignment.CenterLeft, + TextSize = 14, + IsBold = true }; changeFanModeFL.AddChidren(changeFanBtn); - var swing_First = new CommonForm.ACLeftIconButtonRowLayout() - { - Y = changeFanBtn.Bottom, - Width = Application.GetRealWidth(fanItem_Width), - Height = Application.GetRealHeight(fanItem_Height), - Tag = ZigBee.Device.AC.FanSwingMode.First - }; - changeFanModeFL.AddChidren(swing_First); + var swing_First = new LeftIconButtonRow { }; + swing_First.Tag = ZigBee.Device.AC.FanSwingMode.First; swing_First.Init("AC/Swing_1.png", "AC/Swing_1Selected.png", Language.StringByID(R.MyInternationalizationString.Swing_First)); + swing_First.SetTitleColor(ZigbeeColor.Current.GXCTextGrayColor, ZigbeeColor.Current.GXCACSelectedTextColor2); + changeFanModeFL.AddChidren(swing_First); - var swing_Second = new CommonForm.ACLeftIconButtonRowLayout() - { - Y = swing_First.Bottom, - Width = Application.GetRealWidth(fanItem_Width), - Height = Application.GetRealHeight(fanItem_Height), - Tag = ZigBee.Device.AC.FanSwingMode.Second - }; - changeFanModeFL.AddChidren(swing_Second); + var swing_Second = new LeftIconButtonRow(); + swing_Second.Tag = ZigBee.Device.AC.FanSwingMode.Second; swing_Second.Init("AC/Swing_2.png", "AC/Swing_2Selected.png", Language.StringByID(R.MyInternationalizationString.Swing_Second)); + swing_Second.SetTitleColor(ZigbeeColor.Current.GXCTextGrayColor, ZigbeeColor.Current.GXCACSelectedTextColor2); + changeFanModeFL.AddChidren(swing_Second); - var swing_Thrid = new CommonForm.ACLeftIconButtonRowLayout() - { - Y = swing_Second.Bottom, - Width = Application.GetRealWidth(fanItem_Width), - Height = Application.GetRealHeight(fanItem_Height), - Tag = ZigBee.Device.AC.FanSwingMode.Thrid - }; - changeFanModeFL.AddChidren(swing_Thrid); + var swing_Thrid = new LeftIconButtonRow(); + swing_Thrid.Tag = ZigBee.Device.AC.FanSwingMode.Thrid; swing_Thrid.Init("AC/Swing_3.png", "AC/Swing_3Selected.png", Language.StringByID(R.MyInternationalizationString.Swing_Thrid)); + swing_Thrid.SetTitleColor(ZigbeeColor.Current.GXCTextGrayColor, ZigbeeColor.Current.GXCACSelectedTextColor2); + changeFanModeFL.AddChidren(swing_Thrid); - var swing_Fourth = new CommonForm.ACLeftIconButtonRowLayout() - { - Y = swing_Thrid.Bottom, - Width = Application.GetRealWidth(fanItem_Width), - Height = Application.GetRealHeight(fanItem_Height), - Tag = ZigBee.Device.AC.FanSwingMode.Fourth - }; - changeFanModeFL.AddChidren(swing_Fourth); + var swing_Fourth = new LeftIconButtonRow(); + swing_Fourth.Tag = ZigBee.Device.AC.FanSwingMode.Fourth; swing_Fourth.Init("AC/Swing_4.png", "AC/Swing_4Selected.png", Language.StringByID(R.MyInternationalizationString.Swing_Fourth)); + swing_Fourth.SetTitleColor(ZigbeeColor.Current.GXCTextGrayColor, ZigbeeColor.Current.GXCACSelectedTextColor2); + changeFanModeFL.AddChidren(swing_Fourth); - var swing_Fifth = new CommonForm.ACLeftIconButtonRowLayout() - { - Y = swing_Fourth.Bottom, - Width = Application.GetRealWidth(fanItem_Width), - Height = Application.GetRealHeight(fanItem_Height), - Tag = ZigBee.Device.AC.FanSwingMode.Fifth - }; - changeFanModeFL.AddChidren(swing_Fifth); + var swing_Fifth = new LeftIconButtonRow(); + swing_Fifth.Tag = ZigBee.Device.AC.FanSwingMode.Fifth; swing_Fifth.Init("AC/Swing_5.png", "AC/Swing_5Selected.png", Language.StringByID(R.MyInternationalizationString.Swing_Fifth)); + swing_Fifth.SetTitleColor(ZigbeeColor.Current.GXCTextGrayColor, ZigbeeColor.Current.GXCACSelectedTextColor2); + changeFanModeFL.AddChidren(swing_Fifth); - var swing_Auto = new CommonForm.ACLeftIconButtonRowLayout() - { - Y = swing_Fifth.Bottom, - Width = Application.GetRealWidth(fanItem_Width), - Height = Application.GetRealHeight(fanItem_Height), - Tag = ZigBee.Device.AC.FanSwingMode.Auto - }; + var swing_Auto = new LeftIconButtonRow(); + swing_Auto.Tag = ZigBee.Device.AC.FanSwingMode.Auto; + swing_Auto.Init("AC/Swing_Auto.png", "AC/Swing_AutoSelected.png", Language.StringByID(R.MyInternationalizationString.Swing_Auto), false); + swing_Auto.SetTitleColor(ZigbeeColor.Current.GXCTextGrayColor, ZigbeeColor.Current.GXCACSelectedTextColor2); changeFanModeFL.AddChidren(swing_Auto); - swing_Auto.Init("AC/Swing_Auto.png", "AC/Swing_AutoSelected.png", Language.StringByID(R.MyInternationalizationString.Swing_Auto),false); - - swing_First.TitleButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent; - swing_First.IconButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent; - - swing_Second.TitleButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent; - swing_Second.IconButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent; - - swing_Thrid.TitleButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent; - swing_Thrid.IconButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent; - - swing_Fourth.TitleButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent; - swing_Fourth.IconButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent; - - swing_Fifth.TitleButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent; - swing_Fifth.IconButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent; - - swing_Auto.TitleButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent; - swing_Auto.IconButton.MouseUpEventHandler += ChangeFanSwing_MouseUpEvent; + swing_First.ButtonClickEvent += ChangeFanSwing_MouseUpEvent; + swing_Second.ButtonClickEvent += ChangeFanSwing_MouseUpEvent; + swing_Thrid.ButtonClickEvent += ChangeFanSwing_MouseUpEvent; + swing_Fourth.ButtonClickEvent += ChangeFanSwing_MouseUpEvent; + swing_Fifth.ButtonClickEvent += ChangeFanSwing_MouseUpEvent; + swing_Auto.ButtonClickEvent += ChangeFanSwing_MouseUpEvent; if (ACControlBase.IsOpen(ac)) { if (ac.currentFanSwingMode == 0) { - swing_First.SetSelectedStatu(); + swing_First.IsSelected = true; } else if (ac.currentFanSwingMode == 1) { - swing_Second.SetSelectedStatu(); + swing_Second.IsSelected = true; } else if (ac.currentFanSwingMode == 2) { - swing_Thrid.SetSelectedStatu(); + swing_Thrid.IsSelected = true; } else if (ac.currentFanSwingMode == 3) { - swing_Fourth.SetSelectedStatu(); + swing_Fourth.IsSelected = true; } else if (ac.currentFanSwingMode == 4) { - swing_Fifth.SetSelectedStatu(); + swing_Fifth.IsSelected = true; } else if (ac.currentFanSwingMode == 7) { - swing_Auto.SetSelectedStatu(); + swing_Auto.IsSelected = true; } } } @@ -1269,7 +1245,7 @@ /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param> private void ChangeFanSwing_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs) { - var tag = (sender as Button).Tag.ToString(); + var tag = (sender as LeftIconButtonRow).Tag.ToString(); ZigBee.Device.AC.FanSwingMode mode = ZigBee.Device.AC.FanSwingMode.Auto; if (tag == "First") { @@ -1413,8 +1389,6 @@ #endregion - - #region 鈼� 鎺у埗鍙嶉_________________________ /// <summary> @@ -1466,9 +1440,9 @@ UserView.HomePage.Instance.AddChidren(detailInfo); UserView.HomePage.Instance.PageIndex += 1; detailInfo.Show(device, room); - detailInfo.action = () => + detailInfo.EditAction += (curDev, curRoom) => { - Show(device, room); + Show(curDev, curRoom); }; } -- Gitblit v1.8.0