| | |
| | | |
| | | public void Show() |
| | | { |
| | | |
| | | this.BackgroundColor = CSS.CSS_Color.viewMiddle; |
| | | LogicView.TopView topView = new LogicView.TopView(); |
| | | topView.setBtn.Visible = true; |
| | | this.AddChidren(topView.FLayoutView()); |
| | | topView.clickBackBtn.MouseUpEventHandler += (e, sen) => |
| | | { |
| | | RemoveFromParent(); |
| | | }; |
| | | topView.topNameBtn.TextID = StringId.newAutomation; |
| | | if (string.IsNullOrEmpty(Logic.currlogic.sid)) |
| | | { |
| | | topView.topNameBtn.TextID = StringId.newAutomation; |
| | | topView.setBtn.Visible = false; |
| | | topView.clickSetBtn.Visible = false; |
| | | } |
| | | else |
| | | { |
| | | topView.topNameBtn.TextID = StringId.editAutomation; |
| | | 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 |
| | | }; |
| | | |
| | | VerticalScrolViewLayout viewLayout = new VerticalScrolViewLayout |
| | | { |
| | | Y = Application.GetRealHeight(64), |
| | | Width = Application.GetRealWidth(LogicView.TextSize.view375), |
| | | Height = Application.GetRealHeight(LogicView.TextSize.view667 - 64-76), |
| | | Height = Application.GetRealHeight(LogicView.TextSize.view667 - 64 - 76), |
| | | BackgroundColor = CSS.CSS_Color.viewMiddle, |
| | | }; |
| | | this.AddChidren(viewLayout); |
| | |
| | | viewLayout.AddChidren(addInputTextView.FLayoutView(46, 12)); |
| | | ///满足以下条件的View |
| | | LogicView.LogicTypeTitleView titleCondition = new LogicView.LogicTypeTitleView(); |
| | | titleCondition.frameLayout.SetCornerWithSameRadius(12,HDLUtils.RectCornerTopLeft| HDLUtils.RectCornerTopRight); |
| | | titleCondition.btnText.TextID = StringId.whenTheFollowingConditionsAreMet; |
| | | titleCondition.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); |
| | | titleCondition.btnText.TextID = StringId.andCondition; |
| | | viewLayout.AddChidren(titleCondition.FLayoutView()); |
| | | |
| | | for (int i = 0; i < Logic.currlogic.input.Count; i++) |
| | | titleCondition.btnClick.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | Input inputCondition = Logic.currlogic.input[i]; |
| | | ///输入各种条件的View |
| | | LogicView.AddOutputInputView inputView = new LogicView.AddOutputInputView(); |
| | | viewLayout.AddChidren(inputView.FLayoutView()); |
| | | ///记录条件类型 |
| | | inputView.btnClick.Name = inputCondition.condition_type; |
| | | ///记录选中条件 |
| | | inputView.btnClick.Tag = i; |
| | | ///输入条件状态数组 |
| | | List<Dictionary<string, string>> dicList = inputCondition.condition as List<Dictionary<string, string>>; |
| | | //显示条件各种状态 |
| | | switch (inputCondition.condition_type) |
| | | FrameLayout fLayout = new FrameLayout |
| | | { |
| | | case "1": |
| | | { |
| | | inputView.btnIcon.UnSelectedImagePath = "LogicIcon/timecondition.png"; |
| | | foreach (var dic in dicList) |
| | | { |
| | | string value = dic["value"]; |
| | | inputView.btnText.Text = Language.StringByID(StringId.hour) + ": " + value; |
| | | inputView.btnClick.AddTag("timepoint", value); |
| | | } |
| | | |
| | | } |
| | | break; |
| | | case "2": |
| | | { |
| | | inputView.btnIcon.UnSelectedImagePath = "LogicIcon/timecondition.png"; |
| | | foreach (var dic in dicList) |
| | | { |
| | | string value = dic["value"]; |
| | | inputView.btnText.Text = Language.StringByID(StringId.timeHorizon) + ": " + value; |
| | | inputView.btnClick.AddTag("timeHorizon", value); |
| | | } |
| | | |
| | | } |
| | | break; |
| | | |
| | | } |
| | | //再次编辑条件状态点击事件 |
| | | inputView.btnClick.MouseUpEventHandler += (sen, e) => |
| | | { |
| | | Button button = (Button)sen; |
| | | switch (button.Name) |
| | | { |
| | | case "1": |
| | | { //主界面控件 |
| | | FrameLayout fLayout = new FrameLayout |
| | | { |
| | | BackgroundColor = CSS.CSS_Color.viewTrans60lucence, |
| | | }; |
| | | //添加主界面 |
| | | this.AddChidren(fLayout); |
| | | LogicView.TimeView timePointView = new LogicView.TimeView(); |
| | | timePointView.FLayoutView(fLayout); |
| | | EventHandler<MouseEventArgs> RemovefLayout = (sender, e1) => |
| | | { |
| | | //移除fLayout界面 |
| | | fLayout.RemoveFromParent(); |
| | | }; |
| | | //界面点击事件 |
| | | fLayout.MouseUpEventHandler += RemovefLayout; |
| | | //取消点击事件 |
| | | timePointView.btnCancel.MouseUpEventHandler += RemovefLayout; |
| | | //加载数据界面的设置方法(列表互不联动) |
| | | timePointView.mUIPickerView.setNPicker(timePointView.GethStringList(), timePointView.GetmStringList(), null); |
| | | string startingVulae = button.GetTagByKey("timepoint").ToString(); |
| | | //默认初始选中状态 |
| | | timePointView.mUIPickerView.setCurrentItems(1, 30, 0); |
| | | //定义一个局部变量记录选中时间 |
| | | string timepoint = "01:05"; |
| | | if (!string.IsNullOrEmpty(startingVulae)) |
| | | { |
| | | int hIndex = timePointView.GetValueIndex(startingVulae, 0, 1, timePointView.GethIntList()); |
| | | int mIndex = timePointView.GetValueIndex(startingVulae, 1, 0, timePointView.GetmIntList()); |
| | | //更新初始状态 |
| | | timePointView.mUIPickerView.setCurrentItems(hIndex - 1, mIndex, 0); |
| | | timepoint = startingVulae; |
| | | } |
| | | |
| | | //选中时间回调方法,时间变化一次回调一次 |
| | | timePointView.mUIPickerView.OnSelectChangeEvent += (index1, index2, index3) => |
| | | { |
| | | string hour = timePointView.GethStringList()[index1].Split(' ')[0]; |
| | | string minuet = timePointView.GetmStringList()[index2].Split(' ')[0]; |
| | | timepoint = hour + ":" + minuet; |
| | | }; |
| | | //确定点击事件 |
| | | timePointView.btnConfirm.MouseUpEventHandler += (sender, e3) => |
| | | { |
| | | if (startingVulae == timepoint) |
| | | { |
| | | ///编辑新时间和之前时间一样,直接关闭界面返回; |
| | | fLayout.RemoveFromParent(); |
| | | return; |
| | | } |
| | | Input inputTime = new Input(); |
| | | inputTime.sid = LogicMethod.NewSid(); |
| | | inputTime.condition_type = "1"; |
| | | Dictionary<string, string> dic = new Dictionary<string, string>(); |
| | | LogicMethod.dictionary(dic, "key", "timepoint"); |
| | | LogicMethod.dictionary(dic, "comparator", "="); |
| | | LogicMethod.dictionary(dic, "data_type", "string"); |
| | | LogicMethod.dictionary(dic, "value", timepoint); |
| | | inputTime.condition.Add(dic); |
| | | //旧数据索引 |
| | | int indexValue = int.Parse(inputView.btnClick.Tag.ToString()); |
| | | //移除旧数据 |
| | | Logic.currlogic.input.RemoveAt(indexValue); |
| | | //新数据插入旧数据的位置; |
| | | Logic.currlogic.input.Insert(indexValue, inputTime); |
| | | //添加一个新的时间点条件 |
| | | RemoveViewByTag("Logic"); |
| | | AddLogic addLogic = new AddLogic(); |
| | | MainPage.BasePageView.AddChidren(addLogic); |
| | | addLogic.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | |
| | | }; |
| | | } |
| | | break; |
| | | case "2": |
| | | { |
| | | FrameLayout fLayout = new FrameLayout |
| | | { |
| | | BackgroundColor = CSS.CSS_Color.viewTrans60lucence, |
| | | }; |
| | | this.AddChidren(fLayout); |
| | | TimeTpye timeTpye = new TimeTpye(); |
| | | timeTpye.TimeHorizon(fLayout,true,int.Parse(inputView.btnClick.Tag.ToString())); |
| | | } |
| | | break; |
| | | } |
| | | BackgroundColor = CSS.CSS_Color.viewTrans60lucence, |
| | | }; |
| | | } |
| | | this.AddChidren(fLayout); |
| | | AndOrMethod(fLayout, titleCondition.btnText); |
| | | }; |
| | | |
| | | |
| | | // 条件处理方法 |
| | | InpOrOutLogicMethod.InputCondition(this, viewLayout); |
| | | ///添加图标的View |
| | | LogicView.LogicAddView addInputIcon = new LogicView.LogicAddView(); |
| | | addInputIcon.frameLayout.SetCornerWithSameRadius(12, HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight); |
| | | addInputIcon.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight); |
| | | viewLayout.AddChidren(addInputIcon.FLayoutView()); |
| | | |
| | | addInputIcon.btnClick.MouseUpEventHandler += (sen, e) => |
| | |
| | | viewLayout.AddChidren(addOutpuTextView.FLayoutView(54, 20)); |
| | | ///以下动作View |
| | | LogicView.LogicTypeTitleView titleOutpu = new LogicView.LogicTypeTitleView(); |
| | | titleOutpu.frameLayout.SetCornerWithSameRadius(12, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); |
| | | titleOutpu.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); |
| | | titleOutpu.btnText.TextID = StringId.theFollowingActions; |
| | | viewLayout.AddChidren(titleOutpu.FLayoutView()); |
| | | ///输出各种动作的View |
| | | LogicView.AddOutputInputView outputView = new LogicView.AddOutputInputView(); |
| | | viewLayout.AddChidren(outputView.FLayoutView()); |
| | | //目标处理方法 |
| | | InpOrOutLogicMethod.OutputTarget(this, viewLayout); |
| | | ///添加图标的View |
| | | LogicView.LogicAddView addOutputIcon = new LogicView.LogicAddView(); |
| | | addOutputIcon.frameLayout.SetCornerWithSameRadius(12, HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight); |
| | | 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 循环方式 |
| | |
| | | cyclicTextView.btnIf.TextID = StringId.cyclic; |
| | | viewLayout.AddChidren(cyclicTextView.FLayoutView(54, 20)); |
| | | ///选择周期类型View |
| | | LogicView.LogicTypeTitleView cyclicTitle= new LogicView.LogicTypeTitleView(); |
| | | cyclicTextView.frameLayout.Height = Application.GetRealHeight(50); |
| | | cyclicTitle.frameLayout.SetCornerWithSameRadius(12, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight|HDLUtils.RectCornerBottomLeft|HDLUtils.RectCornerBottomRight); |
| | | //cyclicTitle.frameLayout.Radius = (uint)Application.GetRealHeight(12); |
| | | LogicView.LogicTypeTitleView cyclicTitle = new LogicView.LogicTypeTitleView(); |
| | | cyclicTitle.frameLayout.Height = Application.GetRealHeight(50); |
| | | cyclicTitle.frameLayout.Radius = (uint)Application.GetRealHeight(12); |
| | | cyclicTitle.btnText.TextID = StringId.days; |
| | | 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)}); |
| | | viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(12) }); |
| | | ///执行推送iew |
| | | LogicView.LogicTypeTitleView push = new LogicView.LogicTypeTitleView(); |
| | | push.frameLayout.Height = Application.GetRealHeight(50); |
| | | push.frameLayout.SetCornerWithSameRadius(12, HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); |
| | | push.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(12), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); |
| | | push.btnText.TextID = StringId.push; |
| | | viewLayout.AddChidren(push.FLayoutView()); |
| | | ///发送通知View |
| | | LogicView.LogicTypeTitleView notification = new LogicView.LogicTypeTitleView(); |
| | | notification.frameLayout.SetCornerWithSameRadius(12, HDLUtils.RectCornerBottomLeft | HDLUtils.RectCornerBottomRight); |
| | | 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)}); |
| | | viewLayout.AddChidren(new FrameLayout { Height = Application.GetRealHeight(62) }); |
| | | #endregion |
| | | |
| | | #region 保存 |
| | | ///保存View |
| | | LogicView.SaveView saveView = new LogicView.SaveView(); |
| | | saveView.frameLayout.SetCornerWithSameRadius(24,HDLUtils.RectCornerTopLeft|HDLUtils.RectCornerTopRight); |
| | | saveView.frameLayout.SetCornerWithSameRadius(Application.GetRealHeight(24), HDLUtils.RectCornerTopLeft | HDLUtils.RectCornerTopRight); |
| | | this.AddChidren(saveView.FLayoutView()); |
| | | //saveView.frameLayout.Y = this.Height - saveView.frameLayout.Height; |
| | | saveView.btnClick.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | Logic.currlogic.sid = "000101000000000A0A0100CC1100"; |
| | | //Logic.currlogic.sid = LogicMethod.NewSid(); |
| | | //var f = Send.AddLogic(Logic.currlogic); |
| | | |
| | | //var a = Send.getLogicIdList(); |
| | | |
| | | //var d = Send.getLogic(Logic.currlogic); |
| | | |
| | | // var c = Send.delLogic(Logic.currlogic); |
| | | |
| | | var e1= Send.switchLogic(Logic.currlogic); |
| | | |
| | | |
| | | |
| | | //if (string.IsNullOrEmpty(Logic.currlogic.sid)) |
| | | //{ |
| | | // 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) => |
| | | // { |
| | | // Logic.currlogic.name = logicName; |
| | | // Logic.currlogic.sid = LogicMethod.NewSid(); |
| | | // var responsePackNew = Send.AddLogic(Logic.currlogic); |
| | | // if (responsePackNew.Code == "0") |
| | | // { |
| | | // Logic.LogicList.Add(Logic.currlogic); |
| | | // LogicMethod.RemoveAllView(); |
| | | // MainView.MainShow(); |
| | | // } |
| | | // //发送新加修改逻辑命令; |
| | | |
| | | // }); |
| | | |
| | | //} |
| | | //else |
| | | //{ |
| | | // LogicMethod.RemoveAllView(); |
| | | // MainView.MainShow(); |
| | | // //发送新加修改逻辑命令; |
| | | //} |
| | | |
| | | }; |
| | | #endregion |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 循环方式(每天,每月。。) |
| | | /// </summary> |
| | | /// <param name="fLayout">弹框主控件</param> |
| | | /// <param name="button">显示文本</param> |
| | | public void DateMethod(FrameLayout fLayout, Button button) |
| | | { |
| | | |
| | | LogicView.DateView dateView = new LogicView.DateView(); |
| | | dateView.btnTitle.TextID = StringId.cyclic; |
| | | dateView.FLayoutView(fLayout, 4); |
| | | dateView.btnCancel.MouseUpEventHandler += (sender2, e2) => |
| | | { |
| | | //移除fLayout界面 |
| | | fLayout.RemoveFromParent(); |
| | | }; |
| | | //定义一个局部变量记录选中文本状态 |
| | | string weekName = ""; |
| | | //定义一个局部Btn用来记录选中Btn; |
| | | var selecetdBtn = new Button(); |
| | | for (int i = 0; i < 4; i++) |
| | | { |
| | | LogicView.SelectTypeView dateTypeView = new LogicView.SelectTypeView(); |
| | | dateTypeView.frameLayout.BackgroundColor = CSS.CSS_Color.viewTranslucence; |
| | | dateTypeView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i); |
| | | dateTypeView.btnIcon.Visible = false; |
| | | dateTypeView.btnText.X = Application.GetRealWidth(20); |
| | | dateTypeView.btnNextIcon.X = Application.GetRealWidth(307); |
| | | dateTypeView.btnLine.X = Application.GetRealWidth(20); |
| | | dateTypeView.btnLine.Width = Application.GetRealWidth(303); |
| | | dateView.frameLayout.AddChidren(dateTypeView.FLayoutView()); |
| | | dateTypeView.btnClick.Tag = i;//标记类型 |
| | | switch (i) |
| | | { |
| | | case 0: |
| | | { |
| | | weekName = Language.StringByID(StringId.performA); |
| | | dateTypeView.btnNextIcon.Visible = false; |
| | | } |
| | | break; |
| | | case 1: |
| | | { |
| | | weekName = Language.StringByID(StringId.days); |
| | | dateTypeView.btnNextIcon.Visible = false; |
| | | } |
| | | break; |
| | | case 2: |
| | | { |
| | | weekName = Language.StringByID(StringId.weekly); |
| | | } |
| | | break; |
| | | case 3: |
| | | { |
| | | weekName = Language.StringByID(StringId.monthly); |
| | | } |
| | | break; |
| | | |
| | | |
| | | } |
| | | dateTypeView.btnText.Text = weekName; |
| | | //循环类型(例如:每月,每天)点击事件 |
| | | dateTypeView.btnClick.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | int clickIndex = int.Parse(dateTypeView.btnClick.Tag.ToString()); |
| | | switch (clickIndex) |
| | | { |
| | | case 0: |
| | | { |
| | | weekName = Language.StringByID(StringId.performA); |
| | | selecetdBtn.TextColor = CSS.CSS_Color.textColor; |
| | | dateTypeView.btnText.TextColor = CSS.CSS_Color.textConfirmColor; |
| | | selecetdBtn = dateTypeView.btnText; |
| | | } |
| | | break; |
| | | case 1: |
| | | { |
| | | weekName = Language.StringByID(StringId.days); |
| | | selecetdBtn.TextColor = CSS.CSS_Color.textColor; |
| | | dateTypeView.btnText.TextColor = CSS.CSS_Color.textConfirmColor; |
| | | selecetdBtn = dateTypeView.btnText; |
| | | |
| | | } |
| | | break; |
| | | case 2: |
| | | { |
| | | // weekName = Language.StringByID(StringId.weekly); |
| | | WeekMethod(fLayout, button); |
| | | } |
| | | break; |
| | | case 3: |
| | | { |
| | | //weekName = Language.StringByID(StringId.monthly); |
| | | MonMethod(fLayout, button); |
| | | } |
| | | break; |
| | | |
| | | |
| | | } |
| | | }; |
| | | |
| | | |
| | | //显示之前的状态 |
| | | if (button.Text == weekName) |
| | | { |
| | | 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)) |
| | | { |
| | | //执行一次 |
| | | Logic.currlogic.cycle.type = "once"; |
| | | } |
| | | else if (weekName == Language.StringByID(StringId.days)) |
| | | { |
| | | //每天 |
| | | Logic.currlogic.cycle.type = "day"; |
| | | |
| | | } |
| | | //选中保存之后显示文本 |
| | | button.Text = weekName; |
| | | //移除fLayout界面 |
| | | fLayout.RemoveFromParent(); |
| | | }; |
| | | } |
| | | /// <summary> |
| | | /// 选中星期几(周一,周二 。。。) |
| | | /// </summary> |
| | | /// <param name="fLayout">弹框主控件</param> |
| | | /// <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>(); |
| | | if (Logic.currlogic.cycle.type == "week") |
| | | { |
| | | //加载之前保存的数据 |
| | | weekList.AddRange(Logic.currlogic.cycle.value); |
| | | } |
| | | //定义一个局部变量记录选中文本状态 |
| | | 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; |
| | | |
| | | } |
| | | 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); |
| | | } |
| | | } |
| | | |
| | | }; |
| | | |
| | | } |
| | | //确定点击事件 |
| | | 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> |
| | | /// 每月 |
| | | /// </summary> |
| | | /// <param name="fLayout">弹框主控件</param> |
| | | /// <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) |
| | | { |
| | | //一定执行完再判断是否要换行. |
| | | lineSun = lineSun + 1; |
| | | |
| | | } |
| | | 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) |
| | | { |
| | | 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()); |
| | | |
| | | |
| | | 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(); |
| | | }; |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | } |