| | |
| | | viewLayout.AddChidren(functionView.FLayoutView()); |
| | | |
| | | //场景 |
| | | LogicView.SelectTypeView sceneView = new LogicView.SelectTypeView(); |
| | | LogicView.SelectTypeView sceneView= new LogicView.SelectTypeView(); |
| | | sceneView.frameLayout.Y = functionView.frameLayout.Bottom; |
| | | sceneView.btnText.TextID = StringId.Scenes; |
| | | sceneView.btnIcon.UnSelectedImagePath = "LogicIcon/scene.png"; |
| | | viewLayout.AddChidren(sceneView.FLayoutView()); |
| | | |
| | | //安防 |
| | | LogicView.SelectTypeView securityView = new LogicView.SelectTypeView(); |
| | | securityView.frameLayout.Y = sceneView.frameLayout.Bottom; |
| | | securityView.btnText.TextID = StringId.anfang; |
| | | securityView.btnIcon.UnSelectedImagePath = "LogicIcon/security.png"; |
| | | viewLayout.AddChidren(securityView.FLayoutView()); |
| | | |
| | | //延时 |
| | | LogicView.SelectTypeView delayView = new LogicView.SelectTypeView(); |
| | | delayView.frameLayout.Y = sceneView.frameLayout.Bottom; |
| | | delayView.btnText.TextID = StringId.delayLogic; |
| | | delayView.btnIcon.UnSelectedImagePath = "LogicIcon/delayed.png"; |
| | | delayView.btnIcon.UnSelectedImagePath = "LogicIcon/time.png"; |
| | | //viewLayout.AddChidren(delayView.FLayoutView()); |
| | | #endregion |
| | | |
| | |
| | | //场景点击事件 |
| | | sceneView.btnClick.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | SceneMethod(); |
| | | }; |
| | | //安防点击事件 |
| | | securityView.btnClick.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | Security security = new Security(); |
| | | MainPage.BasePageView.AddChidren(security); |
| | | security.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | |
| | | FrameLayout fLayout = new FrameLayout |
| | | { |
| | | BackgroundColor = CSS.CSS_Color.viewTrans60lucence, |
| | | }; |
| | | this.AddChidren(fLayout); |
| | | SceneMethod(fLayout); |
| | | //SecurityMethod(this); |
| | | }; |
| | | //延时点击事件 |
| | | delayView.btnClick.MouseUpEventHandler += (sen, e) => |
| | |
| | | /// <summary> |
| | | /// 添加场景 |
| | | /// </summary> |
| | | /// <param name="fLayout">弹框主控件</param> |
| | | public void SceneMethod(FrameLayout fLayout) |
| | | public void SceneMethod() |
| | | { |
| | | int line = 0; |
| | | var sceneList = LogicMethod.GetSceneList(); |
| | | if (sceneList.Count == 0|| sceneList.Count>5) |
| | | { |
| | | line = 5; |
| | | } |
| | | else { |
| | | line = sceneList.Count; |
| | | } |
| | | LogicView.DateView view = new LogicView.DateView(); |
| | | view.btnTitle.TextID = StringId.addSceneLogic; |
| | | view.FLayoutView(fLayout, line); |
| | | |
| | | view.btnCancel.MouseUpEventHandler += (sender2, e2) => |
| | | { |
| | | fLayout.RemoveFromParent(); |
| | | }; |
| | | FrameLayout frameL = new FrameLayout |
| | | { |
| | | Y = Application.GetRealHeight(56), |
| | | Height = Application.GetRealHeight(50 * line), |
| | | }; |
| | | |
| | | VerticalRefreshLayout verticalRefresh = new VerticalRefreshLayout |
| | | { |
| | | Y = Application.GetRealHeight(56), |
| | | Height = Application.GetRealHeight(50 * 5), |
| | | |
| | | }; |
| | | verticalRefresh.BeginHeaderRefreshingAction += () => |
| | | { |
| | | //关闭刷新View; |
| | | verticalRefresh.EndHeaderRefreshing(); |
| | | }; |
| | | |
| | | if (sceneList.Count == 0) |
| | | { |
| | | Button btnTipNot = new Button |
| | | { |
| | | X=Application.GetRealWidth(93), |
| | | Y = Application.GetRealHeight(80), |
| | | Width = Application.GetRealWidth(158), |
| | | Height = Application.GetRealWidth(158), |
| | | UnSelectedImagePath = "TipNot.png", |
| | | |
| | | }; |
| | | view.frameLayout.AddChidren(btnTipNot); |
| | | |
| | | Button btnTipNotText = new Button() |
| | | { |
| | | Y = btnTipNot.Bottom+ Application.GetRealHeight(16), |
| | | Height = Application.GetRealHeight(20), |
| | | TextID = StringId.secnenull, |
| | | TextColor = CSS.CSS_Color.textColor, |
| | | TextSize =LogicView.TextSize.text14, |
| | | TextAlignment = TextAlignment.Center, |
| | | }; |
| | | view.frameLayout.AddChidren(btnTipNotText); |
| | | } |
| | | else if (sceneList.Count <=5 ) { |
| | | view.frameLayout.AddChidren(frameL); |
| | | } |
| | | else if(sceneList.Count>5) { |
| | | view.frameLayout.AddChidren(verticalRefresh); |
| | | |
| | | } |
| | | |
| | | |
| | | //定义一个局部变量记录选中状态 |
| | | Button buttonClick = new Button(); |
| | | HDL_ON.Entity.Scene sceneSelecetd = null; |
| | | verticalRefresh.BeginHeaderRefreshingAction += () => |
| | | { |
| | | //关闭刷新View; |
| | | verticalRefresh.EndHeaderRefreshing(); |
| | | }; |
| | | |
| | | for (int i = 0; i < sceneList.Count; i++) |
| | | { |
| | | var sceneList = LogicMethod.CurrLogicMethod.GetSceneList(); |
| | | List<string> nameList = new List<string>(); |
| | | for (int i = 0; i < sceneList.Count; i++) { |
| | | var scene = sceneList[i]; |
| | | LogicView.CheckView sceneView = new LogicView.CheckView(); |
| | | sceneView.btnText.Text = scene.name; |
| | | sceneView.btnText.TextSize = LogicView.TextSize.text14; |
| | | if (sceneList.Count <= 5) |
| | | { |
| | | sceneView.frameLayout.Y = Application.GetRealWidth(i*50); |
| | | frameL.AddChidren(sceneView.FLayoutView()); |
| | | if (sceneList.Count-1==i) { |
| | | sceneView.btnLine.BackgroundColor = CSS.CSS_Color.view; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | verticalRefresh.AddChidren(sceneView.FLayoutView()); |
| | | } |
| | | sceneView.btnClick.Tag = scene;//标记索引 |
| | | //场景的点击事件 |
| | | sceneView.btnClick.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | buttonClick.IsSelected = false; |
| | | sceneView.btnCheckIcon.IsSelected = true; |
| | | buttonClick = sceneView.btnCheckIcon; |
| | | sceneSelecetd = sceneView.btnClick.Tag as HDL_ON.Entity.Scene; |
| | | }; |
| | | |
| | | nameList.Add(scene.name); |
| | | } |
| | | //确认点击事件 |
| | | view.btnConfirm.MouseUpEventHandler += (sender1, e1) => |
| | | PublicInterface publicInterface = new PublicInterface(); |
| | | publicInterface.FrameOrVv(this, nameList,new List<string> { }, StringId.addSceneLogic, (index) => |
| | | { |
| | | if (sceneSelecetd == null) |
| | | { |
| | | //提示:还没选中执行周期 |
| | | return; |
| | | } |
| | | var sceneSelecetd = sceneList[index]; |
| | | Output outputDevice = new Output(); |
| | | outputDevice.target_type = "2"; |
| | | outputDevice.sid = sceneSelecetd.sid; |
| | | //没啥作用,为了发送数据格式统一; |
| | | outputDevice.status = new List<Dictionary<string, string>> { new Dictionary<string, string> { { "key", "scene"},{ "value", "0" } } }; |
| | | outputDevice.status = new List<Dictionary<string, string>> { new Dictionary<string, string> { { "key", "scene" }, { "value", "0" } } }; |
| | | AddOutput(outputDevice); |
| | | fLayout.RemoveFromParent(); |
| | | LogicMethod.RemoveAllView(); |
| | | LogicMethod.CurrLogicMethod.RemoveAllView(); |
| | | AddLogic addLogic = new AddLogic(); |
| | | MainPage.BasePageView.AddChidren(addLogic); |
| | | addLogic.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | |
| | | }); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 添加安防 |
| | | /// </summary> |
| | | public void SecurityMethod(FrameLayout frameLayout, bool edit=false, int index1=-1) |
| | | { |
| | | List<string> stateList = new List<string>(); |
| | | if (edit&& index1 != -1) { |
| | | Output output = Logic.currlogic.output[index1]; |
| | | var security = LogicMethod.CurrLogicMethod.GetSecurity(output.sid); |
| | | stateList.Add(security.name); |
| | | } |
| | | var securityList = LogicMethod.CurrLogicMethod.GetSecurityList(); |
| | | List<string> nameList = new List<string>(); |
| | | for (int i = 0; i < securityList.Count; i++) |
| | | { |
| | | var security = securityList[i]; |
| | | nameList.Add(security.name); |
| | | } |
| | | PublicInterface publicInterface = new PublicInterface(); |
| | | publicInterface.FrameOrVv(frameLayout, nameList, stateList, StringId.addSecurityLogic,(index) => |
| | | { |
| | | var securitySelecetd = securityList[index]; |
| | | Output outputDevice = new Output(); |
| | | outputDevice.target_type = "3"; |
| | | outputDevice.sid = securitySelecetd.sid; |
| | | //没啥作用,为了发送数据格式统一; |
| | | outputDevice.status = new List<Dictionary<string, string>> { new Dictionary<string, string> { { "key", "security" }, { "value", "0" } } }; |
| | | AddOutput(outputDevice,true); |
| | | LogicMethod.CurrLogicMethod.RemoveAllView(); |
| | | AddLogic addLogic = new AddLogic(); |
| | | MainPage.BasePageView.AddChidren(addLogic); |
| | | addLogic.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }); |
| | | } |
| | | /// <summary> |
| | | /// 延时时间方法 |
| | | /// </summary> |
| | |
| | | if (edit) |
| | | { |
| | | Output output = Logic.currlogic.output[index]; |
| | | if (output.target_type == "3") |
| | | if (output.target_type == "4") |
| | | { |
| | | List<Dictionary<string, string>> dicList = output.status as List<Dictionary<string, string>>; |
| | | foreach (var dic in dicList) |
| | |
| | | return; |
| | | } |
| | | Output outputTime= new Output(); |
| | | outputTime.sid = LogicMethod.NewSid(); |
| | | outputTime.target_type = "3"; |
| | | outputTime.sid = LogicMethod.CurrLogicMethod.NewSid(); |
| | | outputTime.target_type = "4"; |
| | | Dictionary<string, string> dic = new Dictionary<string, string>(); |
| | | LogicMethod.dictionary(dic, "key", "delay"); |
| | | LogicMethod.dictionary(dic, "value", timepoint); |
| | | LogicMethod.CurrLogicMethod.dictionary(dic, "key", "delay"); |
| | | LogicMethod.CurrLogicMethod.dictionary(dic, "value", timepoint); |
| | | outputTime.status.Add(dic); |
| | | if (edit) |
| | | { |
| | |
| | | AddOutput(outputTime); |
| | | } |
| | | fLayout.RemoveFromParent(); |
| | | LogicMethod.RemoveAllView(); |
| | | LogicMethod.CurrLogicMethod.RemoveAllView(); |
| | | AddLogic addLogic = new AddLogic(); |
| | | MainPage.BasePageView.AddChidren(addLogic); |
| | | addLogic.Show(); |
| | |
| | | |
| | | }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 添加目标 |
| | | /// </summary> |
| | | /// <param name="target"></param> |
| | | private void AddOutput(Output target) |
| | | /// <param name="bool_if">表示启用不同条件</param> |
| | | private void AddOutput(Output target,bool bool_if=false) |
| | | { |
| | | int indexValue = -1; |
| | | for (int i = 0; i < Logic.currlogic.output.Count; i++) |
| | | { |
| | | if (Logic.currlogic.output[i].sid == target.sid) |
| | | if (bool_if) |
| | | { |
| | | indexValue = i; |
| | | break; |
| | | ///安防允许一种 |
| | | if (Logic.currlogic.output[i].target_type == target.target_type) |
| | | { |
| | | indexValue = i; |
| | | break; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | if (Logic.currlogic.output[i].sid == target.sid) |
| | | { |
| | | indexValue = i; |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (indexValue != -1) |
| | | { |
| | | Logic.currlogic.output.RemoveAt(indexValue); |