From 652243206427f35a256400a149a1734085824cb9 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期三, 02 九月 2020 17:35:03 +0800 Subject: [PATCH] 2020-09-02-4 --- ZigbeeApp/Shared/Phone/Device/Logic/Nightlight.cs | 283 ++++++++++++++++++++++++++++---------------------------- 1 files changed, 141 insertions(+), 142 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Logic/Nightlight.cs b/ZigbeeApp/Shared/Phone/Device/Logic/Nightlight.cs index 8383026..aaa1c90 100644 --- a/ZigbeeApp/Shared/Phone/Device/Logic/Nightlight.cs +++ b/ZigbeeApp/Shared/Phone/Device/Logic/Nightlight.cs @@ -15,17 +15,18 @@ } string selectedDeviceStatus = ""; Dictionary<string, object> actionsInfo = null; - List<Dictionary<string, string>> TaskList = null; + List<Dictionary<string, string>> TaskList = new List<Dictionary<string, string>>(); public void Show(CommonDevice common, bool edit,string str_if,Dictionary<string, object> editdeviceActionInfo = null) { - actionsInfo = editdeviceActionInfo; + #region 甯冨眬鐣岄潰 this.BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor; TopView view = new TopView(); this.AddChidren(view.TopRowView()); - view.toptitleNameBtn.Text = Name; + view.toptitleNameBtn.Text = LocalDevice.Current.GetDeviceEpointName(common); view.clickBtn.MouseDownEventHandler += (sender, e) => { RemoveFromParent(); + }; var middle = new FrameLayout { @@ -34,48 +35,59 @@ BackgroundColor = ZigbeeColor.Current.LogicMiddleBackgroundColor, }; this.AddChidren(middle); - + //澶滅伅寮�鍏� LogicView.LightView openView = new LogicView.LightView(); openView.titleBtn.Text = Language.StringByID(MyInternationalizationString.nightLightSwitch); middle.AddChidren(openView.Show()); - openView.clickviewBtn.MouseUpEventHandler += (sender, e) => - { - CurrentDeviceView("澶滅伅寮�鍏�", common, edit, openView.seletecdTextBtn); - }; - + + //浜害 LogicView.LightView brightnessView = new LogicView.LightView(); brightnessView.frameLayout.Y = openView.frameLayout.Bottom; brightnessView.titleBtn.Text = Language.StringByID(MyInternationalizationString.brightness); middle.AddChidren(brightnessView.Show()); - brightnessView.clickviewBtn.MouseUpEventHandler += (sender, e) => - { - CurrentDeviceView("浜害", common, edit, brightnessView.seletecdTextBtn); - }; - + + //鑹叉俯 LogicView.LightView colorTemperatureView = new LogicView.LightView(); colorTemperatureView.frameLayout.Y = brightnessView.frameLayout.Bottom; colorTemperatureView.titleBtn.Text = Language.StringByID(MyInternationalizationString.colorTemperature); middle.AddChidren(colorTemperatureView.Show()); - colorTemperatureView.clickviewBtn.MouseUpEventHandler += (sender, e) => - { - CurrentDeviceView("鑹叉俯", common, edit, colorTemperatureView.seletecdTextBtn); - }; - + + //铚傞福鍣� LogicView.LightView buzzView = new LogicView.LightView(); buzzView.frameLayout.Y = colorTemperatureView.frameLayout.Bottom; buzzView.titleBtn.Text = Language.StringByID(MyInternationalizationString.buzzer); middle.AddChidren(buzzView.Show()); + //淇濆瓨 + LogicView.SaveView saveView = new LogicView.SaveView(); + saveView.frameLayout.Y = middle.Height - Application.GetRealHeight(260); + middle.AddChidren(saveView.Show()); + #endregion + + #region 鐐瑰嚮浜嬩欢 + //澶滅伅寮�鍏崇偣鍑讳簨浠� + openView.clickviewBtn.MouseUpEventHandler += (sender, e) => + { + CurrentDeviceView("澶滅伅寮�鍏�", common, edit, openView.seletecdTextBtn); + }; + //浜害鐐瑰嚮浜嬩欢 + brightnessView.clickviewBtn.MouseUpEventHandler += (sender, e) => + { + CurrentDeviceView("浜害", common, edit, brightnessView.seletecdTextBtn); + }; + //鑹叉俯鐐瑰嚮浜嬩欢 + colorTemperatureView.clickviewBtn.MouseUpEventHandler += (sender, e) => + { + CurrentDeviceView("鑹叉俯", common, edit, colorTemperatureView.seletecdTextBtn); + }; + //铚傞福鍣ㄧ偣鍑讳簨浠� buzzView.clickviewBtn.MouseUpEventHandler += (sender, e) => { CurrentDeviceView("铚傞福鍣�", common, edit, buzzView.seletecdTextBtn); }; - - LogicView.SaveView saveView = new LogicView.SaveView(); - saveView.frameLayout.Y = middle.Height - Application.GetRealHeight(260); - middle.AddChidren(saveView.Show()); + //淇濆瓨鐐瑰嚮浜嬩欢 saveView.clickviewBtn.MouseUpEventHandler += (sender, e) => { - if (selectedDeviceStatus != "" && actionsInfo != null) + if (selectedDeviceStatus != ""&& TaskList.Count!=0) { LogicIfon.AddDeviceActions(common, actionsInfo); } @@ -109,69 +121,83 @@ } }; + #endregion if (edit) { - foreach (var deviceinfo in Common.Logic.CurrentLogic.Actions) - { - if (deviceinfo["LinkType"].ToString() == "0") + foreach (var deviceinfo in Common.Logic.CurrentLogic.Actions) { - - if (deviceinfo["DeviceAddr"].ToString() == common.DeviceAddr && deviceinfo["Epoint"].ToString() == common.DeviceEpoint.ToString()) + if (deviceinfo["LinkType"].ToString() == "0") { - TaskList = deviceinfo["TaskList"] as List<Dictionary<string, string>>; - foreach (var tasks in TaskList) + + if (deviceinfo["DeviceAddr"].ToString() == common.DeviceAddr && deviceinfo["Epoint"].ToString() == common.DeviceEpoint.ToString()) { - switch (tasks["TaskType"]) + var taskLists = deviceinfo["TaskList"] as List<Dictionary<string, string>>; + foreach (var tasks in taskLists) { - case "1": - { - if (tasks["Data1"] == "0") + TaskList.Add(tasks); + switch (tasks["TaskType"]) + { + case "1": { - openView.seletecdTextBtn.TextID = MyInternationalizationString.close; + if (tasks["Data1"] == "0") + { + openView.seletecdTextBtn.TextID = MyInternationalizationString.close; + } + else + { + openView.seletecdTextBtn.TextID = MyInternationalizationString.open; + } } - else + break; + case "3": { - openView.seletecdTextBtn.TextID = MyInternationalizationString.open; + var intvalue = int.Parse(tasks["Data1"]); + var lightbrightnessvalue = (intvalue * 100) / 254; + brightnessView.seletecdTextBtn.Text = lightbrightnessvalue.ToString() + "%"; } - } - break; - case "3": - { - var intvalue = int.Parse(tasks["Data1"]); - var lightbrightnessvalue = (intvalue * 100) / 254; - brightnessView.seletecdTextBtn.Text = lightbrightnessvalue.ToString() + "%"; - } - break; - case "7": - { - if (tasks["Data1"] == "0") + break; + case "7": { - buzzView.seletecdTextBtn.TextID = MyInternationalizationString.close; + if (tasks["Data1"] == "0") + { + buzzView.seletecdTextBtn.TextID = MyInternationalizationString.close; + } + else + { + buzzView.seletecdTextBtn.TextID = MyInternationalizationString.open; + } } - else + break; + case "8": { - buzzView.seletecdTextBtn.TextID = MyInternationalizationString.open; + var intvalue = int.Parse(tasks["Data1"]); + var lightbrightnessvalue = 1000000 / (intvalue * 100); + colorTemperatureView.seletecdTextBtn.Text = lightbrightnessvalue.ToString() + "00K"; } - } - break; - case "8": - { - var intvalue = int.Parse(tasks["Data1"]); - var lightbrightnessvalue = 1000000 / (intvalue * 100); - colorTemperatureView.seletecdTextBtn.Text = lightbrightnessvalue.ToString() + "K"; - } - break; + break; + } } + break; } - break; } } - } } + + if (actionsInfo == null) + { + actionsInfo = new Dictionary<string, object>(); + actionsInfo.Add("LinkType", 0); + actionsInfo.Add("DeviceAddr", common.DeviceAddr); + actionsInfo.Add("Epoint", common.DeviceEpoint); + actionsInfo.Add("Time", 0); + actionsInfo.Add("TaskList", TaskList); + } + } public void CurrentDeviceView(string if_str, CommonDevice common, bool edit, Button button) { + #region 甯冨眬鐣岄潰 var flMain = new FrameLayout { BackgroundColor = ZigbeeColor.Current.LogicViewBackgroundColor }; this.AddChidren(flMain); UserView.HomePage.Instance.ScrollEnabled = false;//涓嶈褰撳墠鐣岄潰婊戝姩 @@ -185,26 +211,16 @@ }; flMain.MouseUpEventHandler += clickcancel; completeView.Btncancel.MouseUpEventHandler += clickcancel; - if (actionsInfo == null) - { - actionsInfo = new Dictionary<string, object>(); - TaskList = new List<Dictionary<string, string>>(); - actionsInfo.Add("LinkType", 0); - actionsInfo.Add("DeviceAddr", common.DeviceAddr); - actionsInfo.Add("Epoint", common.DeviceEpoint); - actionsInfo.Add("Time", 0); - actionsInfo.Add("TaskList", TaskList); - } - string status = ""; + #endregion + string status = ""; + Dictionary<string, string> dictionaryLight = new Dictionary<string, string>(); + dictionaryLight.Clear(); switch (if_str) { case "澶滅伅寮�鍏�": { - - Dictionary<string, string> switchDictionary = new Dictionary<string, string>(); - Send.dictionary(switchDictionary, "TaskType", "1"); - Send.dictionary(switchDictionary, "Data2", "0"); + mFunView openView = new mFunView(); openView.frameLayout.Y = Application.GetRealHeight(140 + 20); openView.titleBtn.TextID = MyInternationalizationString.open; @@ -222,8 +238,7 @@ closeView.selectedIconBtn.Visible = false; openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; - Send.dictionary(switchDictionary, "Data1", "1");//榛樿鍊� - DicValue("1", switchDictionary); + Send.dictionary(dictionaryLight, "Data1", "1");//榛樿鍊� status = Language.StringByID(MyInternationalizationString.open); }; @@ -235,12 +250,11 @@ closeView.selectedIconBtn.Visible = true; openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; - Send.dictionary(switchDictionary, "Data1", "0");//榛樿鍊� - DicValue("1", switchDictionary); + Send.dictionary(dictionaryLight, "Data1", "0");//榛樿鍊� status = Language.StringByID(MyInternationalizationString.close); }; - if (TaskList != null && TaskList.Count != 0) + if ( TaskList.Count != 0) { foreach (var value in TaskList) { @@ -265,37 +279,34 @@ break; case "浜害": { - Dictionary<string, string> brightnessDictionary = new Dictionary<string, string>(); - Send.dictionary(brightnessDictionary, "TaskType", "3"); - Send.dictionary(brightnessDictionary, "Data2", "0"); var horizontalSeekBarVol = new DiyImageSeekBar { - Y = Application.GetRealHeight(140), - X = Application.GetRealWidth(78), - Width = Application.GetRealWidth(918), - Height = Application.GetRealHeight(320),//婊戝姩鏉$埗鎺т欢楂樺害 + Y = Application.GetRealHeight(140),//杩涘害鏉$埗鎺т欢Y鍧愭爣 + X = Application.GetRealWidth(78),//杩涘害鏉鍧愭爣 + Width = Application.GetRealWidth(918),//杩涘害鏉$殑闀垮害 + Height = Application.GetRealHeight(320),//杩涘害鏉$埗鎺т欢楂樺害 IsProgressTextShow = true,//鏄剧ず鐧惧垎姣� IsClickable = true,//杩涘害鏉℃槸鍚︽粦鍔� ProgressBarColor = ZigbeeColor.Current.LogicProgressColorSelected,//閫変腑杩涘害鏉¢鑹� ThumbImagePath = "ZigeeLogic/progressbtn2.png",//杩涘害鏉℃寜閽浘鏍� ThumbImageHeight = Application.GetRealHeight(89),//杩涘害鏉℃寜閽浘鏍囩殑楂樺害锛堥粯璁ゆ鏂瑰舰锛氬鍜岄珮涓�鏍凤級 ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor, - ProgressTextSize = 9,//鏄剧ず鐧惧垎姣斿瓧浣撳ぇ灏�12 + ProgressTextSize = 12,//鏄剧ず鐧惧垎姣斿瓧浣撳ぇ灏�12 SeekBarViewHeight = Application.GetRealHeight(6),//杩涘害鏉$殑楂樺害10 + SeekBarPadding=30, }; completeView.Show(2).AddChidren(horizontalSeekBarVol); EventHandler<int> progressclick = (sender, e) => { selectedDeviceStatus = "3"; int lightbrightnessvalue = (254 * horizontalSeekBarVol.Progress) / 100; - Send.dictionary(brightnessDictionary, "Data1", lightbrightnessvalue.ToString()); - DicValue("3", brightnessDictionary); + Send.dictionary(dictionaryLight, "Data1", lightbrightnessvalue.ToString()); status = horizontalSeekBarVol.Progress.ToString() + "%"; }; horizontalSeekBarVol.OnProgressChangedEvent += progressclick; horizontalSeekBarVol.OnStopTrackingTouchEvent += progressclick; - if (TaskList != null && TaskList.Count != 0) + if ( TaskList.Count != 0) { foreach (var value in TaskList) { @@ -313,51 +324,42 @@ break; case "鑹叉俯": { - Dictionary<string, string> brightnessDictionary = new Dictionary<string, string>(); - Send.dictionary(brightnessDictionary, "TaskType", "8"); - Send.dictionary(brightnessDictionary, "Data2", "0"); Button seekIconBtn = new Button { - Y = Application.GetRealHeight(140 + 154), + Y = Application.GetRealHeight(140 + 160), X = Application.GetRealWidth(78), Height = Application.GetRealHeight(12), - Width = Application.GetRealWidth(918), + Width = Application.GetRealWidth(918 - 120), UnSelectedImagePath = "ZigeeLogic/seek.png", + Gravity = Gravity.CenterHorizontal }; - completeView.Show(2).AddChidren(seekIconBtn); - var horizontalSeekBarVol = new DiyImageSeekBar - { - Y = Application.GetRealHeight(140), - X = Application.GetRealWidth(78), - Width = Application.GetRealWidth(918), - Height = Application.GetRealHeight(320),//婊戝姩鏉$埗鎺т欢楂樺害 - IsProgressTextShow = true,//鏄剧ず鐧惧垎姣� - IsClickable = true,//杩涘害鏉℃槸鍚︽粦鍔� - ProgressBarColor = 0x00000000,// ZigbeeColor.Current.LogicProgressColorSelected,//閫変腑杩涘害鏉¢鑹� - SeekBarBackgroundColor = 0x00000000, - ThumbImagePath = "ZigeeLogic/progressbtn2.png",//杩涘害鏉℃寜閽浘鏍� - ThumbImageHeight = Application.GetRealHeight(89),//杩涘害鏉℃寜閽浘鏍囩殑楂樺害锛堥粯璁ゆ鏂瑰舰锛氬鍜岄珮涓�鏍凤級 - ProgressTextColor = ZigbeeColor.Current.LogicBtnCancelColor, - ProgressTextSize = 9,//鏄剧ず鐧惧垎姣斿瓧浣撳ぇ灏�12 - SeekBarViewHeight = Application.GetRealHeight(12),//杩涘害鏉$殑楂樺害10 - MinValue = 30, - MaxValue = 60, - ProgressBarUnitSring = "K",//鍒囨崲鍗曚綅 - }; + completeView.Show(2).AddChidren(seekIconBtn); + + var horizontalSeekBarVol = new UserCenter.SeekBarControl(918) + { + ProgressBarColor = 0x00000000,// ZigbeeColor.Current.LogicProgressColorSelected,//閫変腑杩涘害鏉¢鑹� + SeekBarBackgroundColor = 0x00000000, + SeekBarViewHeight = Application.GetRealHeight(20), + SeekBarPadding = Application.GetRealWidth(60), + MinValue = 30, + MaxValue = 60, + ProgressChangeDelayTime = 0, + }; completeView.Show(2).AddChidren(horizontalSeekBarVol); + horizontalSeekBarVol.Y = seekIconBtn.Y - (horizontalSeekBarVol.Height - seekIconBtn.Height) / 2; + horizontalSeekBarVol.ShowCustomTextView(Application.GetRealWidth(200), 12, ZigbeeColor.Current.LogicBtnCancelColor); EventHandler<int> progressclick = (sender, e) => { + horizontalSeekBarVol.SetCustomText(e * 100 + "K"); selectedDeviceStatus = "8"; var lightbrightnessvalue = 1000000 / (100 * horizontalSeekBarVol.Progress); - Send.dictionary(brightnessDictionary, "Data1", lightbrightnessvalue.ToString()); - DicValue("8", brightnessDictionary); - status = horizontalSeekBarVol.Progress.ToString() + "K"; + Send.dictionary(dictionaryLight, "Data1", lightbrightnessvalue.ToString()); + status =horizontalSeekBarVol.Progress.ToString() + "00K"; }; horizontalSeekBarVol.OnProgressChangedEvent += progressclick; horizontalSeekBarVol.OnStopTrackingTouchEvent += progressclick; - - if (TaskList != null && TaskList.Count != 0) + if ( TaskList.Count != 0) { foreach (var value in TaskList) { @@ -365,20 +367,20 @@ { var intvalue = int.Parse(value["Data1"]); var lightbrightnessvalue = 1000000 / (intvalue * 100); - horizontalSeekBarVol.Progress = lightbrightnessvalue; + horizontalSeekBarVol.Progress = lightbrightnessvalue; + break; } } - } + } + var intValue = horizontalSeekBarVol.Progress; + if (intValue == 0) { intValue = 30; } + horizontalSeekBarVol.SetCustomText(intValue * 100 + "K"); } break; case "铚傞福鍣�": { - Dictionary<string, string> switchDictionary = new Dictionary<string, string>(); - Send.dictionary(switchDictionary, "TaskType", "7"); - Send.dictionary(switchDictionary, "Data2", "0"); - mFunView openView = new mFunView(); openView.frameLayout.Y = Application.GetRealHeight(140 + 20); @@ -398,8 +400,7 @@ closeView.selectedIconBtn.Visible = false; openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; - Send.dictionary(switchDictionary, "Data1", "1");//榛樿鍊� - DicValue("7", switchDictionary); + Send.dictionary(dictionaryLight, "Data1", "1");//榛樿鍊� status = Language.StringByID(MyInternationalizationString.open); }; @@ -411,13 +412,12 @@ closeView.selectedIconBtn.Visible = true; openView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnNotSelectedColor; closeView.titleBtn.TextColor = ZigbeeColor.Current.LogicBtnSelectedColor; - Send.dictionary(switchDictionary, "Data1", "0");//榛樿鍊� - DicValue("7", switchDictionary); + Send.dictionary(dictionaryLight, "Data1", "0");//榛樿鍊� status = Language.StringByID(MyInternationalizationString.close); }; - if (TaskList != null && TaskList.Count != 0) + if ( TaskList.Count != 0) { foreach (var value in TaskList) { @@ -443,10 +443,12 @@ } completeView.Btncomplete.MouseUpEventHandler += (sender, e) => { - if (selectedDeviceStatus != "") + if (dictionaryLight.Count!=0) { - + Send.dictionary(dictionaryLight, "TaskType", selectedDeviceStatus); + Send.dictionary(dictionaryLight, "Data2", "0"); flMain.RemoveFromParent(); + DicValue(selectedDeviceStatus, dictionaryLight); button.Text = status; } @@ -485,10 +487,7 @@ } if (!d) { - if (TaskList != null) - { - TaskList.Add(dictionay); - } + TaskList.Add(dictionay); } } } -- Gitblit v1.8.0