From 4d6c9858844d1545a9b253c1b31842fa89695c1d Mon Sep 17 00:00:00 2001 From: JLChen <551775569@qq.com> Date: 星期日, 06 六月 2021 13:59:01 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/wxr4' into WJC --- HDL_ON/UI/UI2/FuntionControlView/Electrical/StbPage.cs | 637 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 637 insertions(+), 0 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/StbPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/StbPage.cs new file mode 100644 index 0000000..b96c396 --- /dev/null +++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/StbPage.cs @@ -0,0 +1,637 @@ +锘縰sing System; +using Shared; +using HDL_ON.UI.CSS; +using HDL_ON.Entity; +using System.Collections.Generic; +using HDL_ON.DriverLayer; + +namespace HDL_ON.UI +{ + public class StbPage : FrameLayout + { + #region 鎺т欢闆嗗悎 + StbPage bodyView; + /// <summary> + /// 鍔熻兘鍚嶇О鎸夐挳 + /// </summary> + Button btnFunctionName; + /// <summary> + /// 鎴块棿妤煎眰淇℃伅鎸夐挳 + /// </summary> + Button btnFromFoorAndRoom; + /// <summary> + /// 鏀惰棌鎸夐挳 + /// </summary> + Button btnCollection; + + Button btnMenu; + 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 btnMore; + Button btn123; + Button btnMute; + Button btnPower; + + #endregion + + #region 鍖哄煙鍙橀噺 + Function function; + Button btnCollection_Out; + Button btnFunctionName_Out; + Button btnFromFloor_Out; + /// <summary> + /// 鍒锋柊鏄剧ず淇℃伅 + /// </summary> + Action actionRefresh; + #endregion + + public StbPage(Function func) + { + bodyView = this; + function = 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 = function.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 = function.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 = function.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.Chl, + }; + 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(402), + 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(402), + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + UnSelectedImagePath = "FunctionIcon/Electrical/TV/TVMenuIcon.png", + }; + controlView.AddChidren(btnMenu); + + btn123 = new Button() + { + X = Application.GetRealWidth(180), + Y = Application.GetRealHeight(402), + Width = Application.GetRealWidth(40), + Height = Application.GetRealWidth(40), + UnSelectedImagePath = "FunctionIcon/Electrical/TV/TV123Icon.png", + }; + controlView.AddChidren(btn123); + + btnMute = new Button() + { + X = Application.GetRealWidth(244), + Y = Application.GetRealHeight(402), + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + UnSelectedImagePath = "FunctionIcon/Electrical/TV/TVMuteIcon.png", + }; + controlView.AddChidren(btnMute); + + btnMore = new Button() + { + X = Application.GetRealWidth(116), + Y = Application.GetRealHeight(466), + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + UnSelectedImagePath = "FunctionIcon/AC/More.png", + }; + controlView.AddChidren(btnMore); + + btnPower = new Button() + { + X = Application.GetRealWidth(180), + Y = Application.GetRealHeight(466), + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + UnSelectedImagePath = "FunctionIcon/Electrical/TV/TVPowerIcon.png", + }; + controlView.AddChidren(btnPower); + + #endregion + + LoadEventList(); + + new TopViewDiv(bodyView, Language.StringByID(StringId.STB)).LoadTopView_FunctionTop(function, actionRefresh); + DriverLayer.Control.Ins.SendReadCommand(function); + + } + + + void ShowNumberView() + { + Dialog dialog = new Dialog(); + + FrameLayout dialogView = new FrameLayout() + { + AnimateSpeed = 0.3f, + Animate = Animate.DownToUp, + }; + dialog.AddChidren(dialogView); + + dialogView.MouseUpEventHandler = (sender, e) => + { + dialog.Close(); + }; + + FrameLayout numberView = new FrameLayout() + { + Y = Application.GetRealHeight(403), + Height = Application.GetRealHeight(264), + BackgroundColor = CSS_Color.MainBackgroundColor, + }; + dialogView.AddChidren(numberView); + + for (int i = 0; i < 10; i++) + { + Button btn = new Button() + { + Width = Application.GetRealWidth(98), + Height = Application.GetRealHeight(44), + Radius = (uint)Application.GetRealWidth(8), + BorderWidth = (uint)Application.GetRealWidth(1), + BorderColor = CSS_Color.PromptingColor1, + BackgroundColor = CSS_Color.MainBackgroundColor, + SelectedBackgroundColor = CSS_Color.MainColor, + TextColor = CSS_Color.FirstLevelTitleColor, + SelectedTextColor = CSS_Color.MainBackgroundColor, + IsBold = true, + Text = i.ToString(), + TextAlignment = TextAlignment.Center, + }; + if (i == 1 || i == 4 || i == 7) + { + btn.X = Application.GetRealWidth(24); + + } + else if (i == 2 || i == 5 || i == 8) + { + btn.X = Application.GetRealWidth(138); + } + else if (i == 3 || i == 6 || i == 9) + { + btn.X = Application.GetRealWidth(252); + } + else + { + btn.X = Application.GetRealWidth(138); + } + if (i == 0) + { + btn.Y = Application.GetRealHeight(204); + } + else if (i < 4) + { + btn.Y = Application.GetRealHeight(24); + + } + else if (i < 7) + { + btn.Y = Application.GetRealHeight(84); + } + else + { + btn.Y = Application.GetRealHeight(144); + } + numberView.AddChidren(btn); + btn.MouseUpEventHandler = (sender, e) => { + string index = (sender as Button).Text; + btn.IsSelected = false; + if (DB_ResidenceData.Instance.GatewayType == 1) + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add($"number_{index}", ""); + Control.Ins.SendWriteCommand(function, d); + } + }; + btn.MouseDownEventHandler = (sender, e) => { + btn.IsSelected = true; + }; + } + + + + dialog.Show(); + } + + /// <summary> + /// 鍔犺浇浜嬩欢鍒楄〃 + /// </summary> + void LoadEventList() + { + LoadControlEvent(); + LoadCollectionEvent(); + + //鍥為��鍒锋柊淇℃伅浜嬩欢 + actionRefresh = () => { + btnFunctionName.Text = btnFunctionName_Out.Text = function.name; + btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = function.GetRoomListName(); + function.UpdataFuncitonInfo(); + }; + } + + /// <summary> + /// 鏀惰棌鍔熻兘鎸夐挳浜嬩欢 + /// </summary> + void LoadCollectionEvent() + { + btnCollection.MouseUpEventHandler += (sender, e) => { + btnCollection.IsSelected = function.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected; + function.CollectFunction(); + }; + } + + /// <summary> + /// 鍔犺浇鎺у埗浜嬩欢 + /// </summary> + void LoadControlEvent() + { + btnMenu.MouseUpEventHandler = (sender, e) => + { + if (DB_ResidenceData.Instance.GatewayType == 1) + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("av_tv", ""); + Control.Ins.SendWriteCommand(function, d); + } + }; + btnChlPlus.MouseUpEventHandler = (sender, e) => + { + if (DB_ResidenceData.Instance.GatewayType == 1) + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("ch+", ""); + Control.Ins.SendWriteCommand(function, d); + } + }; + btnChlReduce.MouseUpEventHandler = (sender, e) => + { + if (DB_ResidenceData.Instance.GatewayType == 1) + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("ch-", ""); + Control.Ins.SendWriteCommand(function, 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(function, 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(function, 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(function, d); + } + }; + + btnMenu.MouseUpEventHandler = (sender, e) => + { + if (DB_ResidenceData.Instance.GatewayType == 1) + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("menu", ""); + Control.Ins.SendWriteCommand(function, d); + } + }; + btn123.MouseUpEventHandler = (sender, e) => + { + ShowNumberView(); + }; + btnMute.MouseUpEventHandler = (sender, e) => + { + if (DB_ResidenceData.Instance.GatewayType == 1) + { + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("mute", ""); + Control.Ins.SendWriteCommand(function, 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(function, 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(function, 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(function, 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(function, 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(function, 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(function, 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(function, d); + } + }; + + + } + + } +} -- Gitblit v1.8.0