| | |
| | | { |
| | | public FunTpye(string str) |
| | | { |
| | | if_type = str; |
| | | if_Type = str; |
| | | } |
| | | /// <summary> |
| | | /// 默认选中是房间时:全部区域 |
| | | /// </summary> |
| | | public static Entity.Room selectedRoom = new Entity.Room { roomId ="6688" }; |
| | | |
| | | /// <summary> |
| | | /// 默认选中是设备类型时:全部功能 |
| | | /// </summary> |
| | | //public static Entity.Room selectedRoom = new Entity.Room { roomId = "6688" }; |
| | | /// <summary> |
| | | /// 表示是(条件/目标) |
| | | /// </summary> |
| | | private string if_type; |
| | | |
| | | private string if_Type; |
| | | Loading loading = new Loading(); |
| | | /// <summary> |
| | | /// 设备功能ui |
| | | /// </summary> |
| | |
| | | /// <param name="bottm"></param> |
| | | /// <param name="funCount">支持功能类型个数<表示上面所占高度></param> |
| | | public void FunTypeView(FrameLayout viewLayout,int bottm,int funCount) { |
| | | viewLayout.AddChidren(loading); |
| | | LogicView.FunAllAreaView funAllAreaView = new LogicView.FunAllAreaView(); |
| | | funAllAreaView.frameLayout.Y = bottm + Application.GetRealHeight(8); |
| | | viewLayout.AddChidren(funAllAreaView.FLayoutView()); |
| | | VerticalScrolViewLayout vv = new VerticalScrolViewLayout |
| | | { |
| | | Y = funAllAreaView.frameLayout.Bottom, |
| | | Height = Application.GetRealHeight(667 - 64 - 50 * funCount - 8), |
| | | Height = Application.GetRealHeight(667 - 64 - 50 * funCount - 8-50), |
| | | }; |
| | | viewLayout.AddChidren(vv); |
| | | if (!MainView.IsGatewayType) |
| | | { |
| | | //如果是bus网关重置高度; |
| | | funAllAreaView.frameLayout.Y = Application.GetRealHeight(0); |
| | | vv.Y = funAllAreaView.frameLayout.Bottom; |
| | | } |
| | | //房间点击事件 |
| | | EventHandler<MouseEventArgs> roomClick = (sender, e) => |
| | |
| | | Width = Application.GetRealWidth(144), |
| | | Height = Application.GetRealHeight(44 * 5), |
| | | }; |
| | | var roomList = LogicMethod.CurrLogicMethod.GetGatewayRoomList(Language.StringByID(StringId.allAreas)); |
| | | var roomList = LogicMethod.Current.GetGatewayRoomList(Language.StringByID(StringId.allAreas)); |
| | | |
| | | if (roomList.Count > 5) |
| | | { |
| | |
| | | funAllAreaView.btnText1.Text = (areaView.btnClick.Tag as Entity.Room).roomName; |
| | | ///切换房间默认功能类型全部; |
| | | funAllAreaView.btnText2.Text = Language.StringByID(StringId.allFun); |
| | | selectedRoom = (areaView.btnClick.Tag as Entity.Room); |
| | | //selectedRoom = (areaView.btnClick.Tag as Entity.Room); |
| | | UserInfo.Current.logicselectedRoom = (areaView.btnClick.Tag as Entity.Room); |
| | | ///切换房间默认:全部功能 |
| | | UserInfo.Current.logicselectedFunction = Language.StringByID(StringId.allFun); |
| | | ///获取显示设备列表 |
| | | var list = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(areaView.btnClick.Tag as Entity.Room, if_type); |
| | | var list = LogicMethod.Current.GetFunctionDeviceList(areaView.btnClick.Tag as Entity.Room, if_Type); |
| | | |
| | | DeviceListView(vv, list); |
| | | this.LoadingDeviceListView(vv, list); |
| | | }; |
| | | if (roomList.Count - 1 == i) |
| | | { |
| | |
| | | }; |
| | | funAllAreaView.btnText1.MouseUpEventHandler += roomClick; |
| | | funAllAreaView.btnIcon1.MouseUpEventHandler += roomClick; |
| | | //功能点击事件 |
| | | //功能类型点击事件 |
| | | EventHandler<MouseEventArgs> funClick = (sender3, e3) => |
| | | { |
| | | |
| | | //获取最终显示列表 |
| | | var functionList = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(selectedRoom, if_type); |
| | | var functionList = LogicMethod.Current.GetFunctionDeviceList(UserInfo.Current.logicselectedRoom, if_Type); |
| | | //获取设备列表的类型(例如:灯光类,窗帘类。。。) |
| | | var deviceTypeList = LogicMethod.CurrLogicMethod.GetDeviceTypeList(functionList); |
| | | var deviceTypeList = LogicMethod.Current.GetDeviceTypeList(functionList); |
| | | if (deviceTypeList.Count == 0) |
| | | { |
| | | //没有类型直接返回去; |
| | |
| | | areaView.btnClick.MouseUpEventHandler += (sender, e2) => |
| | | { |
| | | fLayout.RemoveFromParent(); |
| | | funAllAreaView.btnText2.Text = areaView.btnClick.Tag.ToString(); |
| | | ///获取单个类型(例如:灯光类。。)设备FunctionType列表 |
| | | var typeFunctionList = LogicMethod.CurrLogicMethod.GetDeviceTypeFunctionList(areaView.btnClick.Tag.ToString()); |
| | | ///获取单个灯光类型(例如:灯光1,灯光2。。)显示设备列表 |
| | | var lists = LogicMethod.CurrLogicMethod.GetShowDeviceList(typeFunctionList, functionList); |
| | | DeviceListView(vv, lists); |
| | | string clickText = areaView.btnClick.Tag.ToString(); |
| | | funAllAreaView.btnText2.Text = clickText; |
| | | UserInfo.Current.logicselectedFunction = clickText; |
| | | ///获取设备单个大类spk列表(例如:灯光类,空调类...) |
| | | var typeFunctionList2 = LogicMethod.Current.GetDeviceTypeFunctionList(clickText); |
| | | ///获取设备单个小类列表(例如:灯光1,灯光2...) |
| | | var lists2 = LogicMethod.Current.GetShowDeviceList(typeFunctionList2, functionList); |
| | | this.LoadingDeviceListView(vv, lists2); |
| | | |
| | | }; |
| | | if (deviceTypeList.Count - 1 == i) |
| | | { |
| | |
| | | }; |
| | | funAllAreaView.btnText2.MouseUpEventHandler += funClick; |
| | | funAllAreaView.btnIcon2.MouseUpEventHandler += funClick; |
| | | ///获取显示设备列表 |
| | | var deviceList = LogicMethod.CurrLogicMethod.GetFunctionDeviceList(selectedRoom, if_type); |
| | | DeviceListView(vv, deviceList); |
| | | |
| | | ///获取房间支持的设备列表 |
| | | var deviceList = LogicMethod.Current.GetFunctionDeviceList(UserInfo.Current.logicselectedRoom, if_Type); |
| | | ///获取设备单个大类spk列表(例如:灯光类,空调类...) |
| | | var typeFunctionList = LogicMethod.Current.GetDeviceTypeFunctionList(UserInfo.Current.logicselectedFunction); |
| | | ///获取设备单个小类列表(例如:灯光1,灯光2...) |
| | | var lists = LogicMethod.Current.GetShowDeviceList(typeFunctionList, deviceList); |
| | | if (string.IsNullOrEmpty(UserInfo.Current.logicselectedRoom.roomName)) |
| | | { |
| | | UserInfo.Current.logicselectedRoom.roomName = Language.StringByID(StringId.allAreas); |
| | | } |
| | | ///房间名称 |
| | | funAllAreaView.btnText1.Text = UserInfo.Current.logicselectedRoom.roomName; |
| | | if (string.IsNullOrEmpty(UserInfo.Current.logicselectedFunction)) |
| | | { |
| | | UserInfo.Current.logicselectedFunction = Language.StringByID(StringId.allFun); |
| | | } |
| | | ///设备大类名称<灯光类。。。。。> |
| | | funAllAreaView.btnText2.Text = UserInfo.Current.logicselectedFunction; |
| | | this.LoadingDeviceListView(vv, lists); |
| | | |
| | | } |
| | | |
| | | |
| | | /// <summary> |
| | | /// 显示设备的View |
| | | /// </summary> |
| | | /// <param name="verticalScrolView">上下滑动</param> |
| | | /// <param name="deviceList"></param> |
| | | public void DeviceListView(VerticalScrolViewLayout verticalScrolView, List<HDL_ON.Entity.Function> deviceList) |
| | | private void LoadingDeviceListView(VerticalScrolViewLayout verticalScrolView, List<HDL_ON.Entity.Function> deviceList) |
| | | { |
| | | verticalScrolView.RemoveAll(); |
| | | foreach (var dev in deviceList) |
| | | { |
| | | LogicView.SelectTypeView funView = new LogicView.SelectTypeView(); |
| | | funView.btnText.Visible = false; |
| | | funView.btnDeviceName.Visible = true; |
| | | funView.btnRoomName.Visible = true; |
| | | funView.btnLine.X = Application.GetRealWidth(16); |
| | | funView.btnLine.Width = Application.GetRealWidth(343); |
| | | verticalScrolView.AddChidren(funView.FLayoutView()); |
| | | funView.btnIcon.UnSelectedImagePath = LogicMethod.CurrLogicMethod.GetIconPath(dev.spk); |
| | | funView.btnDeviceName.Text = dev.name; |
| | | funView.btnRoomName.Text = dev.GetRoomListName(); |
| | | funView.btnClick.MouseUpEventHandler += (sen, e) => { |
| | | if (if_type == LogicMethod.condition_if) |
| | | { |
| | | ConditionDeviceFunList conditionDeviceFunList = new ConditionDeviceFunList(); |
| | | MainPage.BasePageView.AddChidren(conditionDeviceFunList); |
| | | conditionDeviceFunList.Show(dev, 0, false); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | } |
| | | else |
| | | { |
| | | TargetDeviceFunList targetDeviceFunList = new TargetDeviceFunList(); |
| | | MainPage.BasePageView.AddChidren(targetDeviceFunList); |
| | | targetDeviceFunList.Show(dev, 0, false); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | } |
| | | |
| | | }; |
| | | } |
| | | loading.Start(); |
| | | System.Threading.Tasks.Task.Run(() => |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | loading.Hide(); |
| | | verticalScrolView.RemoveAll(); |
| | | foreach (var dev in deviceList) |
| | | { |
| | | LogicView.SelectTypeView funView = new LogicView.SelectTypeView(); |
| | | funView.btnText.Visible = false; |
| | | funView.btnDeviceName.Visible = true; |
| | | funView.btnRoomName.Visible = true; |
| | | funView.btnLine.X = Application.GetRealWidth(16); |
| | | funView.btnLine.Width = Application.GetRealWidth(343); |
| | | verticalScrolView.AddChidren(funView.FLayoutView()); |
| | | funView.btnIcon.UnSelectedImagePath = LogicMethod.Current.GetDeviceIconPath(dev); |
| | | funView.btnDeviceName.Text = dev.name; |
| | | funView.btnRoomName.Text = dev.GetRoomListName(); |
| | | |
| | | funView.btnClick.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | if (if_Type == LogicMethod.condition_if) |
| | | { |
| | | ConditionDeviceFunList conditionDeviceFunList = new ConditionDeviceFunList(); |
| | | MainPage.BasePageView.AddChidren(conditionDeviceFunList); |
| | | conditionDeviceFunList.Show(dev, 0, false); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | } |
| | | else |
| | | { |
| | | TargetDeviceFunList targetDeviceFunList = new TargetDeviceFunList(); |
| | | MainPage.BasePageView.AddChidren(targetDeviceFunList); |
| | | targetDeviceFunList.Show(dev, 0, false); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | } |
| | | |
| | | }; |
| | | } |
| | | |
| | | }); |
| | | |
| | | }); |
| | | } |
| | | } |
| | | |