From fdbcb1f7463cb766f90bd29dd715485ba9d88524 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期三, 06 九月 2023 17:55:03 +0800 Subject: [PATCH] Merge branch 'wxr-2.0' into Dev-Branch --- HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs | 233 +++++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 189 insertions(+), 44 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs index edf4f5d..40156ef 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs @@ -9,12 +9,24 @@ using HDL_ON.UI.UI2.FuntionControlView.VideoDoorLock; using HDL_ON.UI.UI2.Intelligence.Automation; using System.Linq; +using HDL_ON.UI.UI2.FuntionControlView.Aks.Entity; namespace HDL_ON.UI.UI2.FuntionControlView.Aks { + /// <summary> + /// 鍩冨厠鏂富鐣岄潰 + /// </summary> public class AksPage : FrameLayout { #region 鈻� 鍙橀噺澹版槑___________________________ + /// <summary> + /// 閬ユ帶鍣ㄥ垪琛� + /// </summary> + private List<RemoteControlEntity> remoteControlList; + + /// 鏃跺簭鍣ㄥ垪琛� + /// </summary> + private List<SequencerEntity> sequencerList; /// <summary> /// 璁惧 /// </summary> @@ -48,8 +60,12 @@ /// 鍒犻櫎璁惧鍚庨渶瑕佹洿鏂扮晫闈㈢殑鍥炶皟 /// </summary> public Action action; + /// <summary> + /// 璁板綍褰撳墠璁惧 + /// </summary> + public IntType currnetIntType= IntType.none; - public IntType currnetIntType; + public VerticalScrolViewLayout vv; #endregion @@ -109,7 +125,7 @@ }; this.AddChidren(vv); //杩涙潵榛樿鎾斁鍣ㄧ晫闈� - this.SwitchUI(IntType.Player); + //this.SwitchUI(IntType.Player); } /// <summary> /// 娉ㄥ唽浜嬩欢 @@ -119,6 +135,8 @@ //杩斿洖 this.topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { + //娓呯┖鎵�鏈夌紦瀛樻暟鎹� + AksCommonMethod.Current.ClearData(); this.RemoveFromParent(); }; //璁剧疆 @@ -166,33 +184,39 @@ { try { - + this.remoteControlList = SendMethod.Current.GetRemoteControlLits(this.device.deviceId); + this.sequencerList = SendMethod.Current.GetSequencerLits(this.device.deviceId); } catch { } finally { - Application.RunOnMainThread(() => + CommonMethod.Current.MainThread(() => { CommonMethod.Current.Loading.Hide(); + + if (this.remoteControlList.Count > 0) + { + if (string.IsNullOrEmpty(this.GetValueString(IntType.Player))) + { + //榛樿鍙栫涓�浣� + this.SwitchUI((IntType)this.remoteControlList[0].type); + } + else + { + //鏈夋挱鏀剧被鍨嬮仴鎺у櫒浼樺厛鏄剧ず + this.SwitchUI(IntType.Player); + } + } + }); } }); } /// <summary> - /// 鍒囨崲鐣岄潰 - ///1 = 鎾斁鍣� - ///2 = 鍔熸斁 - ///3 = 鐢佃 - ///4 = 鏈洪《鐩� - ///5 = 鎶曞奖浠� - ///6 = 涓囪兘閬ユ帶鍣� + /// 鍒囨崲鐣岄潰(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�) /// </summary> private void SwitchUI(IntType type) { - if (vv != null) - { - vv.RemoveAll(); - } if (this.currnetIntType == type) { return; @@ -201,55 +225,127 @@ { return; } + if (this.vv == null) + { + return; + } + this.vv.RemoveAll(); this.currnetIntType = type; switch (type) { case IntType.Player: { - AksMusicPage aksMusicPage = new AksMusicPage(); - this.vv.AddChidren(aksMusicPage); - aksMusicPage.Show(); - aksMusicPage.action += (type) => + MusicPage musicPage = new MusicPage(GetRemoteControl((int)IntType.Player),this.sequencerList); + this.vv.AddChidren(musicPage); + musicPage.Show(); + musicPage.action += (deviceType) => { SelectedType(); }; } break; - case IntType.HiFi: { } break; - case IntType.TV: { } break; - case IntType.STB: { } break; - case IntType.Projector: { } break; - case IntType.Control: { } break; + case IntType.HiFi: + { + GfPage gfPage = new GfPage(GetRemoteControl((int)IntType.HiFi), this.sequencerList); + this.vv.AddChidren(gfPage); + gfPage.Show(); + gfPage.action += (deviceType) => + { + SelectedType(); + }; + + } + break; + case IntType.TV: + { + + TvPage tvPage = new TvPage(GetRemoteControl((int)IntType.TV), this.sequencerList); + this.vv.AddChidren(tvPage); + tvPage.Show(); + tvPage.action += (deviceType) => + { + SelectedType(); + }; + } + break; + case IntType.STB: + { + JdhPage jdhPage = new JdhPage(GetRemoteControl((int)IntType.STB), this.sequencerList); + this.vv.AddChidren(jdhPage); + jdhPage.Show(); + jdhPage.action += (deviceType) => + { + SelectedType(); + }; + } + break; + case IntType.Projector: + { + TyyPage tyyPage = new TyyPage(GetRemoteControl((int)IntType.Projector), this.sequencerList); + this.vv.AddChidren(tyyPage); + tyyPage.Show(); + tyyPage.action += (deviceType) => + { + SelectedType(); + }; + } + break; + case IntType.Control: + { + + YkqPage ykqPage = new YkqPage(GetRemoteControl((int)IntType.Control), this.sequencerList); + this.vv.AddChidren(ykqPage); + ykqPage.Show(); + ykqPage.action += (deviceType) => + { + SelectedType(); + }; + + } + break; } } /// <summary> - /// 閫変腑绫诲瀷 - ///1 = 鎾斁鍣� - ///2 = 鍔熸斁 - ///3 = 鐢佃 - ///4 = 鏈洪《鐩� - ///5 = 鎶曞奖浠� - ///6 = 涓囪兘閬ユ帶鍣� + /// 閫変腑绫诲瀷寮规(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�) /// </summary> - /// <param name="button">鏄剧ず鏂囨湰</param> private void SelectedType() { var deviceTypeList = GetTypeDictionary().Values.ToList(); ///涔嬪墠鐨勭姸鎬佹枃鏈� - string currCondition = Language.StringByID(StringId.bofangqi); + string ccurrnetDeviceStr= this.GetValueString(this.currnetIntType); PublicInterface conditionView = new PublicInterface(); - conditionView.SingleSelectionShow(this, deviceTypeList, "璁惧閫夋嫨", currCondition - , (stateValue) => + conditionView.SingleSelectionShow(this, deviceTypeList, "璁惧閫夋嫨", ccurrnetDeviceStr + , (valueStr) => { //鐣岄潰鏄剧ず閫変腑鍊� - //button.Text = stateValue; - var intType = this.GetKeyIntType(stateValue); + var intType = this.GetKeyIntType(valueStr); this.SwitchUI(intType); }); } + + /// <summary> + /// 鏌ユ壘閬ユ帶鍣� + /// </summary> + /// <param name="type">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param> + /// <returns>涓嶄細涓簄ull</returns> + private RemoteControlEntity GetRemoteControl(int type) + { + if (this.remoteControlList == null || this.remoteControlList.Count == 0) + { + return new RemoteControlEntity(); + } + var re = this.remoteControlList.Find((o) => o.type == type); + if (re == null) + { + re = new RemoteControlEntity(); + } + //re.deviceId = this.device.deviceId; + return re; + } + public enum IntType { @@ -284,20 +380,60 @@ } /// <summary> - /// + /// 鍒濆鍖栧瓧鍏� /// </summary> /// <returns></returns> private Dictionary<IntType, string> GetTypeDictionary() { + if (this.remoteControlList == null || this.remoteControlList.Count == 0) + { + return new Dictionary<IntType, string>(); + } var dic = new Dictionary<IntType, string>(); - dic.Add(IntType.Player, Language.StringByID(StringId.bofangqi)); - dic.Add(IntType.HiFi, Language.StringByID(StringId.gongfan)); - dic.Add(IntType.TV, Language.StringByID(StringId.dianshi)); - dic.Add(IntType.STB, Language.StringByID(StringId.jidinghe)); - dic.Add(IntType.Projector, Language.StringByID(StringId.touyingyi)); - dic.Add(IntType.Control, Language.StringByID(StringId.xuniyaokongqi)); + foreach (var o in this.remoteControlList) + { + switch (o.type) + { + case (int)IntType.Player: + { + dic.Add(IntType.Player, Language.StringByID(StringId.bofangqi)); + } + break; + case (int)IntType.HiFi: + { + dic.Add(IntType.HiFi, Language.StringByID(StringId.gongfan)); + } + break; + case (int)IntType.TV: + { + dic.Add(IntType.TV, Language.StringByID(StringId.dianshi)); + } + break; + + case (int)IntType.STB: + { + dic.Add(IntType.STB, Language.StringByID(StringId.jidinghe)); + } + break; + case (int)IntType.Projector: + { + dic.Add(IntType.Projector, Language.StringByID(StringId.touyingyi)); + } + break; + case (int)IntType.Control: + { + dic.Add(IntType.Control, Language.StringByID(StringId.xuniyaokongqi)); + } + break; + } + } return dic; } + /// <summary> + /// 鑾峰彇璁惧绫诲瀷 + /// </summary> + /// <param name="value">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param> + /// <returns></returns> private IntType GetKeyIntType(string value) { var dic = this.GetTypeDictionary(); @@ -310,6 +446,11 @@ } return IntType.none; } + /// <summary> + /// 鑾峰彇璁惧鍚嶇О + /// </summary> + /// <param name="key">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param> + /// <returns></returns> private string GetValueString(IntType key) { var dic = this.GetTypeDictionary(); @@ -323,5 +464,9 @@ return ""; } + + + + } } -- Gitblit v1.8.0