old mode 100644
new mode 100755
| | |
| | | |
| | | public void Show() |
| | | { |
| | | |
| | | #region 界面布局 |
| | | this.BackgroundColor = CSS.CSS_Color.viewMiddle; |
| | | LogicView.TopView topView = new LogicView.TopView(); |
| | | topView.setBtn.Visible = true; |
| | |
| | | { |
| | | RemoveFromParent(); |
| | | }; |
| | | if (string.IsNullOrEmpty(Logic.currlogic.sid)) |
| | | if (string.IsNullOrEmpty(Logic.currlogic.userLogicId)) |
| | | { |
| | | topView.topNameBtn.TextID = StringId.newAutomation; |
| | | topView.setBtn.Visible = false; |
| | |
| | | topView.setBtn.Visible = true; |
| | | topView.clickSetBtn.Visible = true; |
| | | } |
| | | topView.clickSetBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | Set set = new Set(); |
| | | MainPage.BasePageView.AddChidren(set); |
| | | set.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | |
| | | }; |
| | | |
| | | VerticalScrolViewLayout viewLayout = new VerticalScrolViewLayout |
| | | { |
| | |
| | | titleCondition.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); |
| | | titleCondition.btnText.TextID = StringId.andCondition; |
| | | viewLayout.AddChidren(titleCondition.FLayoutView()); |
| | | titleCondition.btnClick.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | FrameLayout fLayout = new FrameLayout |
| | | { |
| | | BackgroundColor = CSS.CSS_Color.viewTrans60lucence, |
| | | }; |
| | | this.AddChidren(fLayout); |
| | | AndOrMethod(fLayout, titleCondition.btnText); |
| | | }; |
| | | |
| | | if (Logic.currlogic.relation == "and") |
| | | { |
| | | titleCondition.btnText.Text = Language.StringByID(StringId.andCondition); |
| | | } |
| | | else |
| | | { |
| | | titleCondition.btnText.Text = Language.StringByID(StringId.orCondition); |
| | | |
| | | } |
| | | |
| | | // 条件处理方法 |
| | | InpOrOutLogicMethod.InputCondition(this, viewLayout); |
| | |
| | | LogicView.LogicAddView addInputIcon = new LogicView.LogicAddView(); |
| | | addInputIcon.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight); |
| | | viewLayout.AddChidren(addInputIcon.FLayoutView()); |
| | | |
| | | addInputIcon.btnClick.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | var addInputType = new AddInputType(); |
| | | MainPage.BasePageView.AddChidren(addInputType); |
| | | addInputType.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | #endregion |
| | | |
| | | #region 目标 |
| | |
| | | LogicView.LogicAddView addOutputIcon = new LogicView.LogicAddView(); |
| | | addOutputIcon.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight); |
| | | viewLayout.AddChidren(addOutputIcon.FLayoutView()); |
| | | addOutputIcon.btnClick.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | var addTarget = new AddTarget(); |
| | | MainPage.BasePageView.AddChidren(addTarget); |
| | | addTarget.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | |
| | | #endregion |
| | | |
| | | #region 循环方式 |
| | |
| | | LogicView.LogicTypeTitleView cyclicTitle = new LogicView.LogicTypeTitleView(); |
| | | cyclicTitle.frameLayout.Height = Application.GetRealHeight(50); |
| | | cyclicTitle.frameLayout.Radius = (uint)Application.GetRealHeight(12); |
| | | cyclicTitle.btnText.TextID = StringId.days; |
| | | cyclicTitle.btnText.Text = MainView.GetCyclicText(Logic.currlogic); |
| | | viewLayout.AddChidren(cyclicTitle.FLayoutView()); |
| | | cyclicTitle.btnClick.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | FrameLayout fLayout = new FrameLayout |
| | | { |
| | | BackgroundColor = CSS.CSS_Color.viewTrans60lucence, |
| | | }; |
| | | this.AddChidren(fLayout); |
| | | DateMethod(fLayout, cyclicTitle.btnText); |
| | | |
| | | |
| | | }; |
| | | #endregion |
| | | |
| | | #region 执行推送 发送通知 |
| | | ///上下间隔12像素 |
| | | viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(12) }); |
| | | ///执行推送iew |
| | | LogicView.LogicTypeTitleView push = new LogicView.LogicTypeTitleView(); |
| | | push.frameLayout.Height = Application.GetRealHeight(50); |
| | | push.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); |
| | | push.btnText.TextID = StringId.push; |
| | | push.btnNextIcon.Width = Application.GetMinRealAverage(36); |
| | | push.btnNextIcon.Height = Application.GetMinRealAverage(36); |
| | | push.btnNextIcon.X = Application.GetRealWidth(305); |
| | | push.btnNextIcon.UnSelectedImagePath = "LogicIcon/off.png"; |
| | | push.btnNextIcon.SelectedImagePath = "LogicIcon/on.png"; |
| | | viewLayout.AddChidren(push.FLayoutView()); |
| | | ///发送通知View |
| | | LogicView.LogicTypeTitleView notification = new LogicView.LogicTypeTitleView(); |
| | | notification.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight); |
| | | notification.btnText.TextID = StringId.notification; |
| | | viewLayout.AddChidren(notification.FLayoutView()); |
| | | ///上下间隔62像素 |
| | | viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(62) }); |
| | | /////执行推送iew |
| | | //LogicView.LogicTypeTitleView push = new LogicView.LogicTypeTitleView(); |
| | | //push.frameLayout.Height = Application.GetRealHeight(50); |
| | | //push.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); |
| | | //push.btnText.TextID = StringId.push; |
| | | //push.btnNextIcon.Width = Application.GetMinRealAverage(36); |
| | | //push.btnNextIcon.Height = Application.GetMinRealAverage(36); |
| | | //push.btnNextIcon.X = Application.GetRealWidth(305); |
| | | //push.btnNextIcon.UnSelectedImagePath = "LogicIcon/off.png"; |
| | | //push.btnNextIcon.SelectedImagePath = "LogicIcon/on.png"; |
| | | //viewLayout.AddChidren(push.FLayoutView()); |
| | | /////发送通知View |
| | | //LogicView.LogicTypeTitleView notification = new LogicView.LogicTypeTitleView(); |
| | | //notification.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight); |
| | | //notification.btnText.TextID = StringId.notification; |
| | | //viewLayout.AddChidren(notification.FLayoutView()); |
| | | /////上下间隔62像素 |
| | | //viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(62) }); |
| | | #endregion |
| | | |
| | | #region 保存 |
| | |
| | | LogicView.SaveView saveView = new LogicView.SaveView(); |
| | | saveView.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(24), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); |
| | | this.AddChidren(saveView.FLayoutView()); |
| | | |
| | | #endregion |
| | | #endregion |
| | | |
| | | #region 界面各种点击事件 |
| | | ///设置图标点击事件 |
| | | topView.clickSetBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | Set set = new Set(); |
| | | MainPage.BasePageView.AddChidren(set); |
| | | set.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | |
| | | }; |
| | | ///或和与点击事件 |
| | | titleCondition.btnClick.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | AndOrMethod(titleCondition.btnText); |
| | | }; |
| | | ///条件添加点击事件 |
| | | addInputIcon.btnClick.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | var addInputType = new AddInputType(); |
| | | MainPage.BasePageView.AddChidren(addInputType); |
| | | addInputType.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | ///目标添加点击事件 |
| | | addOutputIcon.btnClick.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | var addTarget = new AddTarget(); |
| | | MainPage.BasePageView.AddChidren(addTarget); |
| | | addTarget.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | ///循环方式点击事件 |
| | | cyclicTitle.btnClick.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | DateMethod(cyclicTitle.btnText); |
| | | }; |
| | | ///保存点击事件 |
| | | saveView.btnClick.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | if (string.IsNullOrEmpty(Logic.currlogic.sid)) |
| | | if (Logic.currlogic.input.Count == 0&& Logic.currlogic.output.Count == 0) |
| | | { |
| | | new LogicView.TipPopView().TipBox(StringId.tip, StringId.conditioncNullOrtargetNull); |
| | | return; |
| | | } |
| | | if (Logic.currlogic.input.Count == 0) |
| | | { |
| | | new LogicView.TipPopView().TipBox(StringId.tip, StringId.conditioncNull); |
| | | return; |
| | | } |
| | | if (Logic.currlogic.output.Count == 0) |
| | | { |
| | | new LogicView.TipPopView().TipBox(StringId.tip, StringId.targetNull); |
| | | return; |
| | | } |
| | | Loading loading = new Loading(); |
| | | this.AddChidren(loading); |
| | | HDL_ON.DAL.Server.ResponsePackNew responsePackNew = null; |
| | | if (string.IsNullOrEmpty(Logic.currlogic.userLogicId)) |
| | | { |
| | | List<string> list = new List<string>(); |
| | | foreach (var logic in Logic.LogicList) |
| | | { |
| | | list.Add(logic.name); |
| | | } |
| | | new LogicView.TipPopView().InputBox(StringId.editName, Logic.currlogic.name, StringId.nameNull, StringId.NameAlreadyExists, list, (logicName) => |
| | | new LogicView.TipPopView().InputBox(StringId.editName, InpOrOutLogicMethod.GetLogicName(Logic.currlogic), StringId.nameNull, StringId.NameAlreadyExists, list, (logicName) => |
| | | { |
| | | Logic.currlogic.name = logicName; |
| | | Logic.currlogic.sid = LogicMethod.NewSid(); |
| | | //发送新加修改逻辑命令; |
| | | var responsePackNew = Send.AddLogic(Logic.currlogic); |
| | | if (responsePackNew.Code == "0") |
| | | loading.Start(); |
| | | new System.Threading.Thread(() => |
| | | { |
| | | Logic.LogicList.Add(Logic.currlogic); |
| | | LogicMethod.RemoveAllView(); |
| | | MainView.MainShow(); |
| | | } |
| | | else { |
| | | new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail)); |
| | | } |
| | | |
| | | try |
| | | { |
| | | //发送新加逻辑命令; |
| | | responsePackNew = Send.AddLogic(Logic.currlogic); |
| | | |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | loading.Hide(); |
| | | if (responsePackNew != null && responsePackNew.Code == "0" && responsePackNew.Data.ToString() != "") |
| | | { |
| | | |
| | | |
| | | //获取逻辑详细返回是一个数组(object类型转换为数组); |
| | | var jArray = Newtonsoft.Json.Linq.JArray.Parse(responsePackNew.Data.ToString()); |
| | | for (int a = 0; a < jArray.Count; a++) |
| | | { |
| | | var jay = jArray[a]; |
| | | //数据返序列化为Logic对象 |
| | | var str = Newtonsoft.Json.JsonConvert.SerializeObject(jay); |
| | | var logic = Newtonsoft.Json.JsonConvert.DeserializeObject<Logic>(str); |
| | | if (logic.userLogicId != "") |
| | | { |
| | | //更新云端唯一自动化id; |
| | | Logic.currlogic.userLogicId = logic.userLogicId; |
| | | } |
| | | else |
| | | { |
| | | //自己看的所以不需要支持中英文 |
| | | new LogicView.TipPopView().FlashingBox("没有返回云端唯一自动化id"); |
| | | } |
| | | |
| | | } |
| | | |
| | | Logic.LogicList.Add(Logic.currlogic); |
| | | LogicMethod.RemoveAllView(); |
| | | MainView.MainShow(); |
| | | } |
| | | else if (responsePackNew != null && responsePackNew.Code == "14005") |
| | | { |
| | | new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.gatewayNotOnline)); |
| | | } |
| | | else |
| | | { |
| | | new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail)); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | }); |
| | | |
| | | } |
| | | else |
| | | { |
| | | //发送新加修改逻辑命令; |
| | | var responsePackNew = Send.updateLogic(Logic.currlogic); |
| | | if (responsePackNew.Code == "0") |
| | | loading.Start(); |
| | | new System.Threading.Thread(() => |
| | | { |
| | | LogicMethod.RemoveAllView(); |
| | | MainView.MainShow(); |
| | | } |
| | | else { |
| | | new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail)); |
| | | } |
| | | |
| | | try |
| | | { |
| | | //发送修改逻辑命令; |
| | | responsePackNew = Send.UpdateLogic(Logic.currlogic); |
| | | |
| | | } |
| | | catch { } |
| | | finally |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | loading.Hide(); |
| | | if (responsePackNew != null && responsePackNew.Code == "0") |
| | | { |
| | | LogicMethod.RemoveAllView(); |
| | | MainView.MainShow(); |
| | | } |
| | | else if (responsePackNew != null && responsePackNew.Code == "14005") |
| | | { |
| | | new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.gatewayNotOnline)); |
| | | } |
| | | else |
| | | { |
| | | new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail)); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | |
| | | } |
| | | |
| | | }; |
| | | #endregion |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 循环方式(每天,每月。。) |
| | | /// </summary> |
| | | /// <param name="fLayout">弹框主控件</param> |
| | | /// <param name="button">显示文本</param> |
| | | public void DateMethod(FrameLayout fLayout, Button button) |
| | | public void DateMethod(Button button) |
| | | { |
| | | |
| | | FrameLayout fLayout = new FrameLayout |
| | | { |
| | | BackgroundColor = CSS.CSS_Color.viewTrans60lucence, |
| | | }; |
| | | this.AddChidren(fLayout); |
| | | LogicView.DateView dateView = new LogicView.DateView(); |
| | | dateView.btnTitle.TextID = StringId.cyclic; |
| | | dateView.FLayoutView(fLayout, 4); |
| | |
| | | //定义一个局部变量记录选中文本状态 |
| | | string weekName = ""; |
| | | //定义一个局部Btn用来记录选中Btn; |
| | | var selecetdBtn = new Button(); |
| | | var selecetdBtn = new Button() { Text = "" }; |
| | | for (int i = 0; i < 4; i++) |
| | | { |
| | | LogicView.SelectTypeView dateTypeView = new LogicView.SelectTypeView(); |
| | |
| | | dateTypeView.btnLine.Width = Application.GetRealWidth(303); |
| | | dateView.frameLayout.AddChidren(dateTypeView.FLayoutView()); |
| | | dateTypeView.btnClick.Tag = i;//标记类型 |
| | | |
| | | switch (i) |
| | | { |
| | | case 0: |
| | |
| | | break; |
| | | case 2: |
| | | { |
| | | // weekName = Language.StringByID(StringId.weekly); |
| | | WeekMethod(fLayout, button); |
| | | } |
| | | break; |
| | | case 3: |
| | | { |
| | | //weekName = Language.StringByID(StringId.monthly); |
| | | MonMethod(fLayout, button); |
| | | } |
| | | break; |
| | |
| | | { |
| | | dateTypeView.btnText.TextColor = CSS.CSS_Color.textConfirmColor; |
| | | selecetdBtn = dateTypeView.btnText; |
| | | } |
| | | else if (button.Text == weekName) |
| | | { |
| | | dateTypeView.btnText.TextColor = CSS.CSS_Color.textConfirmColor; |
| | | selecetdBtn = dateTypeView.btnText; |
| | | |
| | | } |
| | | } |
| | | //确定保存 |
| | | dateView.btnConfirm.MouseUpEventHandler += (sender3, e3) => |
| | | { |
| | | if (weekName == Language.StringByID(StringId.monthly)|| weekName== Language.StringByID(StringId.weekly)) { |
| | | //提示:还未选 |
| | | return; |
| | | |
| | | } |
| | | |
| | | if (weekName == Language.StringByID(StringId.performA)) |
| | | if (selecetdBtn.Text == Language.StringByID(StringId.performA)) |
| | | { |
| | | //执行一次 |
| | | Logic.currlogic.cycle.type = "once"; |
| | | } |
| | | else if (weekName == Language.StringByID(StringId.days)) |
| | | else if (selecetdBtn.Text == Language.StringByID(StringId.days)) |
| | | { |
| | | //每天 |
| | | Logic.currlogic.cycle.type = "day"; |
| | | |
| | | } |
| | | else |
| | | { |
| | | //提示:还未选 |
| | | return; |
| | | } |
| | | //选中保存之后显示文本 |
| | | button.Text = weekName; |
| | | button.Text = selecetdBtn.Text; |
| | | //移除fLayout界面 |
| | | fLayout.RemoveFromParent(); |
| | | }; |
| | |
| | | /// <param name="button">显示文本</param> |
| | | public void WeekMethod(FrameLayout fLayout, Button button) |
| | | { |
| | | |
| | | LogicView.DateView weekView = new LogicView.DateView(); |
| | | weekView.btnTitle.TextID = StringId.cyclic; |
| | | weekView.FLayoutView(fLayout, 7); |
| | | weekView.btnCancel.MouseUpEventHandler += (sender2, e2) => |
| | | { |
| | | weekView.frameLayout.RemoveFromParent(); |
| | | }; |
| | | //定义一个局部weekList列表用来记录选中数据; |
| | | List<string> weekList = new List<string>(); |
| | | List<string> weekStateList = new List<string>(); |
| | | |
| | | PublicInterface weekView = new PublicInterface(); |
| | | if (Logic.currlogic.cycle.type == "week") |
| | | { |
| | | //数据转换 |
| | | var list = weekView.GetWeekString(Logic.currlogic.cycle.value, "int"); |
| | | //加载之前保存的数据 |
| | | weekList.AddRange(Logic.currlogic.cycle.value); |
| | | weekStateList.AddRange(list); |
| | | } |
| | | //定义一个局部变量记录选中文本状态 |
| | | string weekName = ""; |
| | | for (int i = 0; i < 7; i++) |
| | | { |
| | | LogicView.SelectTypeView weekTypeView = new LogicView.SelectTypeView(); |
| | | weekTypeView.frameLayout.BackgroundColor = CSS.CSS_Color.viewTranslucence; |
| | | weekTypeView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i); |
| | | weekTypeView.btnIcon.Visible = false; |
| | | weekTypeView.btnText.X = Application.GetRealWidth(20); |
| | | weekTypeView.btnLine.X = Application.GetRealWidth(20); |
| | | weekTypeView.btnLine.Width = Application.GetRealWidth(303); |
| | | weekTypeView.btnNextIcon.X = Application.GetRealWidth(303); |
| | | weekTypeView.btnNextIcon.Width = Application.GetMinRealAverage(28); |
| | | weekTypeView.btnNextIcon.Height = Application.GetMinRealAverage(28); |
| | | weekTypeView.btnNextIcon.UnSelectedImagePath = "LogicIcon/weekoff.png"; |
| | | weekTypeView.btnNextIcon.SelectedImagePath = "LogicIcon/weekon.png"; |
| | | weekView.frameLayout.AddChidren(weekTypeView.FLayoutView()); |
| | | weekTypeView.btnClick.Tag = i;//标记索引 |
| | | switch (i) |
| | | { |
| | | case 0: |
| | | { |
| | | weekName = Language.StringByID(StringId.monday); |
| | | } |
| | | break; |
| | | case 1: |
| | | { |
| | | weekName = Language.StringByID(StringId.tuesday); |
| | | } |
| | | break; |
| | | case 2: |
| | | { |
| | | weekName = Language.StringByID(StringId.wednesday); |
| | | } |
| | | break; |
| | | case 3: |
| | | { |
| | | weekName = Language.StringByID(StringId.thursday); |
| | | } |
| | | break; |
| | | case 4: |
| | | { |
| | | weekName = Language.StringByID(StringId.friday); |
| | | } |
| | | break; |
| | | case 5: |
| | | { |
| | | weekName = Language.StringByID(StringId.saturday); |
| | | } |
| | | break; |
| | | case 6: |
| | | { |
| | | weekName = Language.StringByID(StringId.sunday); |
| | | } |
| | | break; |
| | | var weekListStr= weekView.GetViewList("week"); |
| | | weekView.MultiSelectShow(fLayout, weekListStr, Language.StringByID(StringId.cyclic), weekStateList |
| | | , (list) => |
| | | { |
| | | |
| | | } |
| | | weekTypeView.btnText.Text = weekName; |
| | | if (weekList.Contains(i.ToString())) |
| | | { |
| | | //显示之前的选中状态 |
| | | weekTypeView.btnNextIcon.IsSelected = true; |
| | | } |
| | | //星期的点击事件 |
| | | weekTypeView.btnClick.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | string clickIndex = weekTypeView.btnClick.Tag.ToString(); |
| | | weekTypeView.btnClick.IsSelected = !weekTypeView.btnClick.IsSelected; |
| | | if (weekTypeView.btnClick.IsSelected) |
| | | { |
| | | weekTypeView.btnNextIcon.IsSelected = true; |
| | | if (!weekList.Contains(clickIndex)) |
| | | { |
| | | //添加选中数据 |
| | | weekList.Add(clickIndex); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | weekTypeView.btnNextIcon.IsSelected = false; |
| | | if (weekList.Contains(clickIndex)) |
| | | { |
| | | //移除选中数据 |
| | | weekList.Remove(clickIndex); |
| | | } |
| | | } |
| | | //选中数据处理 |
| | | var statelist = weekView.GetWeekString(list, "str"); |
| | | string textStr = MainView.GetWeekString(statelist); |
| | | //显示选中数据 |
| | | button.Text = textStr; |
| | | //封装数据 |
| | | Logic.currlogic.cycle.type = "week"; |
| | | Logic.currlogic.cycle.value = statelist; |
| | | |
| | | }; |
| | | |
| | | } |
| | | //确定点击事件 |
| | | weekView.btnConfirm.MouseUpEventHandler += (sender1, e1) => |
| | | { |
| | | if (weekList.Count == 0) |
| | | { |
| | | //提示:还没选中执行周期 |
| | | return; |
| | | } |
| | | Logic.currlogic.cycle.type = "week"; |
| | | Logic.currlogic.cycle.value = weekList; |
| | | button.Text = MainView.GetWeekString(weekList); |
| | | fLayout.RemoveFromParent(); |
| | | }; |
| | | |
| | | }); |
| | | } |
| | | /// <summary> |
| | | /// 每月 |
| | |
| | | /// <param name="button">显示文本</param> |
| | | public void MonMethod(FrameLayout fLayout, Button button) |
| | | { |
| | | LogicView.MonView monView = new LogicView.MonView(); |
| | | monView.btnTitle.TextID = StringId.monthly; |
| | | monView.FLayoutView(fLayout); |
| | | monView.btnCancel.MouseUpEventHandler += (sender2, e2) => |
| | | { |
| | | monView.frameLayout.RemoveFromParent(); |
| | | }; |
| | | //定义一个局部monList列表用来记录选中数据; |
| | | List<string> monList = new List<string>(); |
| | | if (Logic.currlogic.cycle.type == "mon") |
| | | { |
| | | //加载之前保存的数据 |
| | | monList.AddRange(Logic.currlogic.cycle.value); |
| | | } |
| | | //定义一个变量记录行数 |
| | | int lineSun = 0; |
| | | for (int i = 1; i < 32; i++) |
| | | { |
| | | Button monTextBtn = new Button |
| | | { |
| | | Width = Application.GetMinRealAverage(30), |
| | | Height = Application.GetMinRealAverage(30), |
| | | Radius = (uint)Application.GetRealHeight(15), |
| | | Text = i.ToString(), |
| | | TextSize = LogicView.TextSize.text14, |
| | | TextColor = CSS.CSS_Color.textColor, |
| | | SelectedTextColor = CSS.CSS_Color.view, |
| | | SelectedBackgroundColor = CSS.CSS_Color.textConfirmColor, |
| | | BackgroundColor = CSS.CSS_Color.viewTranslucence, |
| | | Tag = i, |
| | | }; |
| | | monView.frameLayout.AddChidren(monTextBtn); |
| | | if (lineSun > 0) |
| | | { |
| | | monTextBtn.X = Application.GetRealWidth(16 + ((i - 1) - lineSun * 7) * 46); |
| | | } |
| | | else |
| | | { |
| | | |
| | | monTextBtn.X = Application.GetRealWidth(16 + (i - 1) * 46); |
| | | } |
| | | monTextBtn.Y = Application.GetRealWidth(58 + 10 + lineSun * (30 + 10)); |
| | | |
| | | if (i % 7 == 0) |
| | | PublicInterface weekView = new PublicInterface(); |
| | | weekView.MonSelectShow(fLayout, Logic.currlogic, (monList) => |
| | | { |
| | | //一定执行完再判断是否要换行. |
| | | lineSun = lineSun + 1; |
| | | //选中数据处理 |
| | | string textStr= MainView.GetMonString(monList); |
| | | //显示选中数据 |
| | | button.Text = textStr; |
| | | //封装数据 |
| | | Logic.currlogic.cycle.type = "mon"; |
| | | Logic.currlogic.cycle.value = monList; |
| | | }); |
| | | |
| | | } |
| | | monTextBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | string clickIndex = monTextBtn.Tag.ToString(); |
| | | monTextBtn.IsSelected = !monTextBtn.IsSelected; |
| | | if (monTextBtn.IsSelected) |
| | | { |
| | | monTextBtn.IsSelected = true; |
| | | if (!monList.Contains(clickIndex)) |
| | | { |
| | | //添加选中数据 |
| | | monList.Add(clickIndex); |
| | | } |
| | | } |
| | | else |
| | | { |
| | | monTextBtn.IsSelected = false; |
| | | if (monList.Contains(clickIndex)) |
| | | { |
| | | //移除选中数据 |
| | | monList.Remove(clickIndex); |
| | | } |
| | | } |
| | | }; |
| | | |
| | | if (monList.Contains(i.ToString())) { |
| | | monTextBtn.IsSelected = true; |
| | | } |
| | | } |
| | | //确定点击事件 |
| | | monView.btnConfirm.MouseUpEventHandler += (sender1, e1) => |
| | | { |
| | | if (monList.Count == 0) |
| | | { |
| | | //提示:还没选中执行周期 |
| | | return; |
| | | } |
| | | Logic.currlogic.cycle.type = "mon"; |
| | | Logic.currlogic.cycle.value = monList; |
| | | button.Text = MainView.GetMonString(monList); |
| | | fLayout.RemoveFromParent(); |
| | | }; |
| | | } |
| | | /// <summary> |
| | | /// 满足条件 |
| | | /// </summary> |
| | | /// <param name="fLayout">弹框主控件</param> |
| | | /// <param name="button">显示文本</param> |
| | | public void AndOrMethod(FrameLayout fLayout, Button button) |
| | | public void AndOrMethod(Button button) |
| | | { |
| | | LogicView.DateView meetTheConditionView = new LogicView.DateView(); |
| | | meetTheConditionView.btnTitle.TextID = StringId.meetTheCondition; |
| | | meetTheConditionView.FLayoutView(fLayout, 2); |
| | | meetTheConditionView.btnCancel.MouseUpEventHandler += (sender2, e2) => |
| | | { |
| | | fLayout.RemoveFromParent(); |
| | | }; |
| | | |
| | | //定义一个局部变量记录选中文本状态 |
| | | string condition = ""; |
| | | LogicView.SelectTypeView andConditionViews = new LogicView.SelectTypeView(); |
| | | andConditionViews.frameLayout.BackgroundColor = CSS.CSS_Color.viewTranslucence; |
| | | andConditionViews.frameLayout.Y = Application.GetRealHeight(56); |
| | | andConditionViews.btnIcon.Visible = false; |
| | | andConditionViews.btnText.X = Application.GetRealWidth(20); |
| | | andConditionViews.btnText.TextID = StringId.andCondition; |
| | | andConditionViews.btnLine.X = Application.GetRealWidth(20); |
| | | andConditionViews.btnLine.Width = Application.GetRealWidth(303); |
| | | andConditionViews.btnNextIcon.X = Application.GetRealWidth(303); |
| | | andConditionViews.btnNextIcon.Width = Application.GetMinRealAverage(28); |
| | | andConditionViews.btnNextIcon.Height = Application.GetMinRealAverage(28); |
| | | andConditionViews.btnNextIcon.UnSelectedImagePath = "LogicIcon/weekoff.png"; |
| | | andConditionViews.btnNextIcon.SelectedImagePath = "LogicIcon/weekon.png"; |
| | | meetTheConditionView.frameLayout.AddChidren(andConditionViews.FLayoutView()); |
| | | ///之前的状态文本 |
| | | string currCondition = button.Text; |
| | | PublicInterface conditionView = new PublicInterface(); |
| | | var strList = conditionView.GetViewList("andor"); |
| | | conditionView.SingleSelectionShow(this, strList, Language.StringByID(StringId.meetTheCondition), currCondition |
| | | , (stateValue) => |
| | | { |
| | | //界面显示选中值 |
| | | button.Text = stateValue; |
| | | //封装数据 |
| | | if (stateValue == Language.StringByID(StringId.orCondition)) |
| | | { |
| | | Logic.currlogic.relation = "or"; |
| | | } |
| | | else |
| | | { |
| | | Logic.currlogic.relation = "and"; |
| | | } |
| | | |
| | | }); |
| | | |
| | | LogicView.SelectTypeView orConditionView = new LogicView.SelectTypeView(); |
| | | orConditionView.frameLayout.BackgroundColor = CSS.CSS_Color.viewTranslucence; |
| | | orConditionView.frameLayout.Y = Application.GetRealHeight(56 + 50); |
| | | orConditionView.btnIcon.Visible = false; |
| | | orConditionView.btnText.X = Application.GetRealWidth(20); |
| | | orConditionView.btnText.TextID = StringId.orCondition; |
| | | orConditionView.btnLine.X = Application.GetRealWidth(20); |
| | | orConditionView.btnLine.Width = Application.GetRealWidth(303); |
| | | orConditionView.btnNextIcon.X = Application.GetRealWidth(303); |
| | | orConditionView.btnNextIcon.Width = Application.GetMinRealAverage(28); |
| | | orConditionView.btnNextIcon.Height = Application.GetMinRealAverage(28); |
| | | orConditionView.btnNextIcon.UnSelectedImagePath = "LogicIcon/weekoff.png"; |
| | | orConditionView.btnNextIcon.SelectedImagePath = "LogicIcon/weekon.png"; |
| | | meetTheConditionView.frameLayout.AddChidren(orConditionView.FLayoutView()); |
| | | |
| | | |
| | | if (Logic.currlogic.relation == "and") |
| | | { |
| | | andConditionViews.btnNextIcon.IsSelected = true; |
| | | condition = "and"; |
| | | } |
| | | else |
| | | { |
| | | orConditionView.btnNextIcon.IsSelected = true; |
| | | condition = "or"; |
| | | } |
| | | andConditionViews.btnClick.MouseUpEventHandler += (sen1, e) => |
| | | { |
| | | condition = "and"; |
| | | andConditionViews.btnNextIcon.IsSelected = true; |
| | | orConditionView.btnNextIcon.IsSelected = false; |
| | | }; |
| | | orConditionView.btnClick.MouseUpEventHandler += (sen1, e) => |
| | | { |
| | | condition = "or"; |
| | | andConditionViews.btnNextIcon.IsSelected = false; |
| | | orConditionView.btnNextIcon.IsSelected = true; |
| | | }; |
| | | //确定点击事件 |
| | | meetTheConditionView.btnConfirm.MouseUpEventHandler += (sender1, e1) => |
| | | { |
| | | if (string.IsNullOrEmpty(condition)) |
| | | { |
| | | //提示:还没选中执行周期 |
| | | return; |
| | | } |
| | | Logic.currlogic.relation = condition; |
| | | if (condition == "or") |
| | | { |
| | | button.Text = Language.StringByID(StringId.orCondition); |
| | | } |
| | | else |
| | | { |
| | | button.Text = Language.StringByID(StringId.andCondition); |
| | | } |
| | | fLayout.RemoveFromParent(); |
| | | }; |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | } |