From a46cd0adb5af29e8a9cf47c219475acaedfcf839 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 01 十二月 2020 17:09:00 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/WJC' --- HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs | 256 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 256 insertions(+), 0 deletions(-) diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs new file mode 100644 index 0000000..f09d0b0 --- /dev/null +++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/FunTpye.cs @@ -0,0 +1,256 @@ +锘縰sing System; +using HDL_ON.UI.UI2.Intelligence.Automation.LogicView; +using Shared; +using System.Collections.Generic; + +namespace HDL_ON.UI.UI2.Intelligence.Automation +{ + public class FunTpye : FrameLayout + { + public FunTpye() + { + Tag = "Logic"; + } + /// <summary> + /// 榛樿閫変腑鏄埧闂存椂锛氬叏閮ㄥ尯鍩� + /// </summary> + private Entity.Room selectedRoom = new Entity.Room { sid = Language.StringByID(StringId.allAreas) }; + /// <summary> + /// 琛ㄧず鏄�(鏉′欢/鐩爣) + /// </summary> + private string if_type; + public void Show(string str) + { + + if_type = str; + this.BackgroundColor = CSS.CSS_Color.viewMiddle; + LogicView.TopView topView = new LogicView.TopView(); + this.AddChidren(topView.FLayoutView()); + topView.clickBackBtn.MouseUpEventHandler += (e, sen) => + { + RemoveFromParent(); + }; + topView.topNameBtn.TextID = StringId.selectedFunCondition; + + LogicView.FunAllAreaView funAllAreaView = new LogicView.FunAllAreaView(); + funAllAreaView.frameLayout.Y = topView.frameLayout.Bottom; + this.AddChidren(funAllAreaView.FLayoutView()); + + VerticalScrolViewLayout vv = new VerticalScrolViewLayout + { + Y = Application.GetRealHeight(117), + Height = Application.GetRealHeight(667 - 117), + }; + this.AddChidren(vv); + + //鎴块棿鐐瑰嚮浜嬩欢 + EventHandler<MouseEventArgs> roomClick = (sender, e) => + { + #region 鍖哄煙寮规鐣岄潰 + FrameLayout fLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + this.AddChidren(fLayout); + fLayout.MouseUpEventHandler += (sender1, e1) => + { + fLayout.RemoveFromParent(); + }; + + FrameLayout bghFrameLyout = new FrameLayout + { + X = Application.GetRealWidth(10), + Y = Application.GetRealHeight(103), + Width = Application.GetRealWidth(160), + Height = Application.GetRealHeight(21 + 44), + BackgroundImagePath = "LogicIcon/bjicon.png", + }; + fLayout.AddChidren(bghFrameLyout); + + FrameLayout areaBgh = new FrameLayout + { + X = Application.GetRealWidth(8), + Y = Application.GetRealHeight(14), + Width = Application.GetRealWidth(144), + Height = Application.GetRealHeight(44), + }; + VerticalScrolViewLayout vvBgh = new VerticalScrolViewLayout + { + X = Application.GetRealWidth(8), + Y = Application.GetRealHeight(14), + Width = Application.GetRealWidth(144), + Height = Application.GetRealHeight(44 * 5), + }; + var roomList = LogicMethod.GetGatewayRoomList(Language.StringByID(StringId.allAreas)); + if (roomList.Count > 5) + { + bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * 5); + bghFrameLyout.AddChidren(vvBgh); + + } + else + { + + bghFrameLyout.AddChidren(areaBgh); + bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * roomList.Count); + areaBgh.Height = Application.GetRealHeight(44 * roomList.Count); + } + #endregion + + for (int i = 0; i < roomList.Count; i++) + { + var room = roomList[i]; + LogicView.AreaView areaView = new LogicView.AreaView(); + if (roomList.Count > 5) + { + vvBgh.AddChidren(areaView.FLayoutView()); + } + else + { + areaView.frameLayout.Y = Application.GetRealHeight(i * 44); + areaBgh.AddChidren(areaView.FLayoutView()); + } + areaView.btnRoomName.Text = room.name; + areaView.btnClick.Tag = room; + areaView.btnClick.MouseUpEventHandler += (sender2, e2) => + { + fLayout.RemoveFromParent(); + funAllAreaView.btnText1.Text = (areaView.btnClick.Tag as Entity.Room).name; + ///鍒囨崲鎴块棿榛樿鍔熻兘绫诲瀷鍏ㄩ儴; + funAllAreaView.btnText2.Text = Language.StringByID(StringId.allFun); + selectedRoom = (areaView.btnClick.Tag as Entity.Room); + ///鑾峰彇鏄剧ず璁惧鍒楄〃 + var list = LogicMethod.GetFunctionDeviceList(areaView.btnClick.Tag as Entity.Room,if_type); + + DeviceListView(vv, list); + }; + + } + }; + funAllAreaView.btnText1.MouseUpEventHandler += roomClick; + funAllAreaView.btnIcon1.MouseUpEventHandler += roomClick; + //鍔熻兘鐐瑰嚮浜嬩欢 + EventHandler<MouseEventArgs> funClick = (sender3, e3) =>{ + #region 鍖哄煙寮规鐣岄潰 + FrameLayout fLayout = new FrameLayout + { + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, + }; + this.AddChidren(fLayout); + fLayout.MouseUpEventHandler += (sender1, e1) => + { + fLayout.RemoveFromParent(); + }; + + FrameLayout bghFrameLyout = new FrameLayout + { + X = Application.GetRealWidth(10), + Y = Application.GetRealHeight(103), + Width = Application.GetRealWidth(160), + Height = Application.GetRealHeight(21 + 44), + BackgroundImagePath = "LogicIcon/bjicon.png", + }; + fLayout.AddChidren(bghFrameLyout); + + FrameLayout areaBgh = new FrameLayout + { + X = Application.GetRealWidth(8), + Y = Application.GetRealHeight(14), + Width = Application.GetRealWidth(144), + Height = Application.GetRealHeight(44), + }; + VerticalScrolViewLayout vvBgh = new VerticalScrolViewLayout + { + X = Application.GetRealWidth(8), + Y = Application.GetRealHeight(14), + Width = Application.GetRealWidth(144), + Height = Application.GetRealHeight(44 * 5), + }; + + //鑾峰彇鏈�缁堟樉绀哄垪琛� + var functionList = LogicMethod.GetFunctionDeviceList(selectedRoom, if_type); + //鑾峰彇璁惧鍒楄〃鐨勭被鍨嬶紙渚嬪锛氱伅鍏夌被锛岀獥甯樼被銆傘�傘�傦級 + var deviceTypeList = LogicMethod.GetDeviceTypeList(functionList); + + + if (deviceTypeList.Count > 5) + { + bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * 5); + bghFrameLyout.AddChidren(vvBgh); + + } + else + { + bghFrameLyout.AddChidren(areaBgh); + bghFrameLyout.Height = Application.GetRealHeight(21 + 44 * deviceTypeList.Count); + areaBgh.Height = Application.GetRealHeight(44 * deviceTypeList.Count); + } + #endregion + + for (int i = 0; i < deviceTypeList.Count; i++) + { + var deviceTypeName = deviceTypeList[i]; + LogicView.AreaView areaView = new LogicView.AreaView(); + if (deviceTypeList.Count > 5) + { + vvBgh.AddChidren(areaView.FLayoutView()); + } + else + { + areaView.frameLayout.Y = Application.GetRealHeight(i * 44); + areaBgh.AddChidren(areaView.FLayoutView()); + } + areaView.btnRoomName.Text = deviceTypeName; + areaView.btnClick.Tag = deviceTypeName; + areaView.btnClick.MouseUpEventHandler += (sender, e2) => + { + fLayout.RemoveFromParent(); + funAllAreaView.btnText2.Text = areaView.btnClick.Tag.ToString(); + ///鑾峰彇鍗曚釜绫诲瀷锛堜緥濡傦細鐏厜绫汇�傘�傦級璁惧FunctionType鍒楄〃 + var typeFunctionList = LogicMethod.GetDeviceTypeFunctionList(areaView.btnClick.Tag.ToString()); + ///鑾峰彇鍗曚釜绫诲瀷锛堜緥濡傦細鐏厜绫汇�傘�傦級鏄剧ず璁惧鍒楄〃 + var lists = LogicMethod.GetShowDeviceList(typeFunctionList, functionList); + DeviceListView(vv, lists); + }; + + } + }; + funAllAreaView.btnText2.MouseUpEventHandler += funClick; + funAllAreaView.btnIcon2.MouseUpEventHandler += funClick; + ///鑾峰彇鏄剧ず璁惧鍒楄〃 + var deviceList = LogicMethod.GetFunctionDeviceList(selectedRoom, if_type); + DeviceListView(vv, deviceList); + + } + /// <summary> + /// 鏄剧ず璁惧鐨刅iew + /// </summary> + /// <param name="verticalScrolView">涓婁笅婊戝姩</param> + /// <param name="deviceList"></param> + public void DeviceListView(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.GetIconPath(dev.functionType); + funView.btnDeviceName.Text = dev.name; + funView.btnRoomName.Text = dev.GetRoomListName(); + funView.btnClick.MouseUpEventHandler += (sen,e) => { + DeviceFunList deviceFunList = new DeviceFunList(); + MainPage.BasePageView.AddChidren(deviceFunList); + deviceFunList.Show(dev,0,false,if_type); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + } + } + } + + +} -- Gitblit v1.8.0