| | |
| | | #region ■ 变量声明___________________________
|
| | |
|
| | | /// <summary>
|
| | | /// The instance.
|
| | | /// </summary>
|
| | | public static HomeMainPageForm Instance;
|
| | | /// <summary>
|
| | | /// 整个界面的上下滑动控件
|
| | | /// </summary>
|
| | | private VerticalFrameControl listBodyContr = null;
|
| | |
| | | /// </summary>
|
| | | public void ShowForm()
|
| | | {
|
| | | this.FormID = "HomeMainPageForm";
|
| | | Instance = this;
|
| | | |
| | | //先初始化左滑房间列表界面(在反射里面初始化)
|
| | | if (ListRoomViewFrom.Instance == null) { }
|
| | |
|
| | |
| | | this.AddNormalDeviceReportEvent();
|
| | | //添加传感器状态上报事件
|
| | | this.AddSensorDeviceReportEvent();
|
| | | //将当前的画面保存到内存当中
|
| | | UserCenterLogic.AddActionForm(this);
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | |
| | | selectHouse.Init();
|
| | | selectHouse.HouseAction = (houseId) =>
|
| | | {
|
| | | ChangeResidence(House.GetHouseByHouseId(houseId));
|
| | | ChangeResidence(HdlResidenceLogic.Current.GetHouseByHouseId(houseId));
|
| | | };
|
| | | }
|
| | | };
|
| | |
| | |
|
| | | //当前房间
|
| | | var listRoom = HdlRoomLogic.Current.GetRoomsByCurrentFloorIdAppendLoveRoom();
|
| | | if (HdlRoomLogic.Current.NowMainPageRoom == null)
|
| | | {
|
| | | //设置第一个为初始房间
|
| | | HdlRoomLogic.Current.NowMainPageRoom = listRoom[0];
|
| | | }
|
| | | var curIndex = 0;
|
| | | for (int i = 0; i < listRoom.Count; i++)
|
| | | {
|
| | |
| | | roomPageView.AddChidren(roomView);
|
| | | roomView.Init(listRoom[i]);
|
| | |
|
| | | if (listRoom[i].Id == HdlRoomLogic.Current.CurrentRoom.Id)
|
| | | if (listRoom[i].Id == HdlRoomLogic.Current.NowMainPageRoom.Id)
|
| | | {
|
| | | //当前房间,则显示那些数据出来
|
| | | roomView.HideName(false);
|
| | |
| | | btnRoomRightShadow.Visible = true;
|
| | | btnRoomBottomShadow.Visible = true;
|
| | | //切换当前房间
|
| | | HdlRoomLogic.Current.CurrentRoom = listRoom[curIndex];
|
| | | HdlRoomLogic.Current.NowMainPageRoom = listRoom[curIndex];
|
| | | //刷新设备桌布控件
|
| | | this.isRoomChanging = false;
|
| | | this.RefreshBodyView();
|
| | |
| | | this.dicDeviceCardControl.Clear();
|
| | |
|
| | | var listDevice = new List<CommonDevice>();
|
| | | foreach (var mainkeys in HdlRoomLogic.Current.CurrentRoom.ListDevice)
|
| | | foreach (var mainkeys in HdlRoomLogic.Current.NowMainPageRoom.ListDevice)
|
| | | {
|
| | | var device = LocalDevice.Current.GetDevice(mainkeys);
|
| | | //判断该设备能否显示在主页
|
| | |
| | | {
|
| | | cardContr = new Controls.DeviceDoorLockCardControl();
|
| | | }
|
| | | //色温灯
|
| | | else if (device.Type == DeviceType.ColorTemperatureLight)
|
| | | {
|
| | | cardContr = new Controls.DeviceColorTemperatureCardControl();
|
| | | }
|
| | | //无法识别
|
| | | else
|
| | | {
|
| | |
| | | cardContr.X = XX;
|
| | | cardContr.Y = YY;
|
| | | listDeviceBackContr.AddChidren(cardContr);
|
| | | cardContr.InitControl(device);
|
| | | cardContr.InitControl(device, HdlRoomLogic.Current.NowMainPageRoom);
|
| | | //卡片需要被移除的事件
|
| | | cardContr.CardNeedRemoveEvent += () =>
|
| | | {
|
| | |
| | | this.dicDeviceCardControl.Clear();
|
| | |
|
| | | var listScene = new List<SceneUI>();
|
| | | foreach (int sceneId in HdlRoomLogic.Current.CurrentRoom.ListSceneId)
|
| | | foreach (int sceneId in HdlRoomLogic.Current.NowMainPageRoom.ListSceneId)
|
| | | {
|
| | | var sceneUi = HdlSceneLogic.Current.GetSceneUIBySceneId(sceneId);
|
| | | if (sceneUi == null)
|
| | |
| | | new System.Threading.Thread(async () =>
|
| | | {
|
| | | Config.Instance.HomeId = home.Id;
|
| | | Config.Instance.Home = House.GetHouseByFilePath(home.FileName);
|
| | | Config.Instance.Home = HdlResidenceLogic.Current.GetHouseByHouseId(home.Id);
|
| | | Global.CreateHomeDirectory(home.Id);
|
| | | Config.Instance.Save();
|
| | | //刷新个人中心的内存及线程
|
| | |
| | | floorFL.changeFloor = true;
|
| | | floorFL.FloorAction = (floorId) =>
|
| | | {
|
| | | btnFloor.Text = Config.Instance.Home.GetFloorNameById(floorId);
|
| | | HdlRoomLogic.Current.CurrentRoom = HdlRoomLogic.Current.GetLoveRoom();
|
| | | btnFloor.Text = HdlResidenceLogic.Current.GetFloorNameById(floorId);
|
| | | HdlRoomLogic.Current.NowMainPageRoom = HdlRoomLogic.Current.GetLoveRoom();
|
| | | this.ShowForm();
|
| | | };
|
| | | }
|
| | |
| | | /// </summary>
|
| | | public override void CloseFormBefore()
|
| | | {
|
| | | //把静态变量的这个东西置空
|
| | | Instance = null;
|
| | |
|
| | | HdlGatewayReceiveLogic.Current.RemoveEvent("UserHomeViewDeviceOnline");
|
| | | HdlGatewayReceiveLogic.Current.RemoveEvent("UserHomeViewDeviceRespone");
|
| | | HdlGatewayReceiveLogic.Current.RemoveEvent("UserHomeViewDeviceStatus");
|
| | | HdlGatewayReceiveLogic.Current.RemoveEvent("UserHomeViewSensor");
|
| | |
|