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 | 205 +++++++++++++++++++++------------------------------ 1 files changed, 85 insertions(+), 120 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs index 839a0e8..05dee0c 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs @@ -10,6 +10,8 @@ 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 { @@ -63,9 +65,13 @@ /// <summary> /// 璁板綍褰撳墠璁惧 /// </summary> - public IntType currnetIntType= IntType.none; + public IntType currnetIntType = IntType.none; + /// <summary> + /// 璁板綍褰撳墠閫夋嫨鐨勭储寮曞�� + /// </summary> + public int indexValue = -1; - + public VerticalScrolViewLayout vv; #endregion @@ -122,8 +128,10 @@ { Y = topView.fLayout.Bottom, Height = Application.GetRealHeight(H_W.H - H_W.T_Height), + }; this.AddChidren(vv); + //杩涙潵榛樿鎾斁鍣ㄧ晫闈� //this.SwitchUI(IntType.Player); } @@ -135,6 +143,8 @@ //杩斿洖 this.topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { + //娓呯┖鎵�鏈夌紦瀛樻暟鎹� + AksCommonMethod.Current.ClearData(); this.RemoveFromParent(); }; //璁剧疆 @@ -184,6 +194,7 @@ { this.remoteControlList = SendMethod.Current.GetRemoteControlLits(this.device.deviceId); this.sequencerList = SendMethod.Current.GetSequencerLits(this.device.deviceId); + //TestData(this.remoteControlList); } catch { } finally @@ -194,16 +205,19 @@ if (this.remoteControlList.Count > 0) { - if (string.IsNullOrEmpty(this.GetValueString(IntType.Player))) - { - //榛樿鍙栫涓�浣� - this.SwitchUI((IntType)this.remoteControlList[0].type); - } - else + if (this.isExistType(IntType.Player)) { //鏈夋挱鏀剧被鍨嬮仴鎺у櫒浼樺厛鏄剧ず this.SwitchUI(IntType.Player); } + else + { + //榛樿鍙栫涓�浣� + this.indexValue = 0; + var type = (IntType)this.remoteControlList[this.indexValue].type; + this.SwitchUI(type); + } + } }); @@ -211,14 +225,15 @@ }); } /// <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; @@ -228,15 +243,15 @@ return; } this.vv.RemoveAll(); - this.currnetIntType = type; + var remoteContro = this.remoteControlList[this.indexValue]; switch (type) { case IntType.Player: { - MusicPage musicPage = new MusicPage(GetRemoteControl((int)IntType.Player),this.sequencerList); + MusicPage musicPage = new MusicPage(remoteContro, this.sequencerList); this.vv.AddChidren(musicPage); musicPage.Show(); - musicPage.action += (type) => + musicPage.action += (deviceType) => { SelectedType(); }; @@ -244,10 +259,10 @@ break; case IntType.HiFi: { - GfPage gfPage = new GfPage(GetRemoteControl((int)IntType.HiFi), this.sequencerList); + GfPage gfPage = new GfPage(remoteContro, this.sequencerList); this.vv.AddChidren(gfPage); gfPage.Show(); - gfPage.action += (type) => + gfPage.action += (deviceType) => { SelectedType(); }; @@ -257,10 +272,10 @@ case IntType.TV: { - TvPage tvPage = new TvPage(GetRemoteControl((int)IntType.TV), this.sequencerList); + TvPage tvPage = new TvPage(remoteContro, this.sequencerList); this.vv.AddChidren(tvPage); tvPage.Show(); - tvPage.action += (type) => + tvPage.action += (deviceType) => { SelectedType(); }; @@ -268,10 +283,10 @@ break; case IntType.STB: { - JdhPage jdhPage = new JdhPage(GetRemoteControl((int)IntType.STB), this.sequencerList); + JdhPage jdhPage = new JdhPage(remoteContro, this.sequencerList); this.vv.AddChidren(jdhPage); jdhPage.Show(); - jdhPage.action += (type) => + jdhPage.action += (deviceType) => { SelectedType(); }; @@ -279,10 +294,10 @@ break; case IntType.Projector: { - TyyPage tyyPage = new TyyPage(GetRemoteControl((int)IntType.Projector), this.sequencerList); + TyyPage tyyPage = new TyyPage(remoteContro, this.sequencerList); this.vv.AddChidren(tyyPage); tyyPage.Show(); - tyyPage.action += (type) => + tyyPage.action += (deviceType) => { SelectedType(); }; @@ -291,10 +306,10 @@ case IntType.Control: { - YkqPage ykqPage = new YkqPage(GetRemoteControl((int)IntType.Control), this.sequencerList); + YkqPage ykqPage = new YkqPage(remoteContro, this.sequencerList); this.vv.AddChidren(ykqPage); ykqPage.Show(); - ykqPage.action += (type) => + ykqPage.action += (deviceType) => { SelectedType(); }; @@ -306,43 +321,35 @@ } /// <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); }); } - /// <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 @@ -378,92 +385,50 @@ } /// <summary> - /// 鍒濆鍖栧瓧鍏� + /// 鑾峰彇閬ユ帶鍣ㄥ垪琛� /// </summary> /// <returns></returns> - private Dictionary<IntType, string> GetTypeDictionary() + private List<RemoteControlEntity> GetRemoteControlList() { if (this.remoteControlList == null || this.remoteControlList.Count == 0) { - return new Dictionary<IntType, string>(); + return new List<RemoteControlEntity>(); } - var dic = new Dictionary<IntType, string>(); - 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; + return this.remoteControlList; } + /// <summary> - /// 鑾峰彇璁惧绫诲瀷 + /// 鏄惁瀛樺湪绫诲瀷 /// </summary> - /// <param name="value">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param> + /// <param name="type">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param> /// <returns></returns> - private IntType GetKeyIntType(string value) + 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.Value == value) + var re = remoteControls[i]; + if ((IntType)re.type == type) { - return d.Key; + this.indexValue = i; + return true; } + } - 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(); - foreach (var d in dic) - { - if (d.Key == key) - { - return d.Value; - } - } - 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