New file |
| | |
| | | using System; |
| | | using System.Collections.Generic; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using Shared.Common; |
| | | using Shared.Phone.UserCenter.SmartSound.Util; |
| | | using Shared.Phone.UserCenter.SmartSound.Widget; |
| | | using ZigBee.Device; |
| | | |
| | | namespace Shared.Phone.UserCenter.SmartSound.Forms |
| | | { |
| | | public class SmartSoundControlContentForm : EditorCommonForm |
| | | { |
| | | /// <summary> |
| | | /// 临时数据 |
| | | /// </summary> |
| | | private List<SmartSound.Layer> TempDatas = new List<SmartSound.Layer>(); |
| | | |
| | | private SmartSoundInfo.SoundInfo mSoundInfo; |
| | | /// <summary> |
| | | /// 列表控件 |
| | | /// </summary> |
| | | private VerticalListControl listView = null; |
| | | |
| | | private FrameLayout contentLayout = null; |
| | | /// <summary>
|
| | | /// 当前楼层的索引
|
| | | /// </summary> |
| | | public int CurrentIndex = 0;
|
| | | private BottomClickButton bottomClickButton = null; |
| | | /// <summary>
|
| | | /// 当前楼层的名称
|
| | | /// </summary> |
| | | private static NormalViewControl pullLayoutText = null; |
| | | |
| | | public SmartSoundControlContentForm(SmartSoundInfo.SoundInfo soundInfo) |
| | | { |
| | | this.mSoundInfo = soundInfo; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 画面显示(底层会固定调用此方法,借以完成画面创建) |
| | | /// </summary> |
| | | public void ShowForm() |
| | | { |
| | | IniFloorData();//先加载数据 |
| | | TempDatas.Clear(); |
| | | |
| | | this.ScrollEnabled = false; |
| | | base.SetTitleText("选择房间");//设置标题信息 |
| | | |
| | | contentLayout = new FrameLayout(); |
| | | this.bodyFrameLayout.AddChidren(contentLayout); |
| | | |
| | | IniAllDataView(); |
| | | } |
| | | |
| | | #region 加载本地所有数据,生成供用户选择房间的界面 |
| | | |
| | | private void IniAllDataView() |
| | | { |
| | | contentLayout.RemoveAll(); |
| | | |
| | | var pullLayout = new MyPullControl(this, SmartSound.LocaData); |
| | | contentLayout.AddChidren(pullLayout); |
| | | pullLayout.InitControl(); |
| | | |
| | | LoadAllRoomListView(); |
| | | |
| | | bottomClickButton = new BottomClickButton(); |
| | | this.bodyFrameLayout.AddChidren(bottomClickButton); |
| | | bottomClickButton.Text = "确认"; |
| | | bottomClickButton.ButtonClickEvent += (sender, e) => |
| | | { |
| | | if (SmartSound.getInstantiate().LayerList != null && SmartSound.getInstantiate().LayerList.Count > 0) |
| | | { |
| | | //生成一个弹窗画面 |
| | | var dialogForm = new TextDialog("确认删除现有房间列表的所有控制内容,添加全新的场景和功能?", "确认"); |
| | | dialogForm.SetTitleText("提示"); |
| | | |
| | | //按下确认按钮 |
| | | dialogForm.ComfirmClickEvent += () => |
| | | { |
| | | //画面关闭 |
| | | dialogForm.CloseDialog(); |
| | | uploadData(); |
| | | }; |
| | | } |
| | | else |
| | | { |
| | | uploadData(); |
| | | } |
| | | |
| | | }; |
| | | |
| | | bottomClickButton.Visible = false; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 提交数据到服务器 |
| | | /// </summary> |
| | | private void uploadData() |
| | | { |
| | | HdlThreadLogic.Current.RunThread(async () => |
| | | { |
| | | this.ShowProgressBar(); |
| | | //保存数据 |
| | | if (SmartSound.getInstantiate().LayerList == null) |
| | | SmartSound.getInstantiate().LayerList = new List<SmartSound.Layer>(); |
| | | |
| | | SmartSound.getInstantiate().LayerList.Clear(); |
| | | SmartSound.getInstantiate().LayerList = CollateData(); |
| | | SmartSound.getInstantiate().TokenID = mSoundInfo.Id; |
| | | SmartSound.getInstantiate().UserID = mSoundInfo.UserID; |
| | | SmartSound.getInstantiate().HomeID = mSoundInfo.HomeID; |
| | | |
| | | //上传数据到服务器 |
| | | string str = await postBatchEdit(); |
| | | CloseProgressBar(); |
| | | |
| | | HdlThreadLogic.Current.RunMainInThread(() => |
| | | { |
| | | CloseForm(); |
| | | }); |
| | | }); |
| | | } |
| | | |
| | | private void LoadAllRoomListView() |
| | | { |
| | | try |
| | | { |
| | | |
| | | if (SmartSound.LocaData == null || SmartSound.LocaData.Count < 1) |
| | | return; |
| | | |
| | | // 加载当前楼层的所有房间 ListView |
| | | SmartSound.Layer layer = SmartSound.LocaData[CurrentIndex]; |
| | | if (listView == null) |
| | | { |
| | | listView = new VerticalListControl(); |
| | | contentLayout.AddChidren(listView); |
| | | listView.Y = Application.GetRealHeight(173); |
| | | listView.Height = bodyFrameLayout.Height- Application.GetRealHeight(173); |
| | | } |
| | | |
| | | pullLayoutText.Text = layer.LayerName; |
| | | listView.RemoveAll(); |
| | | |
| | | foreach(SmartSound.Room room in layer.RoomList) |
| | | { |
| | | var roomRowLayout = new RoomRowLayout(this, room); |
| | | listView.AddChidren(roomRowLayout); |
| | | roomRowLayout.InitControl(); |
| | | } |
| | | |
| | | //多个的时候,确认按钮会遮挡一部分。追加三个空的行的高度,把它顶上来 |
| | | if (listView.ChildrenCount > 5) |
| | | { |
| | | TextView textView = new TextView(); |
| | | textView.Height = Application.GetRealHeight(127 * 3); |
| | | listView.AddChidren(textView); |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | |
| | | private async Task<string> postBatchEdit() |
| | | { |
| | | // The remote server returned an error: (400) Bad Request. |
| | | string url = "https://developer.hdlcontrol.com/zigbeespeakerservice/BatchEdit"; |
| | | string json = Newtonsoft.Json.JsonConvert.SerializeObject(SmartSound.getInstantiate()); |
| | | string response_str = MyHttpWebResponse.PostWebRequest(url, json, Encoding.UTF8); |
| | | return response_str; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | /// <summary> |
| | | /// 将数据转换为智能音箱使用的数据 |
| | | /// </summary> |
| | | private void IniFloorData() |
| | | { |
| | | |
| | | if (SmartSound.LocaData == null) |
| | | SmartSound.LocaData = new List<SmartSound.Layer>(); |
| | | |
| | | SmartSound.LocaData.Clear(); |
| | | |
| | | Dictionary<string, string> floorDictionary = Config.Instance.Home.FloorDics;//楼层列表 |
| | | |
| | | #region 分楼层 |
| | | if (floorDictionary.Count < 1) |
| | | { |
| | | //没有楼层,模拟一个 |
| | | SmartSound.Layer layer = new SmartSound.Layer(); |
| | | layer.LayerID = DateTime.Now.ToString("yyyyMMddHHmmssms"); |
| | | layer.LayerName = "一楼"; |
| | | layer.RoomList.Clear(); |
| | | SmartSound.LocaData.Add(layer); |
| | | } |
| | | else |
| | | { |
| | | foreach (string layer_id in floorDictionary.Keys) |
| | | { |
| | | SmartSound.Layer layer = new SmartSound.Layer(); |
| | | layer.LayerID = layer_id; |
| | | layer.LayerName = floorDictionary[layer_id]; |
| | | layer.RoomList.Clear(); |
| | | SmartSound.LocaData.Add(layer); |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region 房间入住对应的楼层 |
| | | var roomList = HdlRoomLogic.Current.GetAllListRooms();//获取所有房间 |
| | | |
| | | for (int n = 0; n < SmartSound.LocaData.Count; n++) |
| | | { |
| | | SmartSound.Layer layer = SmartSound.LocaData[n]; |
| | | foreach (Room room in roomList) |
| | | { |
| | | try |
| | | { |
| | | if (layer.LayerID != room.FloorId && SmartSound.LocaData.Count > 1) |
| | | continue; |
| | | |
| | | //添加房间 |
| | | SmartSound.Room smartRoom = new SmartSound.Room(); |
| | | layer.RoomList.Add(smartRoom); |
| | | |
| | | smartRoom.RoomID = room.Id; |
| | | smartRoom.RoomName = room.Name; |
| | | smartRoom.DeviceList.Clear(); |
| | | smartRoom.SceneList.Clear(); |
| | | |
| | | #region 添加设备 灯光、窗帘、场景、空调 |
| | | for (int j = 0; j < room.ListDevice.Count; j++) |
| | | { |
| | | string key = room.ListDevice[j].ToString(); |
| | | var device = LocalDevice.Current.GetDevice(key); |
| | | if (device == null) |
| | | continue; |
| | | |
| | | SmartSound.Device smartDevice = new SmartSound.Device(); |
| | | smartDevice.DeviceAddress = device.DeviceAddr;//设备 MAC |
| | | smartDevice.Epoint = device.DeviceEpoint;//设备端口 |
| | | smartDevice.DeviceName = Common.LocalDevice.Current.GetDeviceEpointName(device);//设备名称 |
| | | smartDevice.NicksName = ""; |
| | | smartDevice.DeviceType = GetDeviceType(device);//设备类型 |
| | | if (smartDevice.DeviceType == 0) |
| | | continue; |
| | | |
| | | if(ZbGateway.GateWayBaseInfomations.ContainsKey(device.CurrentGateWayId) ==true)
|
| | | {
|
| | | smartDevice.GatewayID = ZbGateway.GateWayBaseInfomations[device.CurrentGateWayId].MacMark;//网关 Id
|
| | | } |
| | | else
|
| | | {
|
| | | smartDevice.GatewayID = device.CurrentGateWayId;//网关 Id
|
| | | } |
| | | |
| | | if (smartDevice.DeviceName == "" || smartDevice.DeviceName == string.Empty) |
| | | continue; |
| | | |
| | | smartRoom.DeviceList.Add(smartDevice); |
| | | } |
| | | #endregion |
| | | |
| | | var sceneList = HdlSceneLogic.Current.GetRoomSceneList(room); |
| | | |
| | | #region //添加场景 |
| | | for (int k = 0; k < sceneList.Count; k++) |
| | | { |
| | | try |
| | | { |
| | | SceneUI scene = sceneList[k]; |
| | | |
| | | if (scene == null) continue; |
| | | SmartSound.Scene smartScene = new SmartSound.Scene(); |
| | | smartScene.SceneName = scene.Name; |
| | | smartScene.SceneID = scene.Id; |
| | | smartScene.DelayTime = scene.DelayTime; |
| | | smartScene.NicksName = ""; |
| | | if (ZbGateway.GateWayBaseInfomations.ContainsKey(ZbGateway.MainGateWay.GwId) == true) |
| | | { |
| | | smartScene.GatewayID = ZbGateway.GateWayBaseInfomations[ZbGateway.MainGateWay.GwId].MacMark;//网关 Id |
| | | } |
| | | else |
| | | { |
| | | smartScene.GatewayID = ZbGateway.MainGateWay.GwId;//网关 Id |
| | | } |
| | | |
| | | if (smartScene.SceneName == "" || smartScene.SceneName == string.Empty) |
| | | continue; |
| | | |
| | | smartRoom.SceneList.Add(smartScene); |
| | | } |
| | | catch (Exception e) { } |
| | | } |
| | | #endregion |
| | | |
| | | if (smartRoom.DeviceList.Count == 0 && sceneList.Count == 0) |
| | | layer.RoomList.Remove(smartRoom); |
| | | |
| | | } |
| | | catch (Exception e) |
| | | { |
| | | string errpr = e.Message; |
| | | } |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// Zigbee设备类型转换为智能音箱使用的类型 |
| | | /// </summary> |
| | | /// <returns></returns> |
| | | private int GetDeviceType(ZigBee.Device.CommonDevice device) |
| | | { |
| | | int type = 0;//1=开关灯,2=调光灯,3=RGB 灯,4=窗帘模块,5=开合帘,6=卷帘,7=空调,8=面板,9=新风 |
| | | |
| | | if (device.Type == DeviceType.OnOffOutput && device.DfunctionType == DeviceFunctionType.A灯光) |
| | | { |
| | | type = 1;//这里面的就是继电器灯光了 |
| | | } |
| | | else if (device.Type == DeviceType.DimmableLight) |
| | | { |
| | | type = 2;//调光 |
| | | } |
| | | else if (device.Type == DeviceType.ColorDimmableLight) |
| | | { |
| | | type = 3; |
| | | } |
| | | else if (device.Type == DeviceType.WindowCoveringDevice) |
| | | { |
| | | //窗帘 |
| | | if (((Rollershade)device).WcdType == 4)//开合帘 |
| | | { |
| | | type = 5; |
| | | } |
| | | else if (((Rollershade)device).WcdType == 0)//卷帘 |
| | | type = 6;//卷帘 |
| | | } |
| | | else if (device.Type == DeviceType.Thermostat) |
| | | { |
| | | type = 7; |
| | | } |
| | | else if (device.Type == DeviceType.FreshAir) |
| | | { |
| | | type = 9; |
| | | } |
| | | |
| | | return type; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 将选中的数据添加到临时数据列表中,便于后期的"保存" |
| | | /// </summary> |
| | | private void AddData(SmartSound.Room room) |
| | | { |
| | | if (TempDatas == null) |
| | | TempDatas = new List<SmartSound.Layer>(); |
| | | |
| | | SmartSound.Layer tempLayer = SmartSound.LocaData[CurrentIndex]; |
| | | if (tempLayer == null) return; |
| | | |
| | | |
| | | #region 添加楼层 |
| | | |
| | | bool floor_exists = false; |
| | | // 过滤相同的楼层 |
| | | for (int i = 0; i < TempDatas.Count; i++) |
| | | { |
| | | if (tempLayer.LayerID == TempDatas[i].LayerID) |
| | | { |
| | | floor_exists = true; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (!floor_exists) |
| | | { |
| | | tempLayer.RoomList.Clear(); |
| | | TempDatas.Add(tempLayer); |
| | | } |
| | | |
| | | |
| | | #endregion |
| | | |
| | | #region 添加房间 |
| | | |
| | | for (int i = 0; i < TempDatas.Count; i++) |
| | | { |
| | | if (SmartSound.LocaData[CurrentIndex].LayerID != TempDatas[i].LayerID) |
| | | continue; |
| | | |
| | | bool room_exists = false; |
| | | |
| | | for (int n = 0; n < TempDatas[i].RoomList.Count; n++) |
| | | { |
| | | if (room.RoomID == TempDatas[i].RoomList[n].RoomID) |
| | | { |
| | | room_exists = true; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | if (!room_exists) |
| | | { |
| | | TempDatas[i].RoomList.Add(room); |
| | | CheckedAll(room);//添加房间成功,默认选中所有设备 |
| | | break; |
| | | } |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | } |
| | | |
| | | private void RemoveData(SmartSound.Room room) |
| | | { |
| | | try |
| | | { |
| | | for (int i = 0; i < TempDatas.Count; i++) |
| | | { |
| | | |
| | | for (int j = 0; j < TempDatas[i].RoomList.Count; j++) |
| | | { |
| | | if (TempDatas[i].RoomList[j].RoomID == room.RoomID) |
| | | { |
| | | TempDatas[i].RoomList.RemoveAt(j); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 默认选择所有设备 |
| | | /// </summary> |
| | | /// <param name="room"></param> |
| | | private void CheckedAll(SmartSound.Room room) |
| | | { |
| | | // 标记所有场景 |
| | | for (int n = 0; n < room.SceneList.Count; n++) |
| | | { |
| | | SmartSound.Scene _scene = room.SceneList[n]; |
| | | _scene.Checked = true; |
| | | } |
| | | |
| | | //标记所有设备 |
| | | for (int k = 0; k < room.DeviceList.Count; k++) |
| | | { |
| | | |
| | | SmartSound.Device _device = room.DeviceList[k]; |
| | | _device.Checked = true; |
| | | } |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 重新整理数据,把没有选中的数据都剔除掉 |
| | | /// </summary> |
| | | private List<SmartSound.Layer> CollateData() |
| | | { |
| | | try |
| | | { |
| | | //移出未选中的设备、场景 |
| | | for (int i = 0; i < TempDatas.Count; i++) |
| | | { |
| | | SmartSound.Layer _layer = TempDatas[i]; |
| | | |
| | | for (int j = 0; j < _layer.RoomList.Count; j++) |
| | | { |
| | | SmartSound.Room _room = _layer.RoomList[j]; |
| | | if (_room.Checked) |
| | | { |
| | | #region 清除未选中的设备 |
| | | for (int k = 0; k < _room.DeviceList.Count; k++) |
| | | { |
| | | SmartSound.Device _device = _room.DeviceList[k]; |
| | | if (!_device.Checked) |
| | | { |
| | | _room.DeviceList.Remove(_device); |
| | | k--; |
| | | } |
| | | } |
| | | #endregion |
| | | |
| | | #region 清除未选中的场景 |
| | | for (int n = 0; n < _room.SceneList.Count; n++) |
| | | { |
| | | SmartSound.Scene _scene = _room.SceneList[n]; |
| | | if (!_scene.Checked) |
| | | { |
| | | _room.SceneList.Remove(_scene); |
| | | n--; |
| | | } |
| | | } |
| | | #endregion |
| | | } |
| | | else |
| | | { |
| | | _layer.RoomList.Remove(_room); |
| | | j--; |
| | | } |
| | | } |
| | | } |
| | | |
| | | //移出没有设备的房间 |
| | | for (int j = 0; j < TempDatas.Count; j++) |
| | | { |
| | | SmartSound.Layer _layer = TempDatas[j]; |
| | | if (_layer.RoomList.Count < 1) |
| | | { |
| | | TempDatas.Remove(_layer); |
| | | j--; |
| | | } |
| | | } |
| | | } |
| | | catch { } |
| | | |
| | | return TempDatas; |
| | | } |
| | | |
| | | #region ■ 自定义楼层选择控件_____________________
|
| | |
|
| | | /// <summary>
|
| | | /// 房间列表行
|
| | | /// </summary>
|
| | | private class MyPullControl : FrameRowControl
|
| | | { |
| | | |
| | | private SmartSoundControlContentForm smartSoundDataAdd = null; |
| | | private List<SmartSound.Layer> Layers = null; |
| | | /// <summary>
|
| | | /// 房间列表
|
| | | /// </summary>
|
| | | private NormalViewControl btnName = null;
|
| | |
|
| | | /// <summary>
|
| | | /// 房间列表行
|
| | | /// </summary>
|
| | | public MyPullControl(SmartSoundControlContentForm _SmartSoundDataAdd,List<SmartSound.Layer> _layers)
|
| | | {
|
| | | this.smartSoundDataAdd = _SmartSoundDataAdd;
|
| | | this.Layers = _layers;
|
| | | this.UseClickStatu = false; |
| | | this.BackgroundColor = UserCenterColor.Current.White;
|
| | | this.Height = Application.GetRealHeight(173);
|
| | | } |
| | | |
| | | /// <summary>
|
| | | /// 初始化控件
|
| | | /// </summary>
|
| | | public void InitControl()
|
| | | { |
| | | //显示文本 |
| | | 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(); |
| | | };
|
| | |
|
| | | pullLayoutText = this.AddMostRightView(Layers[smartSoundDataAdd.CurrentIndex].LayerName, 300, false);
|
| | | pullLayoutText.Name = "pullLayout"; |
| | | pullLayoutText.ButtonClickEvent += (sender, e) =>
|
| | | { |
| | | ShowPullList(); |
| | | };
|
| | | pullLayoutText.Text = Layers[smartSoundDataAdd.CurrentIndex].LayerName; |
| | |
|
| | | if (Layers.Count == 1) |
| | | {
|
| | | right_icon.Visible = false;
|
| | | pullLayoutText.Visible = false;
|
| | | } |
| | | }
|
| | |
|
| | | 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++) |
| | | { |
| | | int index = i; |
| | | //创建楼层 |
| | | pull_frame.AddRowMenu(Layers[i].LayerName, "Item/CreatFloor.png", "Item/CreatFloorSelected.png", () => |
| | | { |
| | | smartSoundDataAdd.CurrentIndex = index; |
| | | smartSoundDataAdd.LoadAllRoomListView(); |
| | | }); |
| | | } |
| | | }
|
| | | } |
| | | #endregion |
| | | |
| | | #region ■ 自定义房间选择控件_____________________
|
| | | |
| | | /// <summary>
|
| | | /// 房间列表行
|
| | | /// </summary>
|
| | | private class RoomRowLayout : FrameRowControl
|
| | | { |
| | | private SmartSoundControlContentForm smartSoundControlContentForm = null; |
| | | |
| | | private SmartSound.Room mRoom = null; |
| | | /// <summary>
|
| | | /// 房间名称
|
| | | /// </summary>
|
| | | private NormalViewControl btnName = null;
|
| | |
|
| | | private MostRightIconControl Right_icon = null; |
| | |
|
| | | /// <summary>
|
| | | /// 房间列表行
|
| | | /// </summary>
|
| | | public RoomRowLayout(SmartSoundControlContentForm _smartSoundControlContentForm,SmartSound.Room _room)
|
| | | {
|
| | | this.smartSoundControlContentForm = _smartSoundControlContentForm;
|
| | | this.mRoom = _room;
|
| | | this.UseClickStatu = false; |
| | | this.BackgroundColor = UserCenterColor.Current.White;
|
| | | this.Height = Application.GetRealHeight(170);
|
| | | } |
| | | |
| | | /// <summary>
|
| | | /// 初始化控件
|
| | | /// </summary>
|
| | | public void InitControl()
|
| | | { |
| | | //显示文本 |
| | | btnName = this.AddLeftCaption(string.Empty, 2000);
|
| | | btnName.Height = Application.GetRealHeight(60);
|
| | | btnName.TextSize = 14;
|
| | | btnName.Y = Application.GetRealHeight(57);
|
| | | btnName.Text = mRoom.RoomName; |
| | | |
| | | Right_icon = this.AddMostRightEmptyIcon(58, 58);
|
| | | Right_icon.Gravity = Gravity.CenterVertical; |
| | | |
| | | btnName.ButtonClickEvent += (sender, e) =>
|
| | | { |
| | | mRoom.Checked = true; |
| | | RefreshRightIconState(mRoom.Checked); |
| | | SmartSoundContentForDevice deviceForm = new SmartSoundContentForDevice(mRoom); |
| | | deviceForm.AddForm(); |
| | | }; |
| | | |
| | | this.Right_icon.ButtonClickEvent += (sender, e) => |
| | | { |
| | | mRoom.Checked = !mRoom.Checked; |
| | | RefreshRightIconState(mRoom.Checked); |
| | | }; |
| | | |
| | | RefreshRightIconState(mRoom.Checked); |
| | | AddBottomLine(); |
| | | |
| | | }
|
| | |
|
| | | private void RefreshRightIconState(bool bol = false) |
| | | {
|
| | | try |
| | | { |
| | | if (bol) |
| | | { |
| | | Right_icon.SelectedImagePath = "Item/ItemSelected.png"; |
| | | Right_icon.UnSelectedImagePath = "Item/ItemSelected.png"; |
| | | |
| | | smartSoundControlContentForm.AddData(mRoom); |
| | | } |
| | | else |
| | | { |
| | | Right_icon.SelectedImagePath = "Item/ItemUnSelected.png"; |
| | | Right_icon.UnSelectedImagePath = "Item/ItemUnSelected.png"; |
| | | |
| | | smartSoundControlContentForm.RemoveData(mRoom); |
| | | } |
| | | |
| | | bool isShow = false; |
| | | |
| | | if(smartSoundControlContentForm==null) return; |
| | | |
| | | foreach (SmartSound.Room _room in SmartSound.LocaData[smartSoundControlContentForm.CurrentIndex].RoomList) |
| | | { |
| | | if (_room.Checked) |
| | | { |
| | | isShow = true; |
| | | break; |
| | | } |
| | | } |
| | | |
| | | smartSoundControlContentForm.bottomClickButton.Visible = isShow; |
| | | } |
| | | catch(Exception e) |
| | | { |
| | | string error = e.Message; |
| | | } |
| | | }
|
| | |
|
| | | }
|
| | | #endregion |
| | | } |
| | | } |