From 3f6685c77beeb12baf840733fb890860f4c26e7c Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期四, 25 七月 2024 17:25:59 +0800 Subject: [PATCH] 2024年07月25日17:24:45 --- HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs | 232 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 158 insertions(+), 74 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs index 66d07bd..05dee0c 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs @@ -9,12 +9,26 @@ 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; +using System.Reflection; +using System.Collections; 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> @@ -51,7 +65,13 @@ /// <summary> /// 璁板綍褰撳墠璁惧 /// </summary> - public IntType currnetIntType= IntType.none; + public IntType currnetIntType = IntType.none; + /// <summary> + /// 璁板綍褰撳墠閫夋嫨鐨勭储寮曞�� + /// </summary> + public int indexValue = -1; + + public VerticalScrolViewLayout vv; #endregion @@ -108,10 +128,12 @@ { Y = topView.fLayout.Bottom, Height = Application.GetRealHeight(H_W.H - H_W.T_Height), + }; this.AddChidren(vv); + //杩涙潵榛樿鎾斁鍣ㄧ晫闈� - this.SwitchUI(IntType.Player); + //this.SwitchUI(IntType.Player); } /// <summary> /// 娉ㄥ唽浜嬩欢 @@ -121,6 +143,8 @@ //杩斿洖 this.topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { + //娓呯┖鎵�鏈夌紦瀛樻暟鎹� + AksCommonMethod.Current.ClearData(); this.RemoveFromParent(); }; //璁剧疆 @@ -168,102 +192,165 @@ { try { - + this.remoteControlList = SendMethod.Current.GetRemoteControlLits(this.device.deviceId); + this.sequencerList = SendMethod.Current.GetSequencerLits(this.device.deviceId); + //TestData(this.remoteControlList); } catch { } finally { - Application.RunOnMainThread(() => + CommonMethod.Current.MainThread(() => { CommonMethod.Current.Loading.Hide(); + + if (this.remoteControlList.Count > 0) + { + if (this.isExistType(IntType.Player)) + { + //鏈夋挱鏀剧被鍨嬮仴鎺у櫒浼樺厛鏄剧ず + this.SwitchUI(IntType.Player); + } + else + { + //榛樿鍙栫涓�浣� + this.indexValue = 0; + var type = (IntType)this.remoteControlList[this.indexValue].type; + this.SwitchUI(type); + } + + } + }); } }); } /// <summary> - /// 鍒囨崲鐣岄潰(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�) + /// 鐣岄潰鏄剧ず(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�) /// </summary> private void SwitchUI(IntType type) { - if (this.currnetIntType == type) - { - return; - } + //if (this.currnetIntType == type) + //{ + // //鍘绘帀鍒ゆ柇绫诲瀷,鍥犱负鍙兘瀛樺湪澶氫釜鍚岀被鍨� + // return; + //} if (IntType.none == type) { return; } - if (vv != null) + if (this.vv == null) { - vv.RemoveAll(); + return; } - this.currnetIntType = type; + this.vv.RemoveAll(); + var remoteContro = this.remoteControlList[this.indexValue]; switch (type) { case IntType.Player: { - AksMusicPage aksMusicPage = new AksMusicPage(); - this.vv.AddChidren(aksMusicPage); - aksMusicPage.Show(); - aksMusicPage.action += (type) => + MusicPage musicPage = new MusicPage(remoteContro, this.sequencerList); + this.vv.AddChidren(musicPage); + musicPage.Show(); + musicPage.action += (deviceType) => { SelectedType(); }; } break; - case IntType.HiFi: { - GFPage gFPage = new GFPage(); - this.vv.AddChidren(gFPage); - gFPage.Show(); - gFPage.action += (type) => + case IntType.HiFi: + { + GfPage gfPage = new GfPage(remoteContro, this.sequencerList); + this.vv.AddChidren(gfPage); + gfPage.Show(); + gfPage.action += (deviceType) => { SelectedType(); }; - } break; - case IntType.TV: { + } + break; + case IntType.TV: + { - TvPage tvPage = new TvPage(); + TvPage tvPage = new TvPage(remoteContro, this.sequencerList); this.vv.AddChidren(tvPage); tvPage.Show(); - tvPage.action += (type) => + tvPage.action += (deviceType) => { SelectedType(); }; - } break; - case IntType.STB: { } break; - case IntType.Projector: { - TYYPage tYYPage = new TYYPage(); - this.vv.AddChidren(tYYPage); - tYYPage.Show(); - tYYPage.action += (type) => + } + break; + case IntType.STB: + { + JdhPage jdhPage = new JdhPage(remoteContro, this.sequencerList); + this.vv.AddChidren(jdhPage); + jdhPage.Show(); + jdhPage.action += (deviceType) => { SelectedType(); }; - } break; - case IntType.Control: { } break; + } + break; + case IntType.Projector: + { + TyyPage tyyPage = new TyyPage(remoteContro, this.sequencerList); + this.vv.AddChidren(tyyPage); + tyyPage.Show(); + tyyPage.action += (deviceType) => + { + SelectedType(); + }; + } + break; + case IntType.Control: + { + + YkqPage ykqPage = new YkqPage(remoteContro, 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> private void SelectedType() { - var deviceTypeList = GetTypeDictionary().Values.ToList(); + var deviceTypeList = GetRemoteControlList(); ///涔嬪墠鐨勭姸鎬佹枃鏈� - string ccurrnetDeviceStr= this.GetValueString(this.currnetIntType); + string ccurrnetDeviceStr = ""; + if (indexValue != -1 && indexValue < deviceTypeList.Count) + { + ccurrnetDeviceStr = deviceTypeList[indexValue].name; + } PublicInterface conditionView = new PublicInterface(); conditionView.SingleSelectionShow(this, deviceTypeList, "璁惧閫夋嫨", ccurrnetDeviceStr - , (valueStr) => + , (index) => { - //鐣岄潰鏄剧ず閫変腑鍊� - var intType = this.GetKeyIntType(valueStr); - this.SwitchUI(intType); + if (this.indexValue == index) + { + //鍚屼竴涓澶囦笉澶勭悊; + return; + } + var remoteControl = deviceTypeList[index]; + this.indexValue = index; + this.currnetIntType = (IntType)remoteControl.type; + this.SwitchUI((IntType)remoteControl.type); }); } + + + public enum IntType { @@ -298,54 +385,51 @@ } /// <summary> - /// 鍒濆鍖栧瓧鍏� + /// 鑾峰彇閬ユ帶鍣ㄥ垪琛� /// </summary> /// <returns></returns> - private Dictionary<IntType, string> GetTypeDictionary() + private List<RemoteControlEntity> GetRemoteControlList() { - 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)); - 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(); - foreach (var d in dic) + if (this.remoteControlList == null || this.remoteControlList.Count == 0) { - if (d.Value == value) - { - return d.Key; - } + return new List<RemoteControlEntity>(); } - return IntType.none; + return this.remoteControlList; } + /// <summary> - /// 鑾峰彇璁惧鍚嶇О + /// 鏄惁瀛樺湪绫诲瀷 /// </summary> - /// <param name="key">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param> + /// <param name="type">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param> /// <returns></returns> - private string GetValueString(IntType key) + private bool isExistType(IntType type) { - var dic = this.GetTypeDictionary(); - foreach (var d in dic) + + var remoteControls = this.GetRemoteControlList(); + for (int i = 0; i < remoteControls.Count; i++) { - if (d.Key == key) + var re = remoteControls[i]; + if ((IntType)re.type == type) { - return d.Value; + this.indexValue = i; + return true; } + } - return ""; + return false; } + + private void TestData(List<RemoteControlEntity> list) + { + list.Add(new RemoteControlEntity { deviceId = "33331", rcId = "1", type = 1, name = "鎾斁鍣�" }); + list.Add(new RemoteControlEntity { deviceId = "33332", rcId = "2", type = 2, name = "鍔熸斁" }); + list.Add(new RemoteControlEntity { deviceId = "33333", rcId = "3", type = 3, name = "鐢佃" }); + list.Add(new RemoteControlEntity { deviceId = "33334", rcId = "4", type = 4, name = "鏈洪《鐩�" }); + list.Add(new RemoteControlEntity { deviceId = "33335", rcId = "5", type = 5, name = "鎶曞奖浠�" }); + list.Add(new RemoteControlEntity { deviceId = "33336", rcId = "6", type = 6, name = "涓囪兘閬ユ帶鍣�" }); + } + + } } -- Gitblit v1.8.0