New file |
| | |
| | | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Threading; |
| | | using HDL_ON.DAL.Server; |
| | | using HDL_ON.DriverLayer; |
| | | using HDL_ON.Entity; |
| | | using HDL_ON.UI.CSS; |
| | | using Shared; |
| | | |
| | | namespace HDL_ON.UI |
| | | { |
| | | public class AddGroupControlPage : FrameLayout |
| | | { |
| | | #region 控件列表 |
| | | /// <summary> |
| | | /// 当前窗体 |
| | | /// </summary> |
| | | FrameLayout bodyView; |
| | | /// <summary> |
| | | /// 楼层选择下拉图标 |
| | | /// </summary> |
| | | Button btnFloorDownIcon; |
| | | /// <summary> |
| | | /// 楼层显示 |
| | | /// </summary> |
| | | Button btnFloor; |
| | | /// <summary> |
| | | /// 全选按钮 |
| | | /// </summary> |
| | | Button btnChooseAll; |
| | | /// <summary> |
| | | /// 功能列表集合显示区域 |
| | | /// </summary> |
| | | VerticalScrolViewLayout functionListView; |
| | | /// <summary> |
| | | /// 完成按钮 |
| | | /// </summary> |
| | | Button btnConfrim; |
| | | |
| | | #endregion |
| | | /// <summary> |
| | | /// 功能列表 |
| | | /// </summary> |
| | | List<Function> groupControlLightList; |
| | | /// <summary> |
| | | /// 本地的灯光列表 |
| | | /// </summary> |
| | | List<Function> lightList; |
| | | /// <summary> |
| | | /// 回调刷新 |
| | | /// </summary> |
| | | Action backActon; |
| | | |
| | | |
| | | GroupControl groupControl; |
| | | |
| | | |
| | | |
| | | public AddGroupControlPage(List<Function> functions, GroupControl groupControl, Action action) |
| | | { |
| | | bodyView = this; |
| | | groupControlLightList = functions; |
| | | backActon = action; |
| | | lightList = FunctionList.List.GetLightList(); |
| | | this.groupControl = groupControl; |
| | | } |
| | | |
| | | public void LoadPage() |
| | | { |
| | | bodyView.BackgroundColor = CSS_Color.BackgroundColor; |
| | | new TopViewDiv(bodyView, Language.StringByID(StringId.CombinedDimming)).LoadTopView(); |
| | | |
| | | var contentView = new FrameLayout() |
| | | { |
| | | Y = Application.GetRealHeight(64), |
| | | Height = Application.GetRealHeight(550), |
| | | }; |
| | | bodyView.AddChidren(contentView); |
| | | |
| | | #region 组名称 |
| | | FrameLayout groupNameView; |
| | | groupNameView = new FrameLayout() |
| | | { |
| | | Height = Application.GetRealHeight(50), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | }; |
| | | contentView.AddChidren(groupNameView); |
| | | Button btnGroupNameTitle = new Button() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Width = Application.GetRealWidth(78), |
| | | TextID = StringId.GroupNmae, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | }; |
| | | groupNameView.AddChidren(btnGroupNameTitle); |
| | | |
| | | var etGroupName = new EditText() |
| | | { |
| | | X = Application.GetRealWidth(155), |
| | | Width = Application.GetRealWidth(200), |
| | | PlaceholderText = Language.StringByID(StringId.PlsEntry), |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | TextAlignment = TextAlignment.CenterRight, |
| | | TextColor = CSS_Color.TextualColor, |
| | | }; |
| | | groupNameView.AddChidren(etGroupName); |
| | | |
| | | groupNameView.AddChidren( |
| | | new Button() |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Y = Application.GetRealHeight(49), |
| | | Height = Application.GetRealHeight(1), |
| | | Width = Application.GetRealWidth(343), |
| | | BackgroundColor = CSS_Color.DividingLineColor, |
| | | }); |
| | | #endregion |
| | | #region 位置管理 |
| | | var locationMagtView = new FrameLayout() |
| | | { |
| | | Y = Application.GetRealHeight(50), |
| | | Height = Application.GetRealHeight(50), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | }; |
| | | contentView.AddChidren(locationMagtView); |
| | | |
| | | var btnLocationMagtTitle = new Button() |
| | | { |
| | | X = Application.GetRealWidth(16), |
| | | Width = Application.GetRealWidth(160), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | TextID = StringId.LocationManagement, |
| | | }; |
| | | locationMagtView.AddChidren(btnLocationMagtTitle); |
| | | |
| | | var btnLocationValues = new Button() |
| | | { |
| | | X = Application.GetRealWidth(86), |
| | | Width = Application.GetRealWidth(237), |
| | | TextAlignment = TextAlignment.CenterRight, |
| | | TextColor = CSS_Color.PromptingColor1, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | Text = groupControl.GetRoomListName(), |
| | | }; |
| | | locationMagtView.AddChidren(btnLocationValues); |
| | | |
| | | var btnLocationInfoRight = new Button() |
| | | { |
| | | X = Application.GetRealWidth(339), |
| | | Gravity = Gravity.CenterVertical, |
| | | Width = Application.GetMinRealAverage(16), |
| | | Height = Application.GetMinRealAverage(16), |
| | | UnSelectedImagePath = "Public/RightIcon.png", |
| | | }; |
| | | locationMagtView.AddChidren(btnLocationInfoRight); |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | { |
| | | //修改功能所属房间之后的回调事件 |
| | | Action chooseRoomBackAction = () => { |
| | | try |
| | | { |
| | | btnLocationValues.Text = groupControl.GetRoomListName(); |
| | | } |
| | | catch { } |
| | | }; |
| | | var view = new GroupChooseRoomPage(groupControl, chooseRoomBackAction); |
| | | MainPage.BasePageView.AddChidren(view); |
| | | view.LoadPage(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | btnLocationInfoRight.MouseUpEventHandler = eventHandler; |
| | | btnLocationValues.MouseUpEventHandler = eventHandler; |
| | | |
| | | |
| | | //locationMagtView.AddChidren( |
| | | // new Button() |
| | | // { |
| | | // Y = Application.GetRealHeight(49), |
| | | // Gravity = Gravity.CenterHorizontal, |
| | | // BackgroundColor = CSS_Color.DividingLineColor, |
| | | // Width = Application.GetRealWidth(343), |
| | | // Height = Application.GetRealHeight(1) |
| | | // }); |
| | | #endregion |
| | | |
| | | //contentView.AddChidren(new Button() |
| | | //{ |
| | | // Y = Application.GetRealHeight(164), |
| | | // BackgroundColor = CSS_Color.BackgroundColor, |
| | | //}); |
| | | |
| | | /// <summary> |
| | | /// 房间内容显示区域 |
| | | /// </summary> |
| | | var roomFloorChangeView = new FrameLayout() |
| | | { |
| | | Y = Application.GetRealHeight(172), |
| | | Height = Application.GetRealHeight(52), |
| | | BackgroundColor = CSS_Color.BackgroundColor, |
| | | }; |
| | | bodyView.AddChidren(roomFloorChangeView); |
| | | #region 房间顶部切换显示区域 |
| | | btnFloorDownIcon = new Button() |
| | | { |
| | | Width = Application.GetMinRealAverage(16), |
| | | Height = Application.GetMinRealAverage(16), |
| | | X = Application.GetRealWidth(16), |
| | | Y = Application.GetRealHeight(18), |
| | | UnSelectedImagePath = "Public/DownIcon.png", |
| | | }; |
| | | roomFloorChangeView.AddChidren(btnFloorDownIcon); |
| | | |
| | | btnFloor = new Button() |
| | | { |
| | | X = btnFloorDownIcon.Right, |
| | | Width = Application.GetRealWidth(200), |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = DB_ResidenceData.Instance.CurFloor.roomName, |
| | | }; |
| | | roomFloorChangeView.AddChidren(btnFloor); |
| | | |
| | | btnChooseAll = new Button() |
| | | { |
| | | X = Application.GetRealWidth(245), |
| | | Width = Application.GetRealWidth(109), |
| | | TextAlignment = TextAlignment.CenterRight, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextID = StringId.SelectedAll, |
| | | }; |
| | | if (groupControlLightList.Count > 0) |
| | | { |
| | | btnChooseAll.TextID = StringId.Cancel; |
| | | } |
| | | roomFloorChangeView.AddChidren(btnChooseAll); |
| | | btnChooseAll.MouseUpEventHandler = (sender, e) => { |
| | | if (groupControlLightList.Count > 0) |
| | | { |
| | | groupControlLightList.Clear(); |
| | | btnChooseAll.TextID = StringId.SelectAll; |
| | | btnConfrim.IsSelected = false; |
| | | } |
| | | else |
| | | { |
| | | groupControlLightList.AddRange(lightList); |
| | | btnChooseAll.TextID = StringId.Cancel; |
| | | btnConfrim.IsSelected = true; |
| | | } |
| | | LoadLightRow(lightList); |
| | | }; |
| | | |
| | | #endregion |
| | | |
| | | functionListView = new VerticalScrolViewLayout() |
| | | { |
| | | Y = Application.GetRealHeight(220), |
| | | Height = Application.GetRealHeight(640 - 12 - 52 - 100 -100), |
| | | }; |
| | | bodyView.AddChidren(functionListView); |
| | | |
| | | |
| | | LoadLightRow(lightList); |
| | | functionListView.AddChidren(new Button() |
| | | { |
| | | Height = Application.GetRealHeight(10), |
| | | }); |
| | | |
| | | #region 底部view |
| | | var bottomView = new FrameLayout() |
| | | { |
| | | Y = Application.GetRealHeight(591), |
| | | Height = Application.GetRealHeight(100), |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | Radius = (uint)Application.GetRealWidth(12), |
| | | }; |
| | | this.AddChidren(bottomView); |
| | | |
| | | btnConfrim = new Button() |
| | | { |
| | | Y = Application.GetRealHeight(12), |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Width = Application.GetRealWidth(220), |
| | | Height = Application.GetRealHeight(44), |
| | | Radius = (uint)Application.GetRealHeight(22), |
| | | TextAlignment = TextAlignment.Center, |
| | | TextColor = CSS_Color.MainBackgroundColor, |
| | | BackgroundColor = CSS_Color.BackgroundColor, |
| | | TextID = StringId.Confirm, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | SelectedTextColor = CSS_Color.MainBackgroundColor, |
| | | SelectedBackgroundColor = CSS_Color.MainColor, |
| | | }; |
| | | bottomView.AddChidren(btnConfrim); |
| | | btnConfrim.MouseUpEventHandler = (sender, e) => { |
| | | if (btnConfrim.IsSelected) |
| | | { |
| | | //保存群控数据 |
| | | var name = etGroupName.Text.Trim(); |
| | | if (string.IsNullOrEmpty(name)) |
| | | { |
| | | new PublicAssmebly().TipMsg(StringId.Tip, StringId.PlsEntryGroupName); |
| | | return; |
| | | } |
| | | groupControl.name = name; |
| | | groupControl.sids.Clear(); |
| | | foreach (var light in groupControlLightList) |
| | | { |
| | | try |
| | | { |
| | | var gc = new GroupControlFunction(); |
| | | gc.sid = light.sid; |
| | | gc.spk = light.spk; |
| | | groupControl.sids.Add(gc); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"新增群控转换数据异常:{ex.Message}"); |
| | | } |
| | | } |
| | | try |
| | | { |
| | | var http = new HttpServerRequest(); |
| | | var pack = http.AddGroupControl(new List<GroupControl>() { groupControl }); |
| | | if (pack != null) |
| | | { |
| | | if(pack.Code == StateCode.SUCCESS) |
| | | { |
| | | backActon?.Invoke(); |
| | | this.RemoveFromParent(); |
| | | } |
| | | else |
| | | { |
| | | IMessageCommon.Current.ShowErrorInfoAlter(pack.Code); |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"新增群控异常:{ex.Message}"); |
| | | } |
| | | } |
| | | }; |
| | | |
| | | #endregion |
| | | |
| | | //加载功能筛选组件 |
| | | LoadDialog_ChangeFloor(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 显示的设备的总数 |
| | | /// </summary> |
| | | int showCount = 0; |
| | | |
| | | /// <summary> |
| | | /// 加载功能row |
| | | /// </summary> |
| | | /// <param name="lightList"></param> |
| | | void LoadLightRow(List<Function> functions, bool isAppend = false) |
| | | { |
| | | var waitPage = new Loading(); |
| | | bodyView.AddChidren(waitPage); |
| | | waitPage.Start(""); |
| | | |
| | | new Thread(() => |
| | | { |
| | | try |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | if (!isAppend) |
| | | { |
| | | showCount = 0; |
| | | functionListView.RemoveAll(); |
| | | } |
| | | int i = 0; |
| | | foreach (var function in functions) |
| | | { |
| | | i++; |
| | | if (i > 100) |
| | | { |
| | | break; |
| | | } |
| | | showCount++; |
| | | var functionDiv = new LightRow(function) |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | //Width = Application.GetRealWidth(343), |
| | | Height = Application.GetRealHeight(62), |
| | | BorderColor = 0x00FFFFFF, |
| | | BorderWidth = 1, |
| | | BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | Tag = function.spk + function.sid |
| | | }; |
| | | functionDiv.AddChidren(new Button() |
| | | { |
| | | Y = Application.GetRealHeight(61), |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Width = Application.GetRealWidth(343), |
| | | Height = Application.GetRealWidth(1), |
| | | BackgroundColor = CSS_Color.DividingLineColor, |
| | | }); |
| | | |
| | | Action setAction = () => |
| | | { |
| | | if (groupControlLightList.Count > 0) |
| | | { |
| | | btnConfrim.IsSelected = true; |
| | | } |
| | | else |
| | | { |
| | | btnConfrim.IsSelected = false; |
| | | } |
| | | }; |
| | | |
| | | functionDiv.LoadDiv(groupControlLightList, setAction); |
| | | functionListView.AddChidren(functionDiv); |
| | | } |
| | | |
| | | if (functions.Count > showCount) |
| | | { |
| | | var btnAppend = new Button() |
| | | { |
| | | Height = Application.GetRealHeight(60), |
| | | TextAlignment = TextAlignment.Center, |
| | | TextSize = CSS_FontSize.SubheadingFontSize, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | Text = "加载更多", |
| | | }; |
| | | if (Language.CurrentLanguage != "Chinese") |
| | | { |
| | | btnAppend.Text = "Load more"; |
| | | } |
| | | functionListView.AddChidren(btnAppend); |
| | | btnAppend.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | btnAppend.RemoveFromParent(); |
| | | LoadLightRow(functions, true); |
| | | }; |
| | | } |
| | | }); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log("ShowFunctionRowError : " + ex.Message); |
| | | } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | if (waitPage != null) |
| | | { |
| | | waitPage.RemoveFromParent(); |
| | | waitPage = null; |
| | | } |
| | | }); |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 住宅列表点击事件 |
| | | /// </summary> |
| | | void LoadDialog_ChangeFloor() |
| | | { |
| | | string nowSelectId = null; |
| | | btnFloor.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | //显示下拉列表 |
| | | var form = new FloorRoomSelectPopupView(); |
| | | form.ShowDeviceFunctionView(btnFloor, this.lightList, (selectId, listFunc) => |
| | | { |
| | | btnChooseAll.MouseUpEventHandler = (sender2, e2) => { |
| | | if (groupControlLightList.Count > 0) |
| | | { |
| | | groupControlLightList.Clear(); |
| | | btnChooseAll.TextID = StringId.SelectAll; |
| | | btnConfrim.IsSelected = false; |
| | | } |
| | | else |
| | | { |
| | | groupControlLightList.AddRange(listFunc); |
| | | btnChooseAll.TextID = StringId.Cancel; |
| | | btnConfrim.IsSelected = true; |
| | | } |
| | | LoadLightRow(listFunc); |
| | | }; |
| | | nowSelectId = selectId; |
| | | //重新加载界面 |
| | | LoadLightRow(listFunc); |
| | | }, nowSelectId); |
| | | }; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | //public class LightRow : FrameLayout |
| | | //{ |
| | | // #region 区域控件 |
| | | // static FrameLayout bodyDiv; |
| | | // /// <summary> |
| | | // /// 功能/场景icon |
| | | // /// </summary> |
| | | // Button btnIcon; |
| | | // /// <summary> |
| | | // /// 功能名称/场景名称 |
| | | // /// </summary> |
| | | // Button btnName; |
| | | // /// <summary> |
| | | // /// 楼层信息显示按钮 |
| | | // /// </summary> |
| | | // Button btnFromFloor; |
| | | // /// <summary> |
| | | // /// 选中按钮 |
| | | // /// </summary> |
| | | // Button btnSelect; |
| | | // #endregion |
| | | |
| | | // #region 区域变量 |
| | | // Function function; |
| | | // #endregion |
| | | // public LightRow(Function func) |
| | | // { |
| | | // bodyDiv = this; |
| | | // bodyDiv.Tag = func.sid; |
| | | // function = func; |
| | | // } |
| | | |
| | | |
| | | // /// <summary> |
| | | // /// 加载控制卡片区域 |
| | | // /// </summary> |
| | | // public void LoadDiv(List<Function> functions, Action action) |
| | | // { |
| | | // btnIcon = new Button() |
| | | // { |
| | | // X = Application.GetRealWidth(10), |
| | | // Y = Application.GetRealHeight(15), |
| | | // Width = Application.GetRealWidth(32), |
| | | // Height = Application.GetRealWidth(32), |
| | | // UnSelectedImagePath = $"FunctionIcon/Icon/{function.IconName}.png" |
| | | // }; |
| | | // bodyDiv.AddChidren(btnIcon); |
| | | |
| | | // btnName = new Button() |
| | | // { |
| | | // X = Application.GetRealWidth(8 + 10 + 32), |
| | | // Y = Application.GetRealHeight(10), |
| | | // Width = Application.GetRealWidth(200), |
| | | // Height = Application.GetRealHeight(24), |
| | | // Text = function.name, |
| | | // TextAlignment = TextAlignment.CenterLeft, |
| | | // TextColor = CSS_Color.FirstLevelTitleColor, |
| | | // TextSize = CSS_FontSize.TextFontSize, |
| | | // }; |
| | | // bodyDiv.AddChidren(btnName); |
| | | |
| | | // btnFromFloor = new Button() |
| | | // { |
| | | // X = Application.GetRealWidth(8 + 10 + 32), |
| | | // Y = Application.GetRealHeight(10 + 24), |
| | | // Width = Application.GetRealWidth(200), |
| | | // Height = Application.GetRealHeight(18), |
| | | // Text = function.GetRoomListName(), |
| | | // TextAlignment = TextAlignment.CenterLeft, |
| | | // TextColor = CSS_Color.PromptingColor1, |
| | | // TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | // }; |
| | | // bodyDiv.AddChidren(btnFromFloor); |
| | | |
| | | // btnSelect = new Button() |
| | | // { |
| | | // X = Application.GetRealWidth(303), |
| | | // Gravity = Gravity.CenterVertical, |
| | | // Width = Application.GetRealWidth(32), |
| | | // Height = Application.GetRealWidth(32), |
| | | // UnSelectedImagePath = "FunctionIcon/Light/LightScene/CheckIcon.png", |
| | | // SelectedImagePath = "FunctionIcon/Light/LightScene/CheckOnIcon.png", |
| | | // IsSelected = functions.Find((obj) => obj.deviceId == function.deviceId) != null |
| | | // }; |
| | | // bodyDiv.AddChidren(btnSelect); |
| | | |
| | | // btnSelect.MouseUpEventHandler = (sender, e) => { |
| | | // btnSelect.IsSelected = !btnSelect.IsSelected; |
| | | // if (btnSelect.IsSelected) |
| | | // { |
| | | // var addTemp = functions.Find((obj) => obj.deviceId == function.deviceId); |
| | | // if (addTemp == null) |
| | | // { |
| | | // functions.Add(function); |
| | | // } |
| | | // } |
| | | // else |
| | | // { |
| | | // var removeTemp = functions.Find((obj) => obj.deviceId == function.deviceId); |
| | | // if (removeTemp != null) |
| | | // { |
| | | // functions.Remove(removeTemp); |
| | | // } |
| | | // } |
| | | // ///刷新界面 |
| | | // if (functions.Count == 0 || functions.Count == 1) |
| | | // { |
| | | // action(); |
| | | // } |
| | | // }; |
| | | |
| | | // } |
| | | |
| | | |
| | | //} |
| | | |
| | | ///// <summary> |
| | | ///// 灯光场景编辑弹窗 |
| | | ///// </summary> |
| | | //public class LightSceneEditDialog : Dialog |
| | | //{ |
| | | |
| | | |
| | | // Dictionary<string, string> d = new Dictionary<string, string>(); |
| | | // List<Function> listSwitch = new List<Function>(); |
| | | // List<Function> lightDimming = new List<Function>(); |
| | | // List<Function> lightCCT = new List<Function>(); |
| | | // List<Function> lightRGB = new List<Function>(); |
| | | |
| | | // /// <summary> |
| | | // /// 传入的灯光列表 |
| | | // /// 加入场景控制功能列表 |
| | | // /// </summary> |
| | | // List<Function> lights; |
| | | // /// <summary> |
| | | // /// 临时灯光对象 |
| | | // /// 处理灯光方法 |
| | | // /// </summary> |
| | | // Light tempLight = new Light(); |
| | | // //发送数据收集 |
| | | // Dictionary<string, string> commandDic = new Dictionary<string, string>(); |
| | | |
| | | // Scene scene; |
| | | // Action<Scene> backAction; |
| | | // public LightSceneEditDialog(List<Function> functions, Scene inParScene, Action<Scene> action) |
| | | // { |
| | | // lights = functions; |
| | | // scene = inParScene; |
| | | // backAction = action; |
| | | // } |
| | | |
| | | |
| | | // public void ShowDialog() |
| | | // { |
| | | // commandDic.Clear(); |
| | | // commandDic.Add(FunctionAttributeKey.OnOff, "off"); |
| | | |
| | | // listSwitch = lights.FindAll((obj) => obj.spk == SPK.LightSwitch); |
| | | // lightDimming = lights.FindAll((obj) => obj.spk == SPK.LightDimming); |
| | | // lightCCT = lights.FindAll((obj) => obj.spk == SPK.LightCCT); |
| | | // lightRGB = lights.FindAll((obj) => obj.spk == SPK.LightRGB); |
| | | |
| | | |
| | | |
| | | // var hadDimming = lightDimming.Count > 0; |
| | | // var hadCCT = lightCCT.Count > 0; |
| | | // var hadRGB = lightRGB.Count > 0; |
| | | // if (hadRGB) |
| | | // { |
| | | // commandDic.Add(FunctionAttributeKey.RGB, lightRGB[0].GetAttrState(FunctionAttributeKey.RGB)); |
| | | // commandDic.Add(FunctionAttributeKey.Brightness, lightRGB[0].GetAttrState(FunctionAttributeKey.Brightness)); |
| | | // } |
| | | // if (hadCCT) |
| | | // { |
| | | // commandDic.Add(FunctionAttributeKey.CCT, lightCCT[0].GetAttrState(FunctionAttributeKey.CCT)); |
| | | // if (!commandDic.ContainsKey(FunctionAttributeKey.Brightness)) |
| | | // { |
| | | // commandDic.Add(FunctionAttributeKey.Brightness, lightCCT[0].GetAttrState(FunctionAttributeKey.Brightness)); |
| | | // } |
| | | // } |
| | | // if (hadDimming) |
| | | // { |
| | | // if (!commandDic.ContainsKey(FunctionAttributeKey.Brightness)) |
| | | // { |
| | | // commandDic.Add(FunctionAttributeKey.Brightness, lightDimming[0].GetAttrState(FunctionAttributeKey.Brightness)); |
| | | // } |
| | | // } |
| | | |
| | | // var bodyView = new FrameLayout(); |
| | | // this.AddChidren(bodyView); |
| | | // bodyView.MouseUpEventHandler = (sender, e) => { |
| | | // this.Close(); |
| | | // }; |
| | | |
| | | // var contentView = new FrameLayout() |
| | | // { |
| | | // BackgroundColor = CSS_Color.MainBackgroundColor, |
| | | // Width = Application.GetRealWidth(343), |
| | | // Radius = (uint)Application.GetRealWidth(12), |
| | | // }; |
| | | // bodyView.AddChidren(contentView); |
| | | |
| | | // #region 标题区 |
| | | // var titleView = new FrameLayout() |
| | | // { |
| | | // Width = Application.GetRealWidth(343), |
| | | // Height = Application.GetRealHeight(52), |
| | | // }; |
| | | // contentView.AddChidren(titleView); |
| | | |
| | | // var btnTitle = new Button() |
| | | // { |
| | | // Height = Application.GetRealHeight(52), |
| | | // Gravity = Gravity.Center, |
| | | // TextSize = CSS_FontSize.SubheadingFontSize, |
| | | // TextColor = CSS_Color.MainColor, |
| | | // TextID = StringId.CombinedDimming, |
| | | // TextAlignment = TextAlignment.Center, |
| | | // }; |
| | | // if (btnTitle.GetTextWidth() > Application.GetRealWidth(197))//247 |
| | | // { |
| | | // btnTitle.Width = Application.GetRealWidth(197); |
| | | // btnTitle.IsMoreLines = true; |
| | | // } |
| | | // else |
| | | // { |
| | | // btnTitle.Width = btnTitle.GetTextWidth() + Application.GetRealWidth(10); |
| | | // btnTitle.IsMoreLines = false; |
| | | // } |
| | | // titleView.AddChidren(btnTitle); |
| | | |
| | | // var btnEditIcon = new Button() |
| | | // { |
| | | // Width = Application.GetRealWidth(24), |
| | | // Height = Application.GetRealWidth(24), |
| | | // X = Application.GetRealWidth(12) + btnTitle.Right, |
| | | // Gravity = Gravity.CenterVertical, |
| | | // UnSelectedImagePath = "Public/Edit.png", |
| | | // }; |
| | | // if (string.IsNullOrEmpty(scene.userSceneId)) |
| | | // { |
| | | // titleView.AddChidren(btnEditIcon); |
| | | // } |
| | | // else |
| | | // { |
| | | // btnTitle.Text = scene.name; |
| | | // btnTitle.Width = btnTitle.GetTextWidth() + Application.GetRealWidth(10); |
| | | // btnTitle.Gravity = Gravity.Center; |
| | | // } |
| | | |
| | | // Action<string> callBack = (str) => |
| | | // { |
| | | // //名称不能为空 |
| | | // if (string.IsNullOrEmpty(str)) |
| | | // { |
| | | // new Tip() |
| | | // { |
| | | // CloseTime = 1, |
| | | // Text = Language.StringByID(StringId.NameCannotBeEmpty), |
| | | // Direction = AMPopTipDirection.None, |
| | | // }.Show(bodyView); |
| | | // return; |
| | | // } |
| | | // btnTitle.Text = str; |
| | | // scene.name = str; |
| | | |
| | | |
| | | // if (btnTitle.GetTextWidth() > Application.GetRealWidth(197))//247 |
| | | // { |
| | | // btnTitle.Width = Application.GetRealWidth(197); |
| | | // } |
| | | // else |
| | | // { |
| | | // btnTitle.Width = btnTitle.GetTextWidth(); |
| | | // } |
| | | |
| | | // }; |
| | | // EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | // { |
| | | // List<string> sceneNameList = new List<string>(); |
| | | // foreach (var tempScene in FunctionList.List.scenes) |
| | | // { |
| | | // sceneNameList.Add(tempScene.name); |
| | | // } |
| | | // new PublicAssmebly().LoadDialog_EditParater(StringId.SceneName, scene.name, callBack, StringId.SceneNameCannotBeEmpty, StringId.SceneNameAlreadyExists, sceneNameList); |
| | | // }; |
| | | // btnTitle.MouseUpEventHandler = eventHandler; |
| | | // btnEditIcon.MouseUpEventHandler = eventHandler; |
| | | |
| | | // titleView.AddChidren(new Button() { Height = 1, BackgroundColor = CSS_Color.DividingLineColor, Y = Application.GetRealHeight(51) }); |
| | | |
| | | // #endregion |
| | | |
| | | |
| | | // //var dimmingLight = lights.Find((obj) => obj.spk == SPK.LightDimming); |
| | | // //var cctLight = lights.Find((obj) => obj.spk == SPK.LightCCT); |
| | | // //var rgbLight = lights.Find((obj) => obj.spk == SPK.LightRGB); |
| | | // var dimmingLight = scene.functions.Find((obj) => obj.localFunction.spk == SPK.LightDimming); |
| | | // var cctLight = scene.functions.Find((obj) => obj.localFunction.spk == SPK.LightCCT); |
| | | // var rgbLight = scene.functions.Find((obj) => obj.localFunction.spk == SPK.LightRGB); |
| | | |
| | | // var brightnessValue = 0; |
| | | // var cctValue = 27; |
| | | // //if(rgbLight!= null) |
| | | // //{ |
| | | // // int.TryParse(rgbLight.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness).value, out brightnessValue); |
| | | // //} |
| | | // //if (cctLight != null) |
| | | // //{ |
| | | // // int.TryParse(cctLight.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness).value, out brightnessValue); |
| | | // // int.TryParse(cctLight.status.Find((obj) => obj.key == FunctionAttributeKey.CCT).value, out cctValue); |
| | | // //} |
| | | // //if(dimmingLight!=null) |
| | | // //{ |
| | | // // int.TryParse(cctLight.status.Find((obj) => obj.key == FunctionAttributeKey.CCT).value, out brightnessValue); |
| | | // //} |
| | | |
| | | |
| | | // //属性设置区域 |
| | | // var attrView = new VerticalScrolViewLayout() |
| | | // { |
| | | // Y = Application.GetRealHeight(52), |
| | | // Width = Application.GetRealWidth(343), |
| | | // ScrollEnabled = false, |
| | | // }; |
| | | // //属性设置区域高度 |
| | | // int attrViewHight = Application.GetRealHeight(18 + 22); |
| | | |
| | | |
| | | // //只有继电器 |
| | | // if (!hadDimming && !hadCCT && !hadRGB) |
| | | // { |
| | | // attrViewHight += Application.GetRealHeight(50); |
| | | // attrView.Height = attrViewHight; |
| | | // contentView.AddChidren(attrView); |
| | | // attrView.AddChidren(new Button() { Height = Application.GetRealHeight(18) }); |
| | | |
| | | // var view = new FrameLayout() |
| | | // { |
| | | // Width = Application.GetRealWidth(343), |
| | | // Height = Application.GetRealHeight(50), |
| | | // }; |
| | | // attrView.AddChidren(view); |
| | | |
| | | |
| | | // var btnClose = new Button() |
| | | // { |
| | | // X = Application.GetRealWidth(50), |
| | | // Gravity = Gravity.CenterVertical, |
| | | // Width = Application.GetRealWidth(98), |
| | | // Height = Application.GetRealHeight(40), |
| | | // TextColor = CSS_Color.TextualColor, |
| | | // SelectedBackgroundColor = CSS_Color.MainColor, |
| | | // SelectedTextColor = CSS_Color.MainBackgroundColor, |
| | | // BackgroundColor = CSS_Color.DividingLineColor, |
| | | // TextID = StringId.OFF, |
| | | // TextSize = CSS_FontSize.TextFontSize, |
| | | // Radius = (uint)Application.GetRealWidth(5), |
| | | // IsSelected = true, |
| | | // //BorderWidth = 1, |
| | | // //BorderColor = 0x00000000 |
| | | // }; |
| | | // view.AddChidren(btnClose); |
| | | |
| | | // var btnOpen = new Button() |
| | | // { |
| | | // X = Application.GetRealWidth(100 + 98), |
| | | // Gravity = Gravity.CenterVertical, |
| | | // Width = Application.GetRealWidth(98), |
| | | // Height = Application.GetRealHeight(40), |
| | | // TextColor = CSS_Color.TextualColor, |
| | | // SelectedBackgroundColor = CSS_Color.MainColor, |
| | | // SelectedTextColor = CSS_Color.MainBackgroundColor, |
| | | // BackgroundColor = CSS_Color.DividingLineColor, |
| | | // TextID = StringId.On, |
| | | // TextSize = CSS_FontSize.TextFontSize, |
| | | // Radius = (uint)Application.GetRealWidth(5), |
| | | // }; |
| | | // view.AddChidren(btnOpen); |
| | | |
| | | // btnClose.MouseUpEventHandler = (sender, e) => |
| | | // { |
| | | // btnClose.IsSelected = true; |
| | | // btnOpen.IsSelected = false; |
| | | // commandDic[FunctionAttributeKey.OnOff] = "off"; |
| | | // d.Clear(); |
| | | // d.Add(FunctionAttributeKey.OnOff, "off"); |
| | | // foreach (var light in lights) |
| | | // { |
| | | // Control.Ins.SendWriteCommand(light, d); |
| | | // } |
| | | // }; |
| | | // btnOpen.MouseUpEventHandler = (sender, e) => |
| | | // { |
| | | // btnClose.IsSelected = false; |
| | | // btnOpen.IsSelected = true; |
| | | // commandDic[FunctionAttributeKey.OnOff] = "on"; |
| | | // d.Clear(); |
| | | // d.Add(FunctionAttributeKey.OnOff, "on"); |
| | | // foreach (var light in lights) |
| | | // { |
| | | // Control.Ins.SendWriteCommand(light, d); |
| | | // } |
| | | // }; |
| | | |
| | | // } |
| | | |
| | | // else |
| | | // { |
| | | // if (hadRGB) |
| | | // { |
| | | // attrViewHight += Application.GetRealHeight(248); |
| | | // hadDimming = true; |
| | | // } |
| | | // if (hadCCT) |
| | | // { |
| | | // attrViewHight += Application.GetRealHeight(54 + 11); |
| | | // hadDimming = true; |
| | | // } |
| | | // if (hadDimming) |
| | | // { |
| | | // attrViewHight += Application.GetRealHeight(54 + 11); |
| | | // } |
| | | // attrView.Height = attrViewHight; |
| | | // contentView.AddChidren(attrView); |
| | | // attrView.AddChidren(new Button() { Height = Application.GetRealHeight(18) }); |
| | | |
| | | |
| | | // if (hadDimming) |
| | | // { |
| | | // LoadDimmingAttrView(attrView); |
| | | // } |
| | | // if (hadCCT) |
| | | // { |
| | | // LoadCctAttrView(attrView); |
| | | // } |
| | | // if (hadRGB) |
| | | // { |
| | | // LoadRgbAttrView(attrView); |
| | | // } |
| | | // } |
| | | |
| | | // contentView.Height = Application.GetRealHeight(52 + 44) + attrViewHight; |
| | | // contentView.Gravity = Gravity.Center; |
| | | |
| | | |
| | | |
| | | |
| | | // #region bottom View |
| | | // var bottomView = new FrameLayout() |
| | | // { |
| | | // Y = Application.GetRealHeight(52) + attrViewHight, |
| | | // Height = Application.GetRealHeight(46), |
| | | // }; |
| | | // contentView.AddChidren(bottomView); |
| | | // bottomView.AddChidren(new Button() { Height = 1, BackgroundColor = CSS_Color.DividingLineColor }); |
| | | |
| | | // if (string.IsNullOrEmpty(scene.userSceneId)) |
| | | // { |
| | | // var btnCacel = new Button() |
| | | // { |
| | | // Width = Application.GetRealWidth(172), |
| | | // Height = Application.GetRealHeight(44), |
| | | // TextAlignment = TextAlignment.Center, |
| | | // TextSize = CSS_FontSize.SubheadingFontSize, |
| | | // TextColor = CSS_Color.TextualColor, |
| | | // TextID = StringId.Cancel, |
| | | // }; |
| | | // bottomView.AddChidren(btnCacel); |
| | | |
| | | // var btnSave = new Button() |
| | | // { |
| | | // X = Application.GetRealWidth(172), |
| | | // Width = Application.GetRealWidth(172), |
| | | // Height = Application.GetRealHeight(46), |
| | | // BackgroundColor = CSS_Color.MainColor, |
| | | // TextColor = CSS_Color.MainBackgroundColor, |
| | | // TextAlignment = TextAlignment.Center, |
| | | // TextSize = CSS_FontSize.SubheadingFontSize, |
| | | // TextID = StringId.Save |
| | | // }; |
| | | // bottomView.AddChidren(btnSave); |
| | | |
| | | // //例:右下圆角 大小为50 |
| | | // int mRectCornerID = HDLUtils.RectCornerBottomRight; |
| | | // btnSave.SetCornerWithSameRadius((uint)Application.GetRealWidth(14), mRectCornerID); |
| | | |
| | | // btnCacel.MouseUpEventHandler = (sender, e) => |
| | | // { |
| | | // this.Close(); |
| | | |
| | | // //var waitPage = new Loading(); |
| | | // //MainPage.BaseView.AddChidren(waitPage); |
| | | // //waitPage.Start(Language.StringByID(StringId.PleaseWait)); |
| | | // //new Thread(() => |
| | | // //{ |
| | | // // try |
| | | // // { |
| | | // // foreach (var light in lights) |
| | | // // { |
| | | // // Dictionary<string, string> sendDate = new Dictionary<string, string>(); |
| | | // // //赋值场景功能数据 |
| | | // // foreach (var attr in light.GetAttributes()) |
| | | // // { |
| | | // // if (commandDic.ContainsKey(attr)) |
| | | // // { |
| | | // // try |
| | | // // { |
| | | // // sendDate.Add(attr, commandDic[attr]); |
| | | // // } |
| | | // // catch { } |
| | | // // } |
| | | |
| | | // // } |
| | | // // Control.Ins.SendWriteCommand(light, sendDate); |
| | | // // Thread.Sleep(50); |
| | | // // } |
| | | // // } |
| | | // // catch |
| | | // // { } |
| | | // // finally |
| | | // // { |
| | | // // Application.RunOnMainThread(() => |
| | | // // { |
| | | // // waitPage.Hide(); |
| | | // // new PublicAssmebly().TipMsgAutoClose("组合控制已执行", true); |
| | | // // if (waitPage != null) |
| | | // // { |
| | | // // //backAction(null); |
| | | // // waitPage.RemoveFromParent(); |
| | | // // } |
| | | // // }); |
| | | // // } |
| | | // //}) |
| | | // //{ IsBackground = true }.Start(); |
| | | // }; |
| | | |
| | | // btnSave.MouseUpEventHandler = (sender, e) => |
| | | // { |
| | | // if (string.IsNullOrEmpty(scene.name)) |
| | | // { |
| | | // new Tip() |
| | | // { |
| | | // CloseTime = 1, |
| | | // Text = Language.StringByID(StringId.NameCannotBeEmpty), |
| | | // Direction = AMPopTipDirection.None, |
| | | // }.Show(bodyView); |
| | | // return; |
| | | // } |
| | | // foreach (var tempRoom in FunctionList.List.scenes) |
| | | // { |
| | | // if (scene.name == tempRoom.name) |
| | | // { |
| | | // new PublicAssmebly().TipMsg(StringId.Tip, StringId.NameAlreadyExists); |
| | | // return; |
| | | // } |
| | | // } |
| | | // var waitPage = new Loading(); |
| | | // MainPage.BaseView.AddChidren(waitPage); |
| | | // waitPage.Start(Language.StringByID(StringId.PleaseWait)); |
| | | // new Thread(() => |
| | | // { |
| | | // try |
| | | // { |
| | | // var serverScene = new Scene(); |
| | | // for (int i = 0; i < lights.Count; i++) |
| | | // { |
| | | // var light = lights[i]; |
| | | // //赋值场景功能数据 |
| | | // foreach (var attr in light.GetAttributes()) |
| | | // { |
| | | // if (commandDic.ContainsKey(attr)) |
| | | // { |
| | | // try |
| | | // { |
| | | // light.SetAttrState(attr, commandDic[attr]); |
| | | // } |
| | | // catch { } |
| | | // } |
| | | // } |
| | | // //转换场景的功能对象 |
| | | // var sceneFunction = light.ConvertSceneFunction(); |
| | | // //查询有没有存在 |
| | | // var temp = scene.functions.Find((obj) => obj.sid == sceneFunction.sid); |
| | | // //赋值 |
| | | // if (temp != null) |
| | | // { |
| | | // temp = sceneFunction; |
| | | // } |
| | | // else |
| | | // { |
| | | // scene.functions.Add(sceneFunction); |
| | | // } |
| | | // } |
| | | // var result = FunctionList.List.AddScene(scene, out serverScene); |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // if (result == StateCode.SUCCESS) |
| | | // { |
| | | // scene.userSceneId = serverScene.userSceneId; |
| | | // FunctionList.List.scenes.Add(scene); |
| | | // backAction?.Invoke(scene); |
| | | // this.Close(); |
| | | // } |
| | | // else |
| | | // { |
| | | // if (result == "124005") |
| | | // IMessageCommon.Current.ShowErrorInfoAlter(Language.StringByID(StringId.GatewayOffline)); |
| | | // else |
| | | // IMessageCommon.Current.ShowErrorInfoAlter(result); |
| | | // } |
| | | // }); |
| | | // } |
| | | // catch { } |
| | | // finally |
| | | // { |
| | | // Application.RunOnMainThread(() => |
| | | // { |
| | | // waitPage.Hide(); |
| | | // waitPage.RemoveFromParent(); |
| | | // }); |
| | | // } |
| | | // }) |
| | | // { IsBackground = true, Priority = ThreadPriority.AboveNormal }.Start(); |
| | | // }; |
| | | // } |
| | | // else |
| | | // { |
| | | // var btnCacel = new Button() |
| | | // { |
| | | // Height = Application.GetRealHeight(44), |
| | | // TextAlignment = TextAlignment.Center, |
| | | // TextSize = CSS_FontSize.SubheadingFontSize, |
| | | // TextColor = CSS_Color.TextualColor, |
| | | // TextID = StringId.Close, |
| | | // }; |
| | | // bottomView.AddChidren(btnCacel); |
| | | |
| | | |
| | | // //例:右下圆角 大小为50 |
| | | // //int mRectCornerID = HDLUtils.RectCornerBottomRight; |
| | | // //btnSave.SetCornerWithSameRadius((uint)Application.GetRealWidth(14), mRectCornerID); |
| | | |
| | | // btnCacel.MouseUpEventHandler = (sender, e) => |
| | | // { |
| | | // this.Close(); |
| | | // }; |
| | | |
| | | // } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | // #endregion |
| | | |
| | | |
| | | // this.Show(); |
| | | |
| | | // } |
| | | |
| | | // /// <summary> |
| | | // /// 加载调光属性设置控件 |
| | | // /// </summary> |
| | | // /// <param name="attrView"></param> |
| | | // void LoadDimmingAttrView(VerticalScrolViewLayout attrView) |
| | | // { |
| | | // string briValue = ""; |
| | | // commandDic.TryGetValue(FunctionAttributeKey.Brightness, out briValue); |
| | | |
| | | // var dimmingView = new FrameLayout() |
| | | // { |
| | | // Height = Application.GetRealHeight(54 + 11) |
| | | // }; |
| | | // attrView.AddChidren(dimmingView); |
| | | |
| | | // #region 亮度调节 |
| | | // var btnBrightnessText = new Button() |
| | | // { |
| | | // X = Application.GetRealWidth(35), |
| | | // Y = Application.GetRealHeight(1), |
| | | // Width = Application.GetRealWidth(224), |
| | | // Height = Application.GetRealHeight(25), |
| | | // TextAlignment = TextAlignment.CenterLeft, |
| | | // TextColor = CSS_Color.FirstLevelTitleColor, |
| | | // TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | // TextID = StringId.Brightness, |
| | | // }; |
| | | // btnBrightnessText.Text = Language.StringByID(StringId.Brightness) + " " + commandDic[FunctionAttributeKey.Brightness] + "%"; |
| | | // dimmingView.AddChidren(btnBrightnessText); |
| | | |
| | | |
| | | // var btnMinValuesText = new Button() |
| | | // { |
| | | // X = Application.GetRealWidth(35), |
| | | // Y = btnBrightnessText.Bottom, |
| | | // Width = Application.GetRealWidth(40), |
| | | // Height = Application.GetRealHeight(21), |
| | | // Text = "0%", |
| | | // TextAlignment = TextAlignment.CenterLeft, |
| | | // TextColor = CSS_Color.PromptingColor1, |
| | | // TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | // }; |
| | | // dimmingView.AddChidren(btnMinValuesText); |
| | | |
| | | // var dimmerBar = new DiyImageSeekBar() |
| | | // { |
| | | // X = Application.GetRealWidth(45 + 10), |
| | | // Y = Application.GetRealHeight(11), |
| | | // Width = Application.GetRealWidth(220), |
| | | // Height = Application.GetRealHeight(54), |
| | | // SeekBarViewHeight = Application.GetRealHeight(8), |
| | | // ThumbImagePath = "Public/ThumbImage.png", |
| | | // ThumbImageHeight = Application.GetRealHeight(54), |
| | | // ProgressTextColor = CSS_Color.FirstLevelTitleColor, |
| | | // ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | // ProgressBarColor = CSS_Color.AuxiliaryColor1, |
| | | // MaxValue = 100, |
| | | // Progress = Convert.ToInt32(commandDic[FunctionAttributeKey.Brightness]), |
| | | // SeekBarPadding = Application.GetRealWidth(20), |
| | | // IsProgressTextShow = false, |
| | | // ProgressChangeDelayTime = 0, |
| | | // }; |
| | | // dimmingView.AddChidren(dimmerBar); |
| | | // dimmerBar.OnProgressChangedEvent = (sender, e) => { |
| | | // btnBrightnessText.Text = Language.StringByID(StringId.Brightness) + " " + e + "%"; |
| | | // }; |
| | | // dimmerBar.OnStopTrackingTouchEvent = (sender, e) => { |
| | | // commandDic[FunctionAttributeKey.Brightness] = dimmerBar.Progress.ToString(); |
| | | // btnBrightnessText.Text = Language.StringByID(StringId.Brightness) + " " + e + "%"; |
| | | |
| | | // foreach (var light in lights) |
| | | // { |
| | | // if (light.spk == SPK.LightSwitch) |
| | | // { |
| | | // d.Clear(); |
| | | // d.Add(FunctionAttributeKey.OnOff, e > 0 ? "on" : "off"); |
| | | // Control.Ins.SendWriteCommand(light, d); |
| | | // } |
| | | // else |
| | | // { |
| | | // d.Clear(); |
| | | // d.Add(FunctionAttributeKey.Brightness, e.ToString()); |
| | | // Control.Ins.SendWriteCommand(light, d); |
| | | // } |
| | | // } |
| | | // }; |
| | | |
| | | |
| | | // var btnMaxValuesText = new Button() |
| | | // { |
| | | // X = dimmerBar.Right, |
| | | // Y = btnBrightnessText.Bottom, |
| | | // Width = Application.GetRealWidth(55), |
| | | // Height = Application.GetRealHeight(21), |
| | | // Text = "100%", |
| | | // TextAlignment = TextAlignment.CenterLeft, |
| | | // TextColor = CSS_Color.PromptingColor1, |
| | | // TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | // }; |
| | | // dimmingView.AddChidren(btnMaxValuesText); |
| | | // #endregion |
| | | |
| | | // } |
| | | |
| | | // /// <summary> |
| | | // /// 加载cct属性设置控件 |
| | | // /// </summary> |
| | | // /// <param name="attrView"></param> |
| | | // void LoadCctAttrView(VerticalScrolViewLayout attrView) |
| | | // { |
| | | // #region 色温 |
| | | |
| | | // string valueStr = "2700"; |
| | | // commandDic.TryGetValue(FunctionAttributeKey.CCT, out valueStr); |
| | | // int value = Convert.ToInt32(valueStr) / 100; |
| | | |
| | | // var cctView = new FrameLayout() |
| | | // { |
| | | // Height = Application.GetRealHeight(54 + 11) |
| | | // }; |
| | | // attrView.AddChidren(cctView); |
| | | |
| | | |
| | | // //色温 |
| | | // var btnTempClolor = new Button(); |
| | | // btnTempClolor.X = Application.GetRealWidth(35); |
| | | // btnTempClolor.Y = Application.GetRealHeight(1); |
| | | // btnTempClolor.Width = Application.GetRealWidth(224); |
| | | // btnTempClolor.Height = Application.GetRealHeight(21); |
| | | // btnTempClolor.TextAlignment = TextAlignment.CenterLeft; |
| | | // btnTempClolor.TextColor = CSS_Color.FirstLevelTitleColor; |
| | | // btnTempClolor.TextSize = CSS_FontSize.PromptFontSize_FirstLevel; |
| | | // btnTempClolor.TextID = StringId.ColorTemperature; |
| | | // cctView.AddChidren(btnTempClolor); |
| | | |
| | | // //2700K |
| | | // var btnTempClolorMin = new Button() |
| | | // { |
| | | // X = Application.GetRealWidth(35), |
| | | // Y = btnTempClolor.Bottom, |
| | | // Width = Application.GetRealWidth(40), |
| | | // Height = Application.GetRealHeight(21), |
| | | // }; |
| | | // btnTempClolorMin.Width = Application.GetRealWidth(54); |
| | | // btnTempClolorMin.Height = Application.GetRealHeight(21); |
| | | // btnTempClolorMin.Text = "2700K"; |
| | | // btnTempClolorMin.TextAlignment = TextAlignment.CenterLeft; |
| | | // btnTempClolorMin.TextColor = CSS_Color.PromptingColor1; |
| | | // btnTempClolorMin.TextSize = CSS_FontSize.PromptFontSize_FirstLevel; |
| | | // cctView.AddChidren(btnTempClolorMin); |
| | | |
| | | // //滑动条的背景图片 |
| | | // var btnColorTemplatrueBack = new Button() |
| | | // { |
| | | // X = Application.GetRealWidth(55 + 22 + 15), |
| | | // Y = Application.GetRealHeight(11), |
| | | // Width = Application.GetRealWidth(180), |
| | | // Height = Application.GetRealHeight(54), |
| | | // }; |
| | | // btnColorTemplatrueBack.UnSelectedImagePath = "FunctionIcon/Light/ColorTemperatureBar.png"; |
| | | // btnColorTemplatrueBack.Height = Application.GetRealHeight(8); |
| | | // btnColorTemplatrueBack.Gravity = Gravity.CenterHorizontal; |
| | | // cctView.AddChidren(btnColorTemplatrueBack); |
| | | // //滑动条控件 |
| | | // var barColorTemplatrue = new CCTSeekBarControl() |
| | | // { |
| | | // X = Application.GetRealWidth(55 + 22), |
| | | // Y = Application.GetRealHeight(11), |
| | | // Width = Application.GetRealWidth(220), |
| | | // Height = Application.GetRealHeight(54), |
| | | // }; |
| | | // barColorTemplatrue.MinValue = 27; |
| | | // barColorTemplatrue.MaxValue = 65; |
| | | // barColorTemplatrue.ProgressBarColor = 0x00000000;//全部透明 |
| | | // barColorTemplatrue.ProgressBarUnEnableColor = 0x00000000; |
| | | // barColorTemplatrue.SeekBarBackgroundColor = 0x00000000; |
| | | // cctView.AddChidren(barColorTemplatrue); |
| | | // barColorTemplatrue.Y = btnTempClolorMin.Y - (barColorTemplatrue.Height - btnTempClolorMin.Height) / 2; |
| | | // barColorTemplatrue.Progress = value; |
| | | // //设置初始值 |
| | | // btnTempClolor.Text = Language.StringByID(StringId.ColorTemperature) + " " + (barColorTemplatrue.Progress * 100 + "K"); |
| | | // barColorTemplatrue.OnProgressChangedEvent = (sender, e) => |
| | | // { |
| | | // btnTempClolor.Text = Language.StringByID(StringId.ColorTemperature) + " " + (barColorTemplatrue.Progress * 100 + "K"); |
| | | // }; |
| | | // barColorTemplatrue.OnStopTrackingTouchEvent = (sender, e) => |
| | | // { |
| | | // commandDic[FunctionAttributeKey.CCT] = (barColorTemplatrue.Progress * 100).ToString(); |
| | | |
| | | // d.Clear(); |
| | | // d.Add(FunctionAttributeKey.CCT, (barColorTemplatrue.Progress * 100).ToString()); |
| | | // foreach (var light in lightCCT) |
| | | // { |
| | | // if (light.spk == SPK.LightCCT) |
| | | // { |
| | | // Control.Ins.SendWriteCommand(light, d); |
| | | // } |
| | | // } |
| | | // }; |
| | | // //变更背景图的Y轴坐标 |
| | | // btnColorTemplatrueBack.Y = barColorTemplatrue.Y + (barColorTemplatrue.Height - btnColorTemplatrueBack.Height) / 2; |
| | | |
| | | // //6500K |
| | | // var btnTempClolorMax = new Button(); |
| | | // btnTempClolorMax.Y = btnTempClolorMin.Y; |
| | | // btnTempClolorMax.X = barColorTemplatrue.Right - Application.GetRealWidth(30); |
| | | // btnTempClolorMax.Width = Application.GetRealWidth(54); |
| | | // btnTempClolorMax.Height = Application.GetRealHeight(21); |
| | | // btnTempClolorMax.Text = "6500K"; |
| | | // btnTempClolorMax.TextAlignment = TextAlignment.CenterRight; |
| | | // btnTempClolorMax.TextColor = CSS_Color.PromptingColor1; |
| | | // btnTempClolorMax.TextSize = CSS_FontSize.PromptFontSize_FirstLevel; |
| | | // cctView.AddChidren(btnTempClolorMax); |
| | | |
| | | // #endregion |
| | | |
| | | |
| | | // } |
| | | |
| | | // /// <summary> |
| | | // /// 加载rgb属性设置控件 |
| | | // /// </summary> |
| | | // /// <param name="attrView"></param> |
| | | // void LoadRgbAttrView(VerticalScrolViewLayout attrView) |
| | | // { |
| | | |
| | | // #region RGB |
| | | |
| | | // string value = "255,255,255"; |
| | | // commandDic.TryGetValue(FunctionAttributeKey.RGB, out value); |
| | | |
| | | // var rgbView = new FrameLayout() |
| | | // { |
| | | // Height = Application.GetRealHeight(248) |
| | | // }; |
| | | // attrView.AddChidren(rgbView); |
| | | |
| | | |
| | | // var btnCurColor = new Button() |
| | | // { |
| | | // X = Application.GetRealWidth(24), |
| | | // Y = Application.GetRealHeight(10), |
| | | // Width = Application.GetMinRealAverage(24), |
| | | // Height = Application.GetMinRealAverage(24), |
| | | // Radius = (uint)Application.GetMinRealAverage(8), |
| | | // BorderColor = CSS_Color.PromptingColor2, |
| | | // BorderWidth = 1, |
| | | // BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(commandDic[FunctionAttributeKey.RGB])) |
| | | // }; |
| | | // rgbView.AddChidren(btnCurColor); |
| | | |
| | | // //色盘的桌布控件(限制那个白色滑动球使用) |
| | | // var framePickerBack = new FrameLayout(); |
| | | // framePickerBack.Gravity = Gravity.CenterHorizontal; |
| | | // framePickerBack.Y = Application.GetRealHeight(20); |
| | | // framePickerBack.Width = Application.GetMinRealAverage(198); |
| | | // framePickerBack.Height = Application.GetMinRealAverage(198); |
| | | // rgbView.AddChidren(framePickerBack); |
| | | |
| | | // var colorPicker = new ColorPicker() |
| | | // { |
| | | // ColorImagePath = "FunctionIcon/Light/ColorWheel.png", |
| | | // }; |
| | | // framePickerBack.AddChidren(colorPicker); |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | // //白点控件 |
| | | // var btnWhiteRound = new Button(); |
| | | // btnWhiteRound.Width = Application.GetRealWidth(24); |
| | | // btnWhiteRound.Height = Application.GetRealWidth(24); |
| | | // btnWhiteRound.UnSelectedImagePath = "FunctionIcon/Light/ColorWheelTip.png"; |
| | | // btnWhiteRound.Visible = false; |
| | | // framePickerBack.AddChidren(btnWhiteRound); |
| | | |
| | | |
| | | // //当前点击的【点】是否正确 |
| | | // bool pointIsRight = false; |
| | | // //圆的半径(考虑边界,需要设置它的半径比较小一点) |
| | | // int circleR = colorPicker.Width / 2 - Application.GetRealWidth(12); |
| | | |
| | | // colorPicker.MouseUpEventHandler = (sender2, e) => { |
| | | // d.Clear(); |
| | | // d.Add(FunctionAttributeKey.RGB, commandDic[FunctionAttributeKey.RGB]); |
| | | // foreach (var light in lightCCT) |
| | | // { |
| | | // if (light.spk == SPK.LightCCT) |
| | | // { |
| | | // Control.Ins.SendWriteCommand(light, d); |
| | | // } |
| | | // } |
| | | // }; |
| | | // colorPicker.ColorChaged += (sender2, e2) => { |
| | | // string rgbString = (e2[0] + "," + e2[1] + "," + e2[2]).ToString(); |
| | | // commandDic[FunctionAttributeKey.RGB] = rgbString; |
| | | // btnCurColor.BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(rgbString)); |
| | | // foreach (var rgbTemp in lightRGB) |
| | | // { |
| | | // rgbTemp.SetAttrState(FunctionAttributeKey.RGB, rgbString); |
| | | // } |
| | | // }; |
| | | // colorPicker.MouseDownEventHandler += (sender, e) => |
| | | // { |
| | | // pointIsRight = this.CheckPoint(circleR, colorPicker.Width / 2, colorPicker.Height / 2, (int)e.X, (int)e.Y); |
| | | // if (pointIsRight == false) |
| | | // { |
| | | // //点的区域不是圆盘内 |
| | | // return; |
| | | // } |
| | | // //显示白点 |
| | | // btnWhiteRound.X = (int)e.X - btnWhiteRound.Width / 2; |
| | | // btnWhiteRound.Y = (int)e.Y - btnWhiteRound.Height / 2; |
| | | // if (btnWhiteRound.Visible == false) |
| | | // { |
| | | // btnWhiteRound.Visible = true; |
| | | // } |
| | | // }; |
| | | // colorPicker.MouseUpEventHandler = (sender, e) => { |
| | | // foreach (var rgbTemp in lightRGB) |
| | | // { |
| | | // Dictionary<string, string> d = new Dictionary<string, string>(); |
| | | // d.Add(FunctionAttributeKey.RGB, tempLight.GetRGBcolorString(rgbTemp)); |
| | | // Control.Ins.SendWriteCommand(rgbTemp, d, false, 0); |
| | | // } |
| | | // }; |
| | | |
| | | // colorPicker.MouseMoveEventHandler += (sender, e) => |
| | | // { |
| | | // //当鼠标点下事件处理 |
| | | // colorPicker.MouseDownEventHandler(sender, e); |
| | | // }; |
| | | |
| | | |
| | | // #endregion |
| | | |
| | | // } |
| | | |
| | | |
| | | // /// <summary> |
| | | // /// 检测点击点 |
| | | // /// </summary> |
| | | // /// <param name="circleR">圆的半径</param> |
| | | // /// <param name="circleX">圆心X轴</param> |
| | | // /// <param name="circleY">圆心Y轴</param> |
| | | // /// <param name="pointX">点击点的X轴</param> |
| | | // /// <param name="pointY">点击点的Y轴</param> |
| | | // /// <returns></returns> |
| | | // private bool CheckPoint(int circleR, int circleX, int circleY, int pointX, int pointY) |
| | | // { |
| | | // int dwidth = circleX - pointX; |
| | | // if (dwidth < 0) { dwidth *= -1; } |
| | | |
| | | // int dHeight = circleY - pointY; |
| | | // if (dHeight < 0) { dHeight *= -1; } |
| | | |
| | | // //根据三角函数,求三角形的斜边长 |
| | | // int dlength = dwidth * dwidth + dHeight * dHeight; |
| | | // //半径长度(不开方,所以是按平方算) |
| | | // circleR *= circleR; |
| | | // if (dlength < circleR) |
| | | // { |
| | | // //如果组成的三角形并没有长过半径,则代表还在圆内(不允许点边界) |
| | | // return true; |
| | | // } |
| | | // return false; |
| | | // } |
| | | |
| | | //} |
| | | |
| | | } |