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 | 283 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 266 insertions(+), 17 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs index cb0dc58..05dee0c 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Aks/AksPage.cs @@ -7,11 +7,28 @@ using HDL_ON.DriverLayer; using HDL_ON.UI.Music; 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> @@ -45,6 +62,16 @@ /// 鍒犻櫎璁惧鍚庨渶瑕佹洿鏂扮晫闈㈢殑鍥炶皟 /// </summary> public Action action; + /// <summary> + /// 璁板綍褰撳墠璁惧 + /// </summary> + public IntType currnetIntType = IntType.none; + /// <summary> + /// 璁板綍褰撳墠閫夋嫨鐨勭储寮曞�� + /// </summary> + public int indexValue = -1; + + public VerticalScrolViewLayout vv; #endregion @@ -89,7 +116,7 @@ this.BackgroundColor = MusicColor.ViewColor; this.topView = new TopView(); this.topView.setBtn.Visible = true; - this.topView.topNameBtn.Text= this.device.name; + this.topView.topNameBtn.Text = this.device.name; this.AddChidren(topView.TopFLayoutView()); } /// <summary> @@ -97,23 +124,16 @@ /// </summary> private void InitMiddle() { - this.vv = new VerticalScrolViewLayout() + vv = new VerticalScrolViewLayout() { Y = topView.fLayout.Bottom, Height = Application.GetRealHeight(H_W.H - H_W.T_Height), - }; - var middleFl = new FrameLayout - { }; - this.vv.AddChidren(middleFl); - - var whiteFl = new FrameLayout - { - - }; - middleFl.AddChidren(whiteFl); - + this.AddChidren(vv); + + //杩涙潵榛樿鎾斁鍣ㄧ晫闈� + //this.SwitchUI(IntType.Player); } /// <summary> /// 娉ㄥ唽浜嬩欢 @@ -123,6 +143,8 @@ //杩斿洖 this.topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { + //娓呯┖鎵�鏈夌紦瀛樻暟鎹� + AksCommonMethod.Current.ClearData(); this.RemoveFromParent(); }; //璁剧疆 @@ -140,8 +162,8 @@ ////鍒锋柊鏄剧ず this.btnDeviceName.Text = this.device.name; this.btnRoomName.Text = this.device.GetRoomListName(); - this.btnCurrDeviceName.Text = this.device.name; - this.btnCurrDeviceRoom.Text = this.device.GetRoomListName(); + //this.btnCurrDeviceName.Text = this.device.name; + //this.btnCurrDeviceRoom.Text = this.device.GetRoomListName(); //this.CalculatedPosition();//閲嶆柊璁$畻瀹藉害 }); @@ -170,17 +192,244 @@ { 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 = 涓囪兘閬ユ帶鍣�) + /// </summary> + private void SwitchUI(IntType type) + { + //if (this.currnetIntType == type) + //{ + // //鍘绘帀鍒ゆ柇绫诲瀷,鍥犱负鍙兘瀛樺湪澶氫釜鍚岀被鍨� + // return; + //} + if (IntType.none == type) + { + return; + } + if (this.vv == null) + { + return; + } + this.vv.RemoveAll(); + var remoteContro = this.remoteControlList[this.indexValue]; + switch (type) + { + case IntType.Player: + { + 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(remoteContro, this.sequencerList); + this.vv.AddChidren(gfPage); + gfPage.Show(); + gfPage.action += (deviceType) => + { + SelectedType(); + }; + + } + break; + case IntType.TV: + { + + TvPage tvPage = new TvPage(remoteContro, this.sequencerList); + this.vv.AddChidren(tvPage); + tvPage.Show(); + tvPage.action += (deviceType) => + { + SelectedType(); + }; + } + break; + case IntType.STB: + { + JdhPage jdhPage = new JdhPage(remoteContro, this.sequencerList); + this.vv.AddChidren(jdhPage); + jdhPage.Show(); + jdhPage.action += (deviceType) => + { + SelectedType(); + }; + } + 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 = 涓囪兘閬ユ帶鍣�) + /// </summary> + private void SelectedType() + { + var deviceTypeList = GetRemoteControlList(); + ///涔嬪墠鐨勭姸鎬佹枃鏈� + string ccurrnetDeviceStr = ""; + if (indexValue != -1 && indexValue < deviceTypeList.Count) + { + ccurrnetDeviceStr = deviceTypeList[indexValue].name; + } + PublicInterface conditionView = new PublicInterface(); + conditionView.SingleSelectionShow(this, deviceTypeList, "璁惧閫夋嫨", ccurrnetDeviceStr + , (index) => + { + 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 + { + /// <summary> + /// 娌℃湁 + /// </summary> + none = 0, + /// <summary> + /// 鎾斁鍣� + /// </summary> + Player = 1, + /// <summary> + /// 鍔熸斁 + /// </summary> + HiFi = 2, + /// <summary> + /// 鐢佃 + /// </summary> + TV = 3, + /// <summary> + /// 鏈洪《鐩� + /// </summary> + STB = 4, + /// <summary> + /// 鎶曞奖浠� + /// </summary> + Projector = 5, + /// <summary> + /// 涓囪兘閬ユ帶鍣� + /// </summary> + Control = 6, + } + + /// <summary> + /// 鑾峰彇閬ユ帶鍣ㄥ垪琛� + /// </summary> + /// <returns></returns> + private List<RemoteControlEntity> GetRemoteControlList() + { + if (this.remoteControlList == null || this.remoteControlList.Count == 0) + { + return new List<RemoteControlEntity>(); + } + return this.remoteControlList; + } + + /// <summary> + /// 鏄惁瀛樺湪绫诲瀷 + /// </summary> + /// <param name="type">(1 = 鎾斁鍣�,2 = 鍔熸斁,3 = 鐢佃,4 = 鏈洪《鐩�,5 = 鎶曞奖浠�,6 = 涓囪兘閬ユ帶鍣�)</param> + /// <returns></returns> + private bool isExistType(IntType type) + { + + var remoteControls = this.GetRemoteControlList(); + for (int i = 0; i < remoteControls.Count; i++) + { + var re = remoteControls[i]; + if ((IntType)re.type == type) + { + this.indexValue = i; + return true; + } + + } + 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