| | |
| | | /// <summary>
|
| | | /// 设备备注的控件
|
| | | /// </summary>
|
| | | private FrameCaptionInputControl btnDeviceName = null;
|
| | | private FrameCaptionInputControl frameDeviceName = null;
|
| | | /// <summary>
|
| | | /// 设备的某一回路
|
| | | /// </summary>
|
| | |
| | | public void ShowForm(CommonDevice i_device)
|
| | | {
|
| | | this.deviceObj = i_device;
|
| | | var listDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceObj.DeviceAddr);
|
| | | var listDevice = HdlDeviceCommonLogic.Current.GetDevicesByMac(deviceObj.DeviceAddr);
|
| | | //获取这一堆设备时属于什么类型的
|
| | | this.deviceEnumInfo = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice);
|
| | | this.deviceEnumInfo = HdlDeviceCommonLogic.Current.GetMyDeviceEnumInfo(listDevice);
|
| | |
|
| | | //设置头部信息
|
| | | base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uDryContactSettion));
|
| | |
| | | btnFinish.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | //记录起当前正在操作的回路名字
|
| | | dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = btnDeviceName.Text.Trim();
|
| | | dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = frameDeviceName.Text.Trim();
|
| | | //开启进度条
|
| | | this.ShowProgressBar();
|
| | | foreach (var epoint in dicDeviceSaveName.Keys)
|
| | | {
|
| | | var device = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, epoint);
|
| | | var device = HdlDeviceCommonLogic.Current.GetDevice(deviceObj.DeviceAddr, epoint);
|
| | | if (device == null || dicDeviceSaveName[epoint] == string.Empty)
|
| | | {
|
| | | //不能允许空白名字
|
| | | continue;
|
| | | }
|
| | | string newName = dicDeviceSaveName[epoint];
|
| | | string oldName = Common.LocalDevice.Current.GetDeviceEpointName(device);
|
| | | string oldName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device);
|
| | | if (oldName != newName)
|
| | | {
|
| | | //设备名称修改
|
| | | var result = Common.LocalDevice.Current.ReName(device, newName);
|
| | | var result = HdlDeviceCommonLogic.Current.ReName(device, newName);
|
| | | if (result == false)
|
| | | {
|
| | | //关闭
|
| | |
| | | //关闭自身
|
| | | this.CloseForm();
|
| | | };
|
| | | //如果当前是展示模板,则不能编辑
|
| | | if (Common.Config.Instance.Home.IsShowTemplate == true)
|
| | | {
|
| | | btnFinish.CanClick = false;
|
| | | }
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 初始化菜单行
|
| | | /// </summary>
|
| | | private async void InitMenuRow()
|
| | | private void InitMenuRow()
|
| | | {
|
| | | this.listview.RemoveAll();
|
| | |
|
| | | //干接点备注
|
| | | string caption = Language.StringByID(R.MyInternationalizationString.uDryContactNote);
|
| | | string nameValue = Common.LocalDevice.Current.GetDeviceEpointName(nowSelectDevice);
|
| | | string nameValue = HdlDeviceCommonLogic.Current.GetDeviceEpointName(nowSelectDevice);
|
| | | if (dicDeviceSaveName.ContainsKey(nowSelectDevice.DeviceEpoint) == true)
|
| | | {
|
| | | nameValue = dicDeviceSaveName[nowSelectDevice.DeviceEpoint];
|
| | | }
|
| | |
|
| | | this.btnDeviceName = new FrameCaptionInputControl(caption, nameValue, listview.rowSpace / 2);
|
| | | listview.AddChidren(btnDeviceName);
|
| | | btnDeviceName.InitControl();
|
| | | btnDeviceName.AddBottomLine();
|
| | | btnDeviceName.txtInput.FinishInputEvent += () =>
|
| | | this.frameDeviceName = new FrameCaptionInputControl(caption, nameValue, listview.rowSpace / 2);
|
| | | this.frameDeviceName.txtInput.MaxByte = 48;//限制只能输入48个字节
|
| | | listview.AddChidren(frameDeviceName);
|
| | | frameDeviceName.InitControl();
|
| | | frameDeviceName.AddBottomLine();
|
| | | //如果当前是展示模板,则不能编辑
|
| | | if (Common.Config.Instance.Home.IsShowTemplate == false)
|
| | | {
|
| | | string oldName = Common.LocalDevice.Current.GetDeviceEpointName(nowSelectDevice);
|
| | | if (btnDeviceName.Text.Trim() == string.Empty)
|
| | | frameDeviceName.txtInput.FinishInputEvent += () =>
|
| | | {
|
| | | //将名字还原
|
| | | btnDeviceName.Text = oldName;
|
| | | }
|
| | | if (oldName != btnDeviceName.Text.Trim())
|
| | | {
|
| | | //设备名称修改
|
| | | var result = Common.LocalDevice.Current.ReName(nowSelectDevice, btnDeviceName.Text.Trim());
|
| | | if (result == false)
|
| | | string oldName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(nowSelectDevice);
|
| | | if (frameDeviceName.Text.Trim() == string.Empty)
|
| | | {
|
| | | return;
|
| | | //将名字还原
|
| | | frameDeviceName.Text = oldName;
|
| | | }
|
| | | //干接点备注修改成功!
|
| | | string msg = Language.StringByID(R.MyInternationalizationString.uDryContactReNoteSuccess);
|
| | | this.ShowMassage(ShowMsgType.Tip, msg);
|
| | | }
|
| | | };
|
| | | if (oldName != frameDeviceName.Text.Trim())
|
| | | {
|
| | | //设备名称修改
|
| | | var result = HdlDeviceCommonLogic.Current.ReName(nowSelectDevice, frameDeviceName.Text.Trim());
|
| | | if (result == false)
|
| | | {
|
| | | return;
|
| | | }
|
| | | //干接点备注修改成功!
|
| | | string msg = Language.StringByID(R.MyInternationalizationString.uDryContactReNoteSuccess);
|
| | | this.ShowMassage(ShowMsgType.Tip, msg);
|
| | | }
|
| | | };
|
| | | }
|
| | |
|
| | | //所属区域
|
| | | var rowBeloneArea = new BelongAreaControl(listview.rowSpace / 2);
|
| | |
| | | //3路继电器或者1路调光器第七回路的配置信息
|
| | | List<CommonDevice.AttributeDataObj> listRelayInfo7 = null;
|
| | |
|
| | | bool isHdlDevice = Common.LocalDevice.Current.IsHdlDevice(nowSelectDevice);
|
| | | bool isHdlDevice = HdlDeviceCommonLogic.Current.IsHdlDevice(nowSelectDevice);
|
| | | //河东设备才会开启此选项
|
| | | if (isHdlDevice == true)
|
| | | {
|
| | | //如果是3路继电器或者1路调光器,并且是第七回路的时候,它好像可以改变类型
|
| | | //如果是7路干接点输入输出模块,并且是第七回路的时候,它好像可以改变类型
|
| | | if ((deviceEnumInfo.ConcreteType == DeviceConcreteType.Relay_ThreeLoad && nowSelectDevice.DeviceEpoint == 10)
|
| | | || (deviceEnumInfo.ConcreteType == DeviceConcreteType.DimmableLight_OneLoad && nowSelectDevice.DeviceEpoint == 7))
|
| | | || (deviceEnumInfo.ConcreteType == DeviceConcreteType.DimmableLight_OneLoad && nowSelectDevice.DeviceEpoint == 7)
|
| | | || (deviceEnumInfo.ConcreteType == DeviceConcreteType.Relay_SevenLoadInOutPutDryContact && nowSelectDevice.DeviceEpoint == 7))
|
| | | {
|
| | | //这里先去获取它的干接点类型
|
| | | this.ShowProgressBar();
|
| | | //获取第七回路的配置信息
|
| | | listRelayInfo7 = await HdlDevicePanelLogic.Current.GetDryContactConfigureInfo(nowSelectDevice);
|
| | | listRelayInfo7 = HdlDevicePanelLogic.Current.GetDryContactConfigureInfo(nowSelectDevice);
|
| | | if (listRelayInfo7 == null)
|
| | | {
|
| | | //关闭进度条
|
| | |
| | | private void InitTopRightMenu()
|
| | | {
|
| | | //检测此回路是否拥有定位功能
|
| | | if (Common.LocalDevice.Current.DeviceIsCanFixedPosition(nowSelectDevice) == false)
|
| | | if (HdlDeviceCommonLogic.Current.DeviceIsCanFixedPosition(nowSelectDevice) == false
|
| | | || Common.Config.Instance.Home.IsShowTemplate == true)
|
| | | {
|
| | | return;
|
| | | }
|
| | |
| | | int menuCount = 1;
|
| | | string deviceMenu = string.Empty;
|
| | | //检测此回路是否拥有定位功能
|
| | | bool canTest = Common.LocalDevice.Current.DeviceIsCanFixedPosition(nowSelectDevice);
|
| | | bool canTest = HdlDeviceCommonLogic.Current.DeviceIsCanFixedPosition(nowSelectDevice);
|
| | | //if (canTest == true)
|
| | | //{
|
| | | // menuCount = 2;
|
| | |
| | | frame.AddRowMenu(deviceMenu, "Item/FixedPosition.png", "Item/FixedPositionSelected.png", () =>
|
| | | {
|
| | | //发送定位功能
|
| | | Common.LocalDevice.Current.SetFixedPositionCommand(nowSelectDevice);
|
| | | HdlDeviceCommonLogic.Current.SetFixedPositionCommand(nowSelectDevice);
|
| | | });
|
| | | }
|
| | |
|
| | |
| | | var title = Language.StringByID(R.MyInternationalizationString.uSelectDryContactFunction);
|
| | |
|
| | | var form = new BottomItemSelectForm();
|
| | | form.AddForm(title, listText, nowSelectNo);
|
| | | form.AddForm(title, listText, null, nowSelectNo);
|
| | | form.FinishSelectEvent += (selectNo) =>
|
| | | {
|
| | | if (selectNo == nowSelectNo)
|
| | |
| | | }
|
| | | };
|
| | | };
|
| | | //如果当前是展示模板,则不能编辑
|
| | | if (Common.Config.Instance.Home.IsShowTemplate == true)
|
| | | {
|
| | | btnFunction.CanClick = false;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | private void AddBackLightRow()
|
| | | {
|
| | | //三路继电器,或者一路调光器 的时候才能开启此选项
|
| | | var listDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceObj.DeviceAddr);
|
| | | var myType = Common.LocalDevice.Current.GetMyDeviceEnumInfo(listDevice);
|
| | | var listDevice = HdlDeviceCommonLogic.Current.GetDevicesByMac(deviceObj.DeviceAddr);
|
| | | var myType = HdlDeviceCommonLogic.Current.GetMyDeviceEnumInfo(listDevice);
|
| | |
|
| | | //欧标2路5A没有背光灯
|
| | | if (myType.ConcreteType == DeviceConcreteType.Relay_ThreeLoad
|
| | | || myType.ConcreteType == DeviceConcreteType.DimmableLight_OneLoad)
|
| | | || myType.ConcreteType == DeviceConcreteType.DimmableLight_OneLoad
|
| | | || myType.ConcreteType == DeviceConcreteType.Relay_NationalThreeLoadTenA
|
| | | || myType.ConcreteType == DeviceConcreteType.Relay_SevenLoadInOutPutDryContact)
|
| | | {
|
| | | //背光灯
|
| | | string caption = Language.StringByID(R.MyInternationalizationString.uBackLight);
|
| | |
| | | btnLight.AddRightArrow();
|
| | | btnLight.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | var form = new DeviceRelay.RelayThreeLoadBackLightSettionForm();
|
| | | form.AddForm(deviceObj.DeviceAddr);
|
| | | if (myType.ConcreteType == DeviceConcreteType.Relay_NationalThreeLoadTenA
|
| | | || myType.ConcreteType == DeviceConcreteType.Relay_SevenLoadInOutPutDryContact)
|
| | | {
|
| | | //国标3路10A继电器小模块 或者 欧标2路5A继电器小模块 或者 7路干接点输入输出模块
|
| | | var form = new DeviceRelay.RelayNationalBackLightSettionForm();
|
| | | form.AddForm(deviceObj.DeviceAddr);
|
| | | }
|
| | | else
|
| | | {
|
| | | //三路继电器,或者一路调光器
|
| | | var form = new DeviceRelay.RelayThreeLoadBackLightSettionForm();
|
| | | form.AddForm(deviceObj.DeviceAddr);
|
| | | }
|
| | | };
|
| | | }
|
| | | }
|
| | |
| | | private List<List<CommonDevice>> GetAllDeviceGroup()
|
| | | {
|
| | | bool hadDevice = false;
|
| | | var listDevice = Common.LocalDevice.Current.GetDevicesByMac(deviceObj.DeviceAddr);
|
| | | var listDevice = HdlDeviceCommonLogic.Current.GetDevicesByMac(deviceObj.DeviceAddr);
|
| | | var listRelay = new List<CommonDevice>();
|
| | | foreach (var device in listDevice)
|
| | | {
|
| | |
| | | nowSelectControl.TextSize = 13;
|
| | | nowSelectControl.TextColor = UserCenterColor.Current.TextGrayColor3;
|
| | | //记录它的名字
|
| | | dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = btnDeviceName.Text.Trim();
|
| | | dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = frameDeviceName.Text.Trim();
|
| | | }
|
| | | //选择状态
|
| | | nowContr.BorderColor = 0xfffb744a;
|
| | |
| | | nowContr.TextColor = UserCenterColor.Current.TextColor1;
|
| | |
|
| | | nowSelectControl = nowContr;
|
| | | nowSelectDevice = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, Convert.ToInt32(nowContr.Name.Replace("btn", string.Empty)));
|
| | | nowSelectDevice = HdlDeviceCommonLogic.Current.GetDevice(deviceObj.DeviceAddr, Convert.ToInt32(nowContr.Name.Replace("btn", string.Empty)));
|
| | |
|
| | | //重新初始化菜单行
|
| | | this.InitMenuRow();
|