From a715181089be0d31cd737a5367ffd02690b9d77f Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 12 十一月 2020 13:36:01 +0800 Subject: [PATCH] 20201112 --- HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs | 236 ++++++++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 170 insertions(+), 66 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs index df3bb2f..97d9500 100644 --- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs +++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs @@ -1,6 +1,7 @@ 锘縰sing System; using HDL_ON.Entity; using HDL_ON.UI.CSS; +using HDL_ON.UI.Music; using Shared; namespace HDL_ON.UI @@ -8,7 +9,7 @@ public partial class FunctionControlZone : FrameLayout { #region 鍖哄煙鎺т欢 - FrameLayout bodyDiv; + static FrameLayout bodyDiv; /// <summary> /// 鍔熻兘/鍦烘櫙icon /// </summary> @@ -29,10 +30,15 @@ #region 鍖哄煙鍙橀噺 Function function; + /// <summary> + /// 鏄惁鍦ㄨ皟鍏� + /// </summary> + bool onDimmerBar; #endregion public FunctionControlZone(Function func) { bodyDiv = this; + bodyDiv.Tag = func.sid; function = func; } @@ -54,15 +60,57 @@ } LoadDiv(); - - if (function.functionCategory != FunctionType.Curtain)//绐楀笜娌℃湁寮�鍏虫寜閽� + if (function.functionCategory == FunctionCategory.Curtain || function.functionCategory == FunctionCategory.Music || function.functionCategory == FunctionCategory.Scene)//绐楀笜娌℃湁寮�鍏虫寜閽� + { + switch (function.functionCategory) + { + case FunctionCategory.Curtain: + switch(function.functionType) + { + case FunctionType.Curtain: + btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainThinIcon.png"; + break; + case FunctionType.MotorCurtain: + btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/MotorCurtainIcon.png"; + break; + case FunctionType.RollingShutter: + btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/RollingShutterIcon.png"; + break; + } + CurtainFragment(); + break; + case FunctionCategory.Music: + btnIcon.UnSelectedImagePath = "FunctionIcon/Music/MusicThinIcon.png"; + MusicFragment(); + break; + case FunctionCategory.Scene: + btnIcon.UnSelectedImagePath = "FunctionIcon/Scene/SceneIcon.png"; + if ((function as Scene).sceneType == SceneType.MovieScene) + { + var movieIcon = new Button() + { + X = Application.GetRealWidth(52), + Y = Application.GetRealHeight(14), + Width = Application.GetRealWidth(16), + Height = Application.GetRealWidth(16), + UnSelectedImagePath = "FunctionIcon/Scene/MovieMark.png", + }; + bodyDiv.AddChidren(movieIcon); + btnName.X = Application.GetRealWidth(52 + 16); + } + //鍔犺浇鍦烘櫙鎺у埗浜嬩欢 + LoadEvent_ControlScene(); + break; + } + } + else { #region 鍔犺浇寮�鍏虫寜閽� /// <summary> /// 寮�鍏虫寜閽� /// </summary> Button btnSwitch; - if (function.functionType == "RGB" || function.functionType == "Dimmer") + if (function.functionType == FunctionType.RGB || function.functionType == FunctionType.Dimmer) { btnSwitch = new Button() { @@ -72,7 +120,8 @@ Height = Application.GetMinRealAverage(32), UnSelectedImagePath = "Public/PowerClose.png", SelectedImagePath = "Public/PowerOpen.png", - Tag = function.functionType + "_Switch_" + function.sid + IsSelected = function.trait_on_off.value.ToString() == "on", + Tag = function.sid + "_Switch", }; bodyDiv.AddChidren(btnSwitch); } @@ -86,58 +135,64 @@ Height = Application.GetMinRealAverage(32), UnSelectedImagePath = "Public/PowerClose.png", SelectedImagePath = "Public/PowerOpen.png", - Tag = function.functionType + "_Switch_" + function.sid + IsSelected = function.trait_on_off.value.ToString() == "on", + Tag = function.sid + "_Switch", }; bodyDiv.AddChidren(btnSwitch); } //鍔犺浇寮�鍏虫寜閽簨浠� - LoadEvent_LightSwitch(btnSwitch); + LoadEvent_SwitchFunction(btnSwitch); switch (function.functionCategory) { - case FunctionType.AC: - btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcThinIcon.png"; - AcDiv(); - break; - case FunctionType.Light: - btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightThinIcon.png"; - btnSwitch.IsSelected = (function as Light).on_off == 1; - LoadLightControl(); - break; - case FunctionType.FloorHeating: - btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingThinIcon.png"; - FloorHeatingDiv(); - break; - case FunctionType.Scene: - btnIcon.UnSelectedImagePath = "FunctionIcon/Scene/SceneIcon.png"; - if ((function as Scene).sceneType == SceneType.MovieScene) + case FunctionCategory.Thermostat: + switch (function.functionType) { - var movieIcon = new Button() - { - X = Application.GetRealWidth(52), - Y = Application.GetRealHeight(14), - Width = Application.GetRealWidth(16), - Height = Application.GetRealWidth(16), - UnSelectedImagePath = "FunctionIcon/Scene/MovieMark.png", - }; - bodyDiv.AddChidren(movieIcon); - - btnName.X = movieIcon.Right; + case FunctionType.AC: + btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcThinIcon1.png"; + LoadLastStatesButton(); + break; + case FunctionType.FloorHeating: + btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingThinIcon.png"; + LoadLastStatesButton(); + break; } break; + case FunctionCategory.Light: + btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightThinIcon.png"; + btnSwitch.IsSelected = function.trait_on_off.value.ToString() == "on"; + LoadLightControl(); + break; + case FunctionCategory.SwitchDevice: + switch (function.functionType) + { + case FunctionType.Socket: + btnIcon.UnSelectedImagePath = "FunctionIcon/Socket/SocketThinIcon.png"; + break; + } + btnSwitch.IsSelected = function.trait_on_off.value.ToString() == "on"; + break; + case FunctionCategory.Electrical: + switch (function.functionType) + { + case FunctionType.Fan: + btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/FanThinIcon.png"; + break; + case FunctionType.TV: + btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/TVThinIcon.png"; + break; + } + btnSwitch.IsSelected = function.trait_on_off.value.ToString() == "on"; + break; } - #endregion } - else + + if (function.functionCategory != FunctionCategory.Scene) { - btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainThinIcon.png"; - CurtainFragment(); - + LoadEvent_DivSkipEvent(); } - - LoadEvent_DivSkipEvent(); - LoadCollectionEvent(); + LoadEvent_FunctionCollection(); } /// <summary> @@ -149,14 +204,14 @@ { X = Application.GetRealWidth(10), Y = Application.GetRealHeight(15), - Width = Application.GetMinRealAverage(32), - Height = Application.GetMinRealAverage(32), + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), }; bodyDiv.AddChidren(btnIcon); btnName = new Button() { - X = btnIcon.Right + Application.GetRealWidth(8), + X = Application.GetRealWidth(8 +10 + 32), Y = Application.GetRealHeight(10), Width = Application.GetRealWidth(200), Height = Application.GetRealHeight(24), @@ -169,8 +224,8 @@ btnFromFloor = new Button() { - X = btnIcon.Right + Application.GetRealWidth(8), - Y = btnName.Bottom, + X = Application.GetRealWidth(8 + 10 + 32), + Y = Application.GetRealHeight(10 + 24), Width = Application.GetRealWidth(200), Height = Application.GetRealHeight(18), Text = function.GetRoomListName(), @@ -191,7 +246,6 @@ IsSelected = function.collection }; bodyDiv.AddChidren(btnCollectionIcon); - } /// <summary> @@ -201,8 +255,8 @@ { switch (function.functionType) { - case "Dimmer": - case "RGB": + case FunctionType.Dimmer: + case FunctionType.RGB: #region Dimmer var btnDimmerMinValues = new Button() { @@ -219,25 +273,26 @@ var dimmerControlBar = new DiyImageSeekBar() { - X = btnDimmerMinValues.Right, + X = Application.GetRealWidth(14 + 22), Y = Application.GetRealHeight(68),//91,璁捐鏁版嵁 Width = Application.GetRealWidth(180), Height = Application.GetRealHeight(54), SeekBarViewHeight = Application.GetRealHeight(8), ThumbImagePath = "Public/ThumbImage.png", ThumbImageHeight = Application.GetRealHeight(54), - ProgressBarColor = CSS_Color.AuxiliaryColor1, + ProgressBarColor = function.trait_on_off.value.ToString() == "on" ? CSS_Color.AuxiliaryColor1 : CSS_Color.PromptingColor2, ProgressTextColor = CSS_Color.FirstLevelTitleColor, - ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel, + ProgressTextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, MaxValue = 100, Progress = (function as Light).brightness, - Tag = function.functionType + "_DimmerBar_" + function.sid + Tag = function.sid + "_DimmerBar", + SeekBarPadding = Application.GetRealWidth(20), }; bodyDiv.AddChidren(dimmerControlBar); var btnDimmerMaxValues = new Button() { - X = dimmerControlBar.Right, + X = Application.GetRealWidth(14 + 22+180), Y = Application.GetRealHeight(85), Width = Application.GetRealWidth(35), Height = Application.GetRealHeight(21), @@ -268,6 +323,7 @@ Height = Application.GetMinRealAverage(32), UnSelectedImagePath = "FunctionIcon/Curtain/CurtainCloseIcon.png", SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseOnIcon.png", + Tag = function.functionType + "_off_" + function.sid }; bodyDiv.AddChidren(btnCurtainClose); @@ -290,30 +346,78 @@ Height = Application.GetMinRealAverage(32), UnSelectedImagePath = "FunctionIcon/Curtain/CurtainOpenIcon.png", SelectedImagePath = "FunctionIcon/Curtain/CurtainOpenOnIcon.png", + Tag = function.functionType + "_on_" + function.sid }; bodyDiv.AddChidren(btnCurtainOpen); - - - + LoadEvent_ControlCurtain(btnCurtainStop, btnCurtainOpen, btnCurtainClose, function as Curtain); #endregion } /// <summary> - /// 鍔犺浇绌鸿皟鍔熻兘鎺у埗鍗$墖 + /// 鍔犺浇闊充箰鍔熻兘鎺у埗鍗$墖 /// </summary> - void AcDiv() + void MusicFragment() { - #region AC + #region Music + var btnPrev = new Button() + { + X = Application.GetRealWidth(163), + Y = Application.GetRealHeight(58), + Width = Application.GetMinRealAverage(32), + Height = Application.GetMinRealAverage(32), + UnSelectedImagePath = "MusicIcon/prev.png", + SelectedImagePath = "MusicIcon/prevSeletced.png", + }; + bodyDiv.AddChidren(btnPrev); + + var btnPlay = new Button() + { + X = Application.GetRealWidth(233), + Y = Application.GetRealHeight(58), + Width = Application.GetMinRealAverage(32), + Height = Application.GetMinRealAverage(32), + UnSelectedImagePath = "MusicIcon/pause.png", + SelectedImagePath = "MusicIcon/play.png", + IsSelected = (function as A31MusicModel).A31PlayStatus.status == "play" , + Tag = function.functionType + "_State_" + function.sid + }; + bodyDiv.AddChidren(btnPlay); + + var btnNext = new Button() + { + X = Application.GetRealWidth(303), + Y = Application.GetRealHeight(58), + Width = Application.GetMinRealAverage(32), + Height = Application.GetMinRealAverage(32), + UnSelectedImagePath = "MusicIcon/next.png", + SelectedImagePath = "MusicIcon/nextSelected.png", + }; + bodyDiv.AddChidren(btnNext); + LoadEvent_ControlMusic(btnPlay, btnNext, btnPrev, function as A31MusicModel); #endregion } + /// <summary> - /// 鍔犺浇鍦扮儹鍔熻兘鎺у埗鍗$墖 + /// 鍔犺浇鍔熻兘鐘舵�佷俊鎭寜閽� /// </summary> - void FloorHeatingDiv() + void LoadLastStatesButton() { - #region 鍦扮儹 - #endregion + var btnLastStates = new Button() + { + X = Application.GetRealWidth(10 + 32 + 8), + Y = Application.GetRealHeight(10 + 24 + 18), + Width = Application.GetRealWidth(200), + Height = Application.GetRealHeight(18), + Text = function.lastState, + TextAlignment = TextAlignment.CenterLeft, + SelectedTextColor = CSS_Color.PromptingColor1, + TextColor = 0x00000000, + TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, + Tag = function.functionType + "_laststates_" + function.sid, + IsSelected = function.trait_on_off.value.ToString() == "on" + }; + bodyDiv.AddChidren(btnLastStates); } } -} +} \ No newline at end of file -- Gitblit v1.8.0