From cb6e11c5067ecaba4d8f9907989154167c1e8943 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 09 六月 2021 17:15:05 +0800 Subject: [PATCH] Merge branch 'wxr4' into dev-tzy --- HDL_ON/UI/UI2/FuntionControlView/Electrical/PjtPage.cs | 674 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 674 insertions(+), 0 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/PjtPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/PjtPage.cs new file mode 100644 index 0000000..523142c --- /dev/null +++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/PjtPage.cs @@ -0,0 +1,674 @@ +锘縰sing System; +using System.Collections.Generic; +using HDL_ON.DriverLayer; +using HDL_ON.Entity; +using HDL_ON.UI.CSS; +using Shared; + +namespace HDL_ON.UI +{ + /// <summary> + /// 鎶曞奖浠〉闈� + /// </summary> + public class PjtPage : FrameLayout + { + #region 鎺т欢闆嗗悎 + FrameLayout bodyView; + /// <summary> + /// 鍔熻兘鍚嶇О鎸夐挳 + /// </summary> + Button btnFunctionName; + /// <summary> + /// 鎴块棿妤煎眰淇℃伅鎸夐挳 + /// </summary> + Button btnFromFoorAndRoom; + /// <summary> + /// 鏀惰棌鎸夐挳 + /// </summary> + Button btnCollection; + + FrameLayout topMenuView; + Button btnTopMenuUp; + Button btnTopMenuLeft; + Button btnTopMenuRight; + Button btnTopMenuDown; + Button btnOk; + FrameLayout channleView; + Button btnChlReduce; + Button btnChlPlus; + FrameLayout volView; + Button btnVolReduce; + Button btnVolPlus; + Button btnBack; + Button btnMenu; + Button btnMore; + Button btnPower; + + #endregion + + #region 鍖哄煙鍙橀噺 + //TV tvTemp = new TV(); + Function device; + Button btnCollection_Out; + Button btnFunctionName_Out; + Button btnFromFloor_Out; + /// <summary> + /// 鍒锋柊鏄剧ず淇℃伅 + /// </summary> + Action actionRefresh; + #endregion + + public PjtPage(Function func) + { + bodyView = this; + device = func; + } + + + public void LoadPage(Button btnCollectionIcon, Button btnFunctionNameOut, Button btnFromFloorOut) + { + bodyView.BackgroundColor = CSS_Color.BackgroundColor; + btnCollection_Out = btnCollectionIcon; + btnFunctionName_Out = btnFunctionNameOut; + btnFromFloor_Out = btnFromFloorOut; + + FrameLayout controlView = new FrameLayout() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(88), + Width = Application.GetRealWidth(327), + Height = Application.GetRealHeight(526), + BackgroundImagePath = "Public/Fragmentbg.png", + }; + bodyView.AddChidren(controlView); + + btnFunctionName = new Button() + { + X = Application.GetRealWidth(16), + Y = Application.GetRealHeight(14), + Width = Application.GetRealWidth(270), + Height = Application.GetRealHeight(37), + TextColor = CSS_Color.FirstLevelTitleColor, + TextAlignment = TextAlignment.CenterLeft, + TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel, + Text = device.name, + }; + controlView.AddChidren(btnFunctionName); + + btnFromFoorAndRoom = new Button() + { + X = Application.GetRealWidth(16), + Y = btnFunctionName.Bottom, + Width = Application.GetRealWidth(270), + Height = Application.GetRealHeight(21), + TextColor = CSS_Color.PromptingColor1, + TextAlignment = TextAlignment.CenterLeft, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + Text = device.GetRoomListName() + }; + controlView.AddChidren(btnFromFoorAndRoom); + + btnCollection = new Button() + { + X = Application.GetRealWidth(273), + Y = Application.GetRealHeight(14), + Width = Application.GetMinRealAverage(40), + Height = Application.GetMinRealAverage(40), + SelectedImagePath = "Collection/CollectionIcon.png", + UnSelectedImagePath = "Collection/CollectionGrayIcon.png", + IsSelected = device.collect + }; + controlView.AddChidren(btnCollection); + //2020-12-16 濡傛灉鏄垚鍛橀殣钘忔敹钘忓姛鑳� + //if (!DB_ResidenceData.Instance.CurrentRegion.isOtherShare) + //{ + // controlView.AddChidren(btnCollection); + //} + + + + #region 杞洏鎺у埗鍖哄煙 + topMenuView = new FrameLayout() + { + Y = Application.GetRealHeight(88), + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(199), + Height = Application.GetRealWidth(199), + BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png", + }; + controlView.AddChidren(topMenuView); + + btnTopMenuUp = new Button() + { + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(80), + Height = Application.GetRealWidth(50), + }; + topMenuView.AddChidren(btnTopMenuUp); + + btnTopMenuLeft = new Button() + { + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(50), + Height = Application.GetRealWidth(80), + }; + topMenuView.AddChidren(btnTopMenuLeft); + + btnTopMenuRight = new Button() + { + X = Application.GetRealWidth(150), + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(50), + Height = Application.GetRealWidth(80), + }; + topMenuView.AddChidren(btnTopMenuRight); + + btnTopMenuDown = new Button() + { + Y = Application.GetRealWidth(150), + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(80), + Height = Application.GetRealWidth(50), + }; + topMenuView.AddChidren(btnTopMenuDown); + + btnOk = new Button() + { + Gravity = Gravity.Center, + Width = Application.GetRealWidth(100), + Height = Application.GetRealWidth(100), + }; + topMenuView.AddChidren(btnOk); + + + + #endregion + + + #region 棰戦亾闊抽噺璋冭妭 + channleView = new FrameLayout() + { + X = Application.GetRealWidth(26), + Y = Application.GetRealHeight(246), + Width = Application.GetRealWidth(44), + Height = Application.GetRealWidth(102), + BackgroundImagePath = "FunctionIcon/Electrical/TV/MenuBgIcon.png", + }; + controlView.AddChidren(channleView); + + btnChlPlus = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(10), + Width = Application.GetRealWidth(24), + Height = Application.GetRealWidth(24), + UnSelectedImagePath = "FunctionIcon/Electrical/TV/PlusIcon.png" + }; + channleView.AddChidren(btnChlPlus); + + Button btnChlText; + btnChlText = new Button() + { + Gravity = Gravity.CenterVertical, + Height = Application.GetRealWidth(23), + TextAlignment = TextAlignment.Center, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + TextColor = CSS_Color.FirstLevelTitleColor, + TextID = StringId.Canvas, + }; + channleView.AddChidren(btnChlText); + + btnChlReduce = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealWidth(66), + Width = Application.GetRealWidth(24), + Height = Application.GetRealWidth(24), + UnSelectedImagePath = "FunctionIcon/Electrical/TV/ReduceIcon.png" + }; + channleView.AddChidren(btnChlReduce); + + volView = new FrameLayout() + { + X = Application.GetRealWidth(257), + Y = Application.GetRealHeight(246), + Width = Application.GetRealWidth(44), + Height = Application.GetRealWidth(102), + BackgroundImagePath = "FunctionIcon/Electrical/TV/MenuBgIcon.png", + }; + controlView.AddChidren(volView); + + btnVolPlus = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(10), + Width = Application.GetRealWidth(24), + Height = Application.GetRealWidth(24), + UnSelectedImagePath = "FunctionIcon/Electrical/TV/PlusIcon.png" + }; + volView.AddChidren(btnVolPlus); + + Button btnVolText; + btnVolText = new Button() + { + Gravity = Gravity.CenterVertical, + Height = Application.GetRealWidth(23), + TextAlignment = TextAlignment.Center, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + TextColor = CSS_Color.FirstLevelTitleColor, + TextID = StringId.Vol, + }; + volView.AddChidren(btnVolText); + + btnVolReduce = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealWidth(66), + Width = Application.GetRealWidth(24), + Height = Application.GetRealWidth(24), + UnSelectedImagePath = "FunctionIcon/Electrical/TV/ReduceIcon.png" + }; + volView.AddChidren(btnVolReduce); + + + + #endregion + + #region 搴曢儴鎺у埗鍖哄煙 + btnBack = new Button() + { + X = Application.GetRealWidth(52), + Y = Application.GetRealHeight(466), + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + UnSelectedImagePath = "FunctionIcon/Electrical/TV/TVBackIcon.png", + }; + controlView.AddChidren(btnBack); + + + btnMenu = new Button() + { + X = Application.GetRealWidth(116), + Y = Application.GetRealHeight(466), + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + UnSelectedImagePath = "FunctionIcon/Electrical/TV/TVMenuIcon.png", + }; + controlView.AddChidren(btnMenu); + + btnMore = new Button() + { + X = Application.GetRealWidth(180), + Y = Application.GetRealHeight(466), + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + UnSelectedImagePath = "FunctionIcon/AC/More.png", + }; + controlView.AddChidren(btnMore); + + btnMore.MouseUpEventHandler = (sender, e) => { + LoadDialog_IrMoreView(); + }; + + btnPower = new Button() + { + X = Application.GetRealWidth(244), + Y = Application.GetRealHeight(466), + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + UnSelectedImagePath = "FunctionIcon/Electrical/TV/TVPowerIcon.png", + }; + controlView.AddChidren(btnPower); + + #endregion + + new TopViewDiv(bodyView, Language.StringByID(StringId.PJT)).LoadTopView_FunctionTop(device, actionRefresh); + DriverLayer.Control.Ins.SendReadCommand(device); + + LoadEventList(); + + } + + + /// <summary> + /// 鍔犺浇棰濆瀵圭孩澶栨寜閽晫闈� + /// </summary> + void LoadDialog_IrMoreView() + { + Dialog dialog = new Dialog(); + + var div = new FrameLayout(); + dialog.AddChidren(div); + div.MouseUpEventHandler = (sender, e) => { + dialog.Close(); + }; + + var bodyView = new FrameLayout() + { + Y = Application.GetRealHeight(427),//667 + Height = Application.GetRealHeight(240), + BackgroundColor = CSS_Color.MainBackgroundColor, + }; + div.AddChidren(bodyView); + + var contentView = new VerticalScrolViewLayout() + { + Y = Application.GetRealHeight(16), + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(296 + 200), + }; + bodyView.AddChidren(contentView); + + + var row = new FrameLayout() + { + Height = Application.GetRealHeight(60), + Width = Application.GetRealWidth(296), + Gravity = Gravity.CenterHorizontal, + }; + contentView.AddChidren(row); + + int index = 0; + List<FunctionAttributes> attrList = new List<FunctionAttributes>(); + attrList.AddRange(device.attributes); + attrList.Add(new FunctionAttributes() + { + key = "+", + }); + + foreach (var attr in attrList) + { + if (attr.key == "up" + || attr.key == "down" + || attr.key == "right" + || attr.key == "left" + || attr.key == "zoom+" + || attr.key == "zoom-" + || attr.key == "volume+" + || attr.key == "volume-" + || attr.key == "back" + || attr.key == "menu" + || attr.key == FunctionAttributeKey.OnOff + ) + { + continue; + } + if (index != 0 && index % 3 == 0) + { + row = new FrameLayout() + { + Height = Application.GetRealHeight(56), + Width = Application.GetRealWidth(296), + Gravity = Gravity.CenterHorizontal, + }; + contentView.AddChidren(row); + } + if (attr.key == "+") + { + var addView = new FrameLayout() + { + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(88), + Height = Application.GetRealHeight(40), + Radius = (uint)Application.GetRealHeight(18), + BorderColor = CSS_Color.PromptingColor1, + BorderWidth = (uint)Application.GetRealWidth(2), + }; + + + if (index % 3 == 1) + { + addView.Gravity = Gravity.Center; + } + else if (index % 3 == 2) + { + addView.X = Application.GetRealWidth(208); + } + row.AddChidren(addView); + + var btnAdd = new Button() + { + Gravity = Gravity.Center, + UnSelectedImagePath = "Public/PlusSignIcon.png", + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + }; + addView.AddChidren(btnAdd); + + btnAdd.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + Action action = () => { + LoadDialog_IrMoreView(); + }; + var addButton = new AcControlPage_AddIrButton(action); + MainPage.BasePageView.AddChidren(addButton); + addButton.Show(device); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + + + } + else + { + + var btn = new Button() + { + Gravity = Gravity.CenterVertical, + Width = Application.GetRealWidth(88), + Height = Application.GetRealHeight(40), + Radius = (uint)Application.GetRealHeight(18), + BorderColor = CSS_Color.PromptingColor1, + BorderWidth = (uint)Application.GetRealWidth(2), + TextAlignment = TextAlignment.Center, + TextSize = CSS_FontSize.TextFontSize, + TextColor = CSS_Color.FirstLevelTitleColor, + SelectedTextColor = CSS_Color.MainBackgroundColor, + SelectedBackgroundColor = CSS_Color.MainColor, + }; + if (attr.value.Count > 0) + { + btn.Text = attr.value[0]; + } + if (index % 3 == 1) + { + btn.Gravity = Gravity.Center; + } + else if (index % 3 == 2) + { + btn.X = Application.GetRealWidth(208); + } + row.AddChidren(btn); + + btn.MouseUpEventHandler = (sender, e) => + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(attr.key, ""); + Control.Ins.SendWriteCommand(device, d); + + new System.Threading.Thread(() => + { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => + { + btn.IsSelected = false; + }); + }) + { IsBackground = true }.Start(); + }; + + } + + index++; + } + + dialog.Show(); + } + + + + + /// <summary> + /// 鍔犺浇浜嬩欢鍒楄〃 + /// </summary> + void LoadEventList() + { + LoadControlEvent(); + LoadCollectionEvent(); + + //鍥為��鍒锋柊淇℃伅浜嬩欢 + actionRefresh = () => { + btnFunctionName.Text = btnFunctionName_Out.Text = device.name; + btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = device.GetRoomListName(); + device.UpdataFuncitonInfo(); + }; + } + + /// <summary> + /// 鏀惰棌鍔熻兘鎸夐挳浜嬩欢 + /// </summary> + void LoadCollectionEvent() + { + btnCollection.MouseUpEventHandler += (sender, e) => { + btnCollection.IsSelected = device.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected; + device.CollectFunction(); + }; + } + + /// <summary> + /// 鍔犺浇鎺у埗浜嬩欢 + /// </summary> + void LoadControlEvent() + { + + btnChlPlus.MouseUpEventHandler = (sender, e) => + { + if (DB_ResidenceData.Instance.GatewayType == 1) + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("zoom+", ""); + Control.Ins.SendWriteCommand(device, d); + } + }; + btnChlReduce.MouseUpEventHandler = (sender, e) => + { + if (DB_ResidenceData.Instance.GatewayType == 1) + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("zoom-", ""); + Control.Ins.SendWriteCommand(device, d); + } + }; + btnVolPlus.MouseUpEventHandler = (sender, e) => + { + if (DB_ResidenceData.Instance.GatewayType == 1) + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("volume+", ""); + Control.Ins.SendWriteCommand(device, d); + } + }; + btnVolReduce.MouseUpEventHandler = (sender, e) => + { + if (DB_ResidenceData.Instance.GatewayType == 1) + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("volume-", ""); + Control.Ins.SendWriteCommand(device, d); + } + }; + btnBack.MouseUpEventHandler = (sender, e) => + { + if (DB_ResidenceData.Instance.GatewayType == 1) + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("return", ""); + Control.Ins.SendWriteCommand(device, d); + } + }; + btnPower.MouseUpEventHandler = (sender, e) => + { + if (DB_ResidenceData.Instance.GatewayType == 1) + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("on_off", ""); + Control.Ins.SendWriteCommand(device, d); + } + }; + + + btnTopMenuUp.MouseDownEventHandler = (sender, e) => { + topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIconUp.png"; + }; + btnTopMenuDown.MouseDownEventHandler = (sender, e) => { + topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIconDown.png"; + }; + btnTopMenuLeft.MouseDownEventHandler = (sender, e) => { + topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIconLeft.png"; + }; + btnTopMenuRight.MouseDownEventHandler = (sender, e) => { + topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIconRight.png"; + }; + btnOk.MouseDownEventHandler = (sender, e) => { + topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIconOk.png"; + }; + btnMenu.MouseUpEventHandler = (sender, e) => + { + topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png"; + if (DB_ResidenceData.Instance.GatewayType == 1) + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("menu", ""); + Control.Ins.SendWriteCommand(device, d); + } + }; + btnTopMenuUp.MouseUpEventHandler = (sender, e) => { + topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png"; + if (DB_ResidenceData.Instance.GatewayType == 1) + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("up", ""); + Control.Ins.SendWriteCommand(device, d); + } + }; + btnTopMenuLeft.MouseUpEventHandler = (sender, e) => { + topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png"; + if (DB_ResidenceData.Instance.GatewayType == 1) + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("left", ""); + Control.Ins.SendWriteCommand(device, d); + } + }; + btnTopMenuRight.MouseUpEventHandler = (sender, e) => { + topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png"; + if (DB_ResidenceData.Instance.GatewayType == 1) + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("right", ""); + Control.Ins.SendWriteCommand(device, d); + } + }; + btnTopMenuDown.MouseUpEventHandler = (sender, e) => { + topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png"; + if (DB_ResidenceData.Instance.GatewayType == 1) + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("down", ""); + Control.Ins.SendWriteCommand(device, d); + } + }; + btnOk.MouseUpEventHandler = (sender, e) => { + topMenuView.BackgroundImagePath = "FunctionIcon/Electrical/TV/TVOkIcon.png"; + if (DB_ResidenceData.Instance.GatewayType == 1) + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("ok", ""); + Control.Ins.SendWriteCommand(device, d); + } + }; + + } + + } +} -- Gitblit v1.8.0