using System; using System.Collections.Generic; using System.Text; using ZigBee.Device; namespace Shared.Phone.UserCenter.DevicePirSensor { /// /// PIR传感器绑定界面★ /// public class PirSensorBindTargetForm : EditorCommonForm { /// /// 列表控件 /// private VerticalScrolViewLayout listView = null; /// /// 编辑按钮 /// private BottomClickButton btnEditor = null; /// /// 传感器设备 /// private IASZone deviceIASZone = null; /// /// 已经存在的绑定设备 /// private Dictionary dicEsixtDevice = new Dictionary(); /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// /// 传感器设备 public void ShowForm(IASZone i_iasZone) { deviceIASZone = i_iasZone; //设置头部信息 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uBindTargetsSettion)); ////右上添加按钮 //var btnAddDeviceIcon = new MostRightIconControl(69, 69); //btnAddDeviceIcon.UnSelectedImagePath = "Item/Add.png"; //btnAddDeviceIcon.SelectedImagePath = "Item/AddSelected.png"; //topFrameLayout.AddChidren(btnAddDeviceIcon); //btnAddDeviceIcon.MouseUpEventHandler += (sender, e) => //{ // //显示设备选择的界面 // this.ShowDeviceSelectForm(); //}; //初始化中部信息 //this.InitMiddleFrame(); } ///// ///// 初始化中部信息 ///// //private void InitMiddleFrame() //{ // //清空bodyFrame // this.ClearBodyFrame(); // this.listView = new VerticalScrolViewLayout(); // this.listView.Height = bodyFrameLayout.Height; // bodyFrameLayout.AddChidren(this.listView); // this.dicEsixtDevice.Clear(); // //开启进度条 // this.ShowProgressBar(); // HdlThreadLogic.Current.Run(async () => // { // List listDevice = await HdlDeviceBindLogic.Current.GetBindTargetDevice(this.deviceIASZone); // if (listDevice == null) // { // //关闭进度条 // this.CloseProgressBar(ShowReLoadMode.YES); // return; // } // foreach(CommonDevice device in listDevice) // { // Application.RunOnMainThread(() => // { // if (this.Parent != null) // { // this.AddRowlayout(device); // } // }); // } // //关闭进度条 // this.CloseProgressBar(); // }); //} ///// ///// 添加行 ///// ///// //private void AddRowlayout(CommonDevice device) //{ // //初始化编辑按钮 // this.InitEditorButton(); // string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(device); // this.dicEsixtDevice[mainKeys] = device; // var row = new DeviceRoomViewRow(this.listView, device); // row.ChangedChidrenBindMode(row.btnIcon, ChidrenBindMode.BindEventOnly); // row.ChangedChidrenBindMode(row.btnRoom, ChidrenBindMode.BindEventOnly); // row.ChangedChidrenBindMode(row.btnDevie, ChidrenBindMode.BindEventOnly); // //删除 // var btnDelete = new RowDeleteButton(); // row.AddRightView(btnDelete); // btnDelete.MouseUpEventHandler += (sender, e) => // { // //确认要删除吗? // string msg = Language.StringByID(R.MyInternationalizationString.uShowDoDeleteMsg); // this.ShowConfirmMsg(msg, "DeleteTargetDevice", device, row); // }; //} ///// ///// 删除绑定目标 ///// ///// ///// //public async void DeleteTargetDevice(CommonDevice device, DeviceRoomViewRow row) //{ // //开启进度条 // this.ShowProgressBar(); // bool result = await HdlDeviceBindLogic.Current.DeleteDeviceTarget(this.deviceIASZone, device); // //关闭进度条 // this.CloseProgressBar(); // if (result == false) // { // return; // } // Application.RunOnMainThread(() => // { // string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(device); // this.dicEsixtDevice.Remove(mainKeys); // row?.RemoveFromParent(); // if (listView != null && listView.ChildrenCount == 0) // { // this.btnEditor?.RemoveFromParent(); // this.btnEditor = null; // } // }); //} ///// ///// 显示设备选择的界面 ///// //private void ShowDeviceSelectForm() //{ // var listShowDevice = new List(); // var listTempDevice = Common.LocalDevice.Current.listAllDevice; // foreach (var device in listTempDevice) // { // //如果是传感器,或者是没有开关簇的话(这里判断的是输入簇) // if ((device is IASZone) || Common.LocalDevice.Current.InDeviceIsCanOnOff(device) == false) // { // continue; // } // string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(device); // if (this.dicEsixtDevice.ContainsKey(mainKeys) == true) // { // //如果已经添加了,则不再显示 // continue; // } // listShowDevice.Add(device); // } // var listSelect = new List(); // foreach (string mainkeys in this.dicEsixtDevice.Keys) // { // listSelect.Add(mainkeys); // } // var form = new SelectDeviceForm(); // form.AddForm(listShowDevice, listSelect, false); // //添加绑定目标 // form.SetTitleText(Language.StringByID(R.MyInternationalizationString.AddBindTargets)); // //设备选择确定 // form.ActionSelectDevice += (async (listDevice) => // { // if (listDevice.Count == 0) // { // return; // } // //开启进度条 // this.ShowProgressBar(); // var listNewDevice = await HdlDeviceBindLogic.Current.BindDeviceTarget(this.deviceIASZone, listDevice); // //关闭进度条 // this.CloseProgressBar(); // if (listNewDevice == null || listNewDevice.Count == 0) // { // return; // } // foreach (CommonDevice device in listNewDevice) // { // string mainKeys = Common.LocalDevice.Current.GetDeviceMainKeys(device); // this.dicEsixtDevice[mainKeys] = device; // Application.RunOnMainThread(() => // { // if (this.listView != null) // { // this.AddRowlayout(device); // } // }); // } // Application.RunOnMainThread(() => // { // //打开PIR传感器的灯光特效配置界面 // var newform = new PirSensorLightSettionForm(); // newform.AddForm(this.deviceIASZone); // }); // }); //} ///// ///// 初始化编辑按钮 ///// //private void InitEditorButton() //{ // if (this.btnEditor != null) // { // return; // } // Application.RunOnMainThread(() => // { // if (this.listView == null) // { // return; // } // //编辑 // this.btnEditor = new BottomClickButton(); // this.btnEditor.MouseUpTime = 0; // this.btnEditor.TextID = R.MyInternationalizationString.uEditor; // bodyFrameLayout.AddChidren(this.btnEditor); // this.btnEditor.MouseUpEvent += (sender, e) => // { // var form = new PirSensorLightSettionForm(); // form.AddForm(deviceIASZone); // }; // this.listView.Height = this.btnEditor.Y - ControlCommonResourse.BottomButtonAndListViewSpace; // }); //} } }