using System; using Shared; using System.Collections.Generic; namespace HDL_ON.UI.UI2.Intelligence.Automation { public class InpOrOutLogicMethod { /// /// 输入条件处理方法 /// /// 当前界面 /// 上下滑动控件 public static void InputCondition(FrameLayout thisView,VerticalScrolViewLayout viewLayout) { for (int i = 0; i < Logic.currlogic.input.Count; i++) { 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> dicList = inputCondition.condition as List>; //显示条件各种类型状态 switch (inputCondition.condition_type) { 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; case "3": { //用sid找到设备; var device = LogicMethod.GetDevice(inputCondition.sid); //用设备的functionType类型找到对应图标; inputView.btnIcon.UnSelectedImagePath = LogicMethod.GetIconPath(device.functionType); //显示设备名称 inputView.btnText.Text = device.name; //改变设备名称显示控件宽度 inputView.btnText.Width = Application.GetRealWidth(80); //区别不同设备,显示不同设备状态 switch (device.functionType) { case FunctionType.Relay: {//开关灯 foreach (var dic in dicList) { string value = dic["value"]; if (value == "on") { inputView.btnState.Text = Language.StringByID(StringId.onLogic); } else { inputView.btnState.Text = Language.StringByID(StringId.offLogic); } } } break; } } break; } //再次编辑条件状态点击事件 inputView.btnClick.MouseUpEventHandler += (sen, e) => { Button button = (Button)sen; //找到当前编辑的索引 int indexVulae = int.Parse(inputView.btnClick.Tag.ToString()); //标记编辑状态 bool edit = true; switch (button.Name) { case "1": { FrameLayout fLayout = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence, }; thisView.AddChidren(fLayout); TimeTpye timeTpye = new TimeTpye(); timeTpye.TimePoint(fLayout, edit, indexVulae); } break; case "2": { FrameLayout fLayout = new FrameLayout { BackgroundColor = CSS.CSS_Color.viewTrans60lucence, }; thisView.AddChidren(fLayout); TimeTpye timeTpye = new TimeTpye(); timeTpye.TimeHorizon(fLayout, edit, indexVulae); } break; case "3": { //用sid找到设备; var device = LogicMethod.GetDevice(inputCondition.sid); DeviceFunList deviceFunList = new DeviceFunList(); MainPage.BasePageView.AddChidren(deviceFunList); deviceFunList.Show(device, indexVulae,edit); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; } break; } }; } } /// /// 输出条件处理方法 /// /// 当前界面 /// 上下滑动控件 public static void OutputTarget(FrameLayout thisView, VerticalScrolViewLayout viewLayout) { } } }