| | |
| | | } |
| | | 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.clickBtn.MouseDownEventHandler += (sender, e) => |
| | | { |
| | | RemoveFromParent(); |
| | | |
| | | }; |
| | | var middle = new FrameLayout |
| | | { |
| | |
| | | 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 (TaskList.Count!=0) |
| | | { |
| | | LogicIfon.AddDeviceActions(common, actionsInfo); |
| | | } |
| | |
| | | { |
| | | if (!edit) |
| | | { |
| | | var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, |
| | | var alert = new UserCenter.ShowMsgControl(ShowMsgType.Normal, |
| | | Language.StringByID(MyInternationalizationString.selectdevicestatuscondition), |
| | | Language.StringByID(MyInternationalizationString.confrim)); |
| | | alert.Show(); |
| | |
| | | } |
| | | |
| | | }; |
| | | #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;//不让当前界面滑动 |
| | |
| | | }; |
| | | 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; |
| | |
| | | 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); |
| | | }; |
| | | |
| | |
| | | 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) |
| | | { |
| | |
| | | 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),//进度条父控件Y坐标 |
| | | X = Application.GetRealWidth(78),//进度条X坐标 |
| | | Width = Application.GetRealWidth(918),//进度条的长度 |
| | | Height = Application.GetRealHeight(320),//进度条父控控件高度 |
| | | 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) |
| | | { |
| | |
| | | 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 + 160), |
| | |
| | | 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) |
| | | { |
| | |
| | | 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); |
| | |
| | | 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); |
| | | }; |
| | | |
| | |
| | | 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) |
| | | { |
| | |
| | | } |
| | | 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; |
| | | |
| | | } |
| | |
| | | { |
| | | if (!edit) |
| | | { |
| | | var alert = new UserCenter.ShowMsgControl(UserCenter.ShowMsgType.Normal, |
| | | var alert = new UserCenter.ShowMsgControl(ShowMsgType.Normal, |
| | | Language.StringByID(MyInternationalizationString.selectdevicestatuscondition), |
| | | Language.StringByID(MyInternationalizationString.confrim)); |
| | | alert.Show(); |
| | |
| | | } |
| | | if (!d) |
| | | { |
| | | if (TaskList != null) |
| | | { |
| | | TaskList.Add(dictionay); |
| | | } |
| | | TaskList.Add(dictionay); |
| | | } |
| | | } |
| | | } |