| | |
| | | { |
| | | public AddButton() |
| | | { |
| | | Tag = "PirView"; |
| | | } |
| | | public void Show() |
| | | public void Show(Control control) |
| | | { |
| | | |
| | | #region 界面布局 |
| | | this.BackgroundColor = CSS.CSS_Color.viewMiddle; |
| | | PirDevice.View.TopView topView = new View.TopView(); |
| | | topView.topNameBtn.TextID = StringId.tianjiayaokongqi; |
| | | this.AddChidren(topView.FLayoutView()); |
| | | topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { this.RemoveFromParent(); }; |
| | | topView.clickBackBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | RemoveFromParent(); |
| | | }; |
| | | |
| | | FrameLayout editfLayout = new FrameLayout |
| | | { |
| | |
| | | ///下一步的点击事件 |
| | | saveBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | if (control.status.Count > 29) |
| | | { |
| | | ///超出30个红外宝内存满了会出现异常 |
| | | new PirMethod().ErrorShow(null, "添加按钮超出30个"); |
| | | return; |
| | | } |
| | | |
| | | var texts = editText.Text.Trim(); |
| | | if (string.IsNullOrEmpty(editText.Text)) |
| | | { |
| | | //名称不能为空 |
| | | return; |
| | | } |
| | | var butName = Pir.BuottonList.Find((c) => c.value == texts); |
| | | var butName = control.status.Find((c) => c.value == texts); |
| | | if (butName != null) |
| | | { |
| | | //名称已经存在 |
| | | return; |
| | | } |
| | | //new引导界面 |
| | | ReplicationView replication = new ReplicationView(); |
| | | MainPage.BasePageView.AddChidren(replication); |
| | | replication.Show(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | View.ReplicationView replication = new View.ReplicationView(); |
| | | replication.Show(this); |
| | | |
| | | //添加数据对象 |
| | | ButtonObj buttonObj = new ButtonObj(); |
| | | buttonObj.Key = "key" + Pir.BuottonList.Count.ToString(); |
| | | Entity.AttributesStatus buttonObj = new Entity.AttributesStatus(); |
| | | string keyName = GetKeyName(control.status); |
| | | buttonObj.key = keyName; |
| | | buttonObj.value = texts; |
| | | |
| | | PirSend.CodeStudy(buttonObj, (responsePackNew) => |
| | | |
| | | PirSend.CodeStudy(control, buttonObj, (mqttdate) => |
| | | { |
| | | //休眠是为显示引导界面 |
| | | // System.Threading.Thread.Sleep(5000); |
| | | //移除添加按钮引导界面 |
| | | replication.RemoveFromParent(); |
| | | if (!PirSend.Error(responsePackNew)) |
| | | if (mqttdate != null) |
| | | { |
| | | var buttonName = Pir.BuottonList.Find((c) => c.value == buttonObj.value); |
| | | //休眠是为显示引导界面 |
| | | // System.Threading.Thread.Sleep(3000); |
| | | //移除添加按钮引导界面 |
| | | replication.RemView(); |
| | | var buttonName = control.status.Find((c) => c.value == buttonObj.value); |
| | | if (buttonName == null) |
| | | { |
| | | //添加数据 |
| | | Pir.BuottonList.Add(buttonObj); |
| | | control.status.Add(buttonObj); |
| | | } |
| | | //移除添加按钮界面 |
| | | this.RemoveFromParent(); |
| | | //移除之前的界面 |
| | | MainPage.BasePageView.RemoveViewByTag("AddControl"); |
| | | //移除之前可能存在的界面 |
| | | PirMethod.RemoveView("AddControl"); |
| | | //加载数据界面 |
| | | AddControl addControl = new AddControl(); |
| | | MainPage.BasePageView.AddChidren(addControl); |
| | | addControl.Show(); |
| | | addControl.Show(control); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | } |
| | | else |
| | | { |
| | | replication.RemView(); |
| | | PirMethod method = new PirMethod(); |
| | | method.ErrorShow(null, "添加失败"); |
| | | } |
| | | |
| | | }); |
| | | |
| | | |
| | | }; |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 移除界面 |
| | | /// </summary> |
| | | public override void RemoveFromParent() |
| | | { |
| | | //刷新指定界面 |
| | | PirMethod.RefreshView("PirMain"); |
| | | base.RemoveFromParent(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 查找唯一健名值 |
| | | /// </summary> |
| | | /// <param name="listKeyName">已经存在健名列表</param> |
| | | /// <returns></returns> |
| | | private string GetKeyName(List<Entity.AttributesStatus> listKeyName) |
| | | { |
| | | //目前红外宝学习按钮最多是30个; |
| | | for (int i = 0; i < 50; i++) |
| | | { |
| | | string keyName = "key" + i.ToString(); |
| | | ///查找是否存在 |
| | | var currKeyName = listKeyName.Find((c) => c.key == keyName); |
| | | if (currKeyName == null) |
| | | { |
| | | return keyName; |
| | | } |
| | | } |
| | | |
| | | return "key" + listKeyName.Count; |
| | | } |
| | | |
| | | } |
| | | } |