From cc1012b077a91793c0edd6001cdf019e6bd9a57d Mon Sep 17 00:00:00 2001
From: lss <316519258@qq.com>
Date: 星期五, 29 五月 2020 18:02:13 +0800
Subject: [PATCH] 2020.05.29
---
ZigbeeApp/Shared/Phone/UserCenter/SmartSound/Forms/SmartSoundControlForm.cs | 357 ++++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 267 insertions(+), 90 deletions(-)
diff --git a/ZigbeeApp/Shared/Phone/UserCenter/SmartSound/Forms/SmartSoundControlForm.cs b/ZigbeeApp/Shared/Phone/UserCenter/SmartSound/Forms/SmartSoundControlForm.cs
index af113da..3a049d9 100644
--- a/ZigbeeApp/Shared/Phone/UserCenter/SmartSound/Forms/SmartSoundControlForm.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/SmartSound/Forms/SmartSoundControlForm.cs
@@ -1,119 +1,296 @@
锘縰sing System;
using System.Collections.Generic;
using Shared.Common;
+using Shared.Phone.UserCenter.SmartSound.Forms;
+using ZigBee.Device;
namespace Shared.Phone.UserCenter.SmartSound
{
+
public class SmartSoundControlForm : EditorCommonForm
{
- private SmartSound mSmartSound;
+
+ /// <summary>
+ /// 鍒楄〃鎺т欢
+ /// </summary>
+ private VerticalListControl listView = null;
+ private FrameLayout contentLayout = null;
+ public int CurrentIndex = 0;
+ private MostRightIconControl btnAddDeviceIcon = null;
public SmartSoundControlForm()
{
}
- /// <summary>
- /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
- /// </summary>
- public void ShowForm()
- {
- // iniData();//鍏堝姞杞芥ā鎷熸暟鎹�
-
- this.ScrollEnabled = false;
-
- //璁剧疆鏍囬淇℃伅
+ /// <summary>
+ /// 鐢婚潰鏄剧ず(搴曞眰浼氬浐瀹氳皟鐢ㄦ鏂规硶锛屽�熶互瀹屾垚鐢婚潰鍒涘缓)
+ /// </summary>
+ public void ShowForm()
+ {
+
+ //璁剧疆鏍囬淇℃伅
base.SetTitleText("璇煶鎺у埗");
//鍙充笂娣诲姞鎸夐挳
- var btnAddDeviceIcon = new MostRightIconControl(69, 69);
- btnAddDeviceIcon.UnSelectedImagePath = "Item/Add.png";
- topFrameLayout.AddChidren(btnAddDeviceIcon);
- btnAddDeviceIcon.InitControl();
- btnAddDeviceIcon.ButtonClickEvent += (sender, e) =>
- {
- iniView();
- };
-
- //鍒濆鍖栦腑閮ㄦ帶浠�
- //this.InitMiddleFrame();
-
- }
-
- /// <summary>
- /// 灏嗘暟鎹浆鎹负鏅鸿兘闊崇浣跨敤鐨勬暟鎹�
- /// </summary>
- private void iniData(bool isAdd)
- {
- //1.浠庢湇鍔″櫒鑾峰彇鐨勬暟鎹紝json鍙嶅簭鍒楀寲寰楁潵
- //2.鐐瑰嚮"+"灏嗙綉鍏崇殑鏁版嵁杞崲涓� 鏅鸿兘闊崇浣跨敤鐨勬暟鎹�
- /*{
-
- Dictionary<string, string> ss = Config.Instance.Home.FloorDics;//妤煎眰鍒楄〃
- string currentFloor = Config.Instance.Home.CurrentFloorId;//褰撳墠妤煎眰鐨勯敭
-
- var listRoom = HdlRoomLogic.Current.GetFloorSortRoom("妤煎眰鐨勪富閿�");//鑾峰彇褰撳墠妤煎眰鐨勬墍鏈夋埧闂�
- var room = listRoom[0];
- for (int i=0;i<room.ListDevice.Count;i++)
- {//璁惧鏁版嵁
- var device = LocalDevice.Current.GetDevice(room.ListDevice[i]);
- var myType = LocalDevice.Current.GetNotHdlMyDeviceEnumInfo(new List<CommonDevice>() { device });
-
- if (myType.BeloneType == DeviceBeloneType.A鐏厜)
- {
- //杩欓噷闈㈢殑灏辨槸鐏厜浜�
- var light = device;
- // light.DeviceAddr; 璁惧鐨勫湴鍧�
- // light.DeviceEpoint;//璁惧鐨勭鍙�
- }
- }
-
- for (int i = 0; i < room.ListSceneId.Count; i++)
- { //鍦烘櫙鏁版嵁
- var device = HdlSceneLogic.Current.GetSceneUIBySceneId(room.ListSceneId[i]);
- // device.Id;鍦烘櫙 id
- }
- }*/
-
- if (isAdd)
+ if (btnAddDeviceIcon == null)
{
- mSmartSound = new SmartSound();
- Dictionary<string, string> floorDictionary = Config.Instance.Home.FloorDics;//妤煎眰鍒楄〃
- if (floorDictionary.Count < 1)
+ btnAddDeviceIcon = new MostRightIconControl(69, 69);
+ btnAddDeviceIcon.UnSelectedImagePath = "Item/Add.png";
+ topFrameLayout.AddChidren(btnAddDeviceIcon);
+ btnAddDeviceIcon.InitControl();
+ btnAddDeviceIcon.ButtonClickEvent += (sender, e) =>
{
- //娌℃湁妤煎眰
- }
-
-
-
-
-
+ var smartSoundDataAdd = new SmartSoundControlContentForm();
+ smartSoundDataAdd.AddForm();
+ };
}
+ //鍒濆鍖栦腑閮ㄦ帶浠�
+ this.InitMiddleFrame();
}
- private void iniView()
+
+ private void InitMiddleFrame()
{
- //鎴块棿鍒楄〃琛寋鎴块棿鍒楄〃 textView锛屾ゼ灞備笅鎷夌獥}
- //鏄剧ず鎴块棿{甯﹂�夋嫨妗嗙殑锛涘綋閫変腑浜嗘埧闂村悗闇�瑕佸湪搴曢儴寮瑰嚭纭鎸夐挳锛岀偣鍑荤‘璁よ烦杞埌鏂扮殑鐣岄潰}
- var frame = new TopRightMenuControl(2, 2);
- //鍒涘缓妤煎眰
- frame.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uCreatFloor), "Item/CreatFloor.png", "Item/CreatFloorSelected.png", () =>
+
+ if (SmartSound.CurretnData == null || SmartSound.CurretnData.Count < 1)
+ return;
+
+ // 娣诲姞鏁版嵁
+ if (contentLayout != null)
{
- //鍒涘缓妤煎眰
- //this.CreatOrEditorFloor(null, null, string.Empty, string.Empty);
- });
- //鍒涘缓鎴块棿
- frame.AddRowMenu(Language.StringByID(R.MyInternationalizationString.uCreatRoom), "Item/RoomIcon.png", "Item/RoomIconSelected.png", () =>
+ contentLayout.RemoveAll();
+ contentLayout = null;
+ }
+
+ contentLayout = new FrameLayout();
+ this.bodyFrameLayout.AddChidren(contentLayout);
+ contentLayout.RemoveAll();
+
+ var pullLayout = new MyPullControl(this, SmartSound.CurretnData);
+ contentLayout.AddChidren(pullLayout);
+ pullLayout.InitControl();
+
+ LoadAllRoomListView();
+
+ }
+
+ private void LoadAllRoomListView()
+ {
+ try
{
- /*var form = new AddNewRoomForm();
- form.AddForm(string.Empty);
- form.FinishEditorEvent += () =>
+
+ if (SmartSound.CurretnData == null || SmartSound.CurretnData.Count < 1)
+ return;
+
+ // 鍔犺浇褰撳墠妤煎眰鐨勬墍鏈夋埧闂� ListView
+ if (listView == null)
{
- //鏍规嵁鎸囧畾妯″紡,鍒濆鍖栨甯冩帶浠�
- this.InitFrameTableByMode();
- };*/
- });
+
+ listView = new VerticalListControl();
+ contentLayout.AddChidren(listView);
+ listView.Y = Application.GetRealHeight(173);
+ listView.Height = bodyFrameLayout.Height - Application.GetRealHeight(173);
+
+ }
+ else if (listView.Parent == null)
+ {
+ listView = new VerticalListControl();
+ contentLayout.AddChidren(listView);
+ listView.Y = Application.GetRealHeight(173);
+ listView.Height = bodyFrameLayout.Height - Application.GetRealHeight(173);
+ }
+
+ listView.RemoveAll();
+
+ SmartSound.Layer layer = SmartSound.CurretnData[CurrentIndex];
+
+ foreach (SmartSound.Room room in layer.RoomList)
+ {
+ var roomRowLayout = new RoomRowLayout(this, room);
+ listView.AddChidren(roomRowLayout);
+ roomRowLayout.InitControl();
+
+ roomRowLayout.btnDelect.ButtonClickEvent += (sender, e) =>
+ {
+
+ try
+ {
+ var delBtn = sender as NormalViewControl;
+ var tag = (SmartSound.Room)delBtn.GetTagByKey("obj");
+
+ if (SmartSound.CurretnData == null)
+ return;
+
+ for (int i = 0; i < SmartSound.CurretnData.Count; i++)
+ {
+ SmartSound.Layer _layer = SmartSound.CurretnData[i];
+
+ for (int j = 0; j < _layer.RoomList.Count; j++)
+ {
+ SmartSound.Room _room = _layer.RoomList[j];
+
+ if (_room.RoomID == tag.RoomID)
+ {
+ _layer.RoomList.Remove(_room);
+ this.LoadAllRoomListView();
+ }
+ }
+ }
+ }
+ catch(Exception ex)
+ {
+ string error = ex.Message;
+ }
+ };
+ }
+
+ }
+ catch(Exception e)
+ {
+ string error = e.Message;
+ }
+ }
+
+ public override int FormActionAgainEvent()
+ {
+ ShowForm();
+ return base.FormActionAgainEvent();
+ }
+
+ #region 鈻� 鑷畾涔夋ゼ灞傞�夋嫨鎺т欢_____________________
+
+ /// <summary>
+ /// 鎴块棿鍒楄〃琛�
+ /// </summary>
+ private class MyPullControl : FrameRowControl
+ {
+
+ private SmartSoundControlForm smartSoundControlData = null;
+ private List<SmartSound.Layer> Layers = null;
+ /// <summary>
+ /// 鎴块棿鍒楄〃
+ /// </summary>
+ private NormalViewControl btnName = null;
+
+ /// <summary>
+ /// 鎴块棿鍒楄〃琛�
+ /// </summary>
+ public MyPullControl(SmartSoundControlForm _SmartSoundDataAdd, List<SmartSound.Layer> _layers)
+ {
+ this.smartSoundControlData = _SmartSoundDataAdd;
+ this.Layers = _layers;
+ this.UseClickStatu = false;
+ this.BackgroundColor = UserCenterColor.Current.White;
+ this.Height = Application.GetRealHeight(173);
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栨帶浠�
+ /// </summary>
+ public void InitControl()
+ {
+ try
+ {
+ //鏄剧ず鏂囨湰
+ btnName = this.AddLeftCaption(string.Empty, 700);
+ btnName.Height = Application.GetRealHeight(60);
+ btnName.TextSize = 17;
+ btnName.Y = Application.GetRealHeight(57);
+ btnName.Text = "鎴块棿鍒楄〃";
+
+ var right_icon = this.AddRightArrow();
+ right_icon.SelectedImagePath = "SmartSound/PullDown.png";
+ right_icon.UnSelectedImagePath = "SmartSound/PullDown.png";
+ right_icon.ButtonClickEvent += (sender, e) =>
+ {
+ ShowPullList();
+ };
+
+ var layout = this.AddMostRightView(Layers[smartSoundControlData.CurrentIndex].LayerName, 300, false);
+ layout.Name = "pullLayout";
+ layout.ButtonClickEvent += (sender, e) =>
+ {
+ ShowPullList();
+ };
+ }
+ catch(Exception e)
+ {
+ string error = e.Message;
+ }
+ }
+
+ private void ShowPullList()
+ {
+ //鎴块棿鍒楄〃琛寋鎴块棿鍒楄〃 textView锛屾ゼ灞備笅鎷夌獥}
+ //鏄剧ず鎴块棿{甯﹂�夋嫨妗嗙殑锛涘綋閫変腑浜嗘埧闂村悗闇�瑕佸湪搴曢儴寮瑰嚭纭鎸夐挳锛岀偣鍑荤‘璁よ烦杞埌鏂扮殑鐣岄潰}
+ var pull_frame = new TopRightMenuControl(Layers.Count, 2);
+ pull_frame.Y = this.Height;
+
+ for (int i = 0; i < Layers.Count; i++)
+ {
+ //鍒涘缓妤煎眰
+ pull_frame.AddRowMenu(Layers[i].LayerName, "Item/CreatFloor.png", "Item/CreatFloorSelected.png", () =>
+ {
+ smartSoundControlData.CurrentIndex = i;
+ smartSoundControlData.LoadAllRoomListView();
+ });
+ }
+ }
+ }
+ #endregion
+
+ #region 鈻� 鑷畾涔夋櫤鑳介煶绠辨帶浠禵____________________
+
+ /// <summary>
+ /// 璇煶鎺у埗鎴块棿琛�
+ /// </summary>
+ private class RoomRowLayout : RowLayoutControl
+ {
+
+ /// <summary>
+ /// 鎴块棿鍚嶅瓧
+ /// </summary>
+ private NormalViewControl btnName = null;
+
+ /// <summary>
+ /// 鍒犻櫎鎸夐挳
+ /// </summary>
+ public NormalViewControl btnDelect = null;
+
+ private SmartSoundControlForm smartSoundControlForm;
+ private SmartSound.Room room;
+
+ /// <summary>
+ /// 鑷畾闊崇鍏虫帶浠�
+ /// </summary>
+ public RoomRowLayout(SmartSoundControlForm _smartSoundControlForm, SmartSound.Room _room)
+ {
+ this.smartSoundControlForm = _smartSoundControlForm;
+ this.room = _room;
+ this.BackgroundColor = UserCenterColor.Current.White;
+ this.Height = Application.GetRealHeight(173);
+
+ }
+
+ /// <summary>
+ /// 鍒濆鍖栧唴閮ㄦ帶浠�
+ /// </summary>
+ public void InitControl()
+ {
+ //璁惧
+ frameTable.AddLeftCaption(this.room.RoomName, 800);
+ frameTable.AddRightArrow();
+ //搴曠嚎
+ frameTable.AddBottomLine();
+
+ btnDelect = base.AddDeleteControl();
+ btnDelect.Text = "鍒犻櫎";
+ btnDelect.AddTag("obj", room);
+
+ }
+ #endregion
}
}
-}
+}
\ No newline at end of file
--
Gitblit v1.8.0