| | |
| | | /// </summary>
|
| | | private Dictionary<int, string> dicDeviceSaveName = new Dictionary<int, string>();
|
| | | /// <summary>
|
| | | /// 设备需要保存的设备功能
|
| | | /// </summary>
|
| | | private Dictionary<int, DeviceFunctionType> dicDeviceFuncType = new Dictionary<int, DeviceFunctionType>();
|
| | | /// <summary>
|
| | | /// 信息编辑控件
|
| | | /// </summary>
|
| | | private InformationEditorControl tableContr = null;
|
| | |
| | | {
|
| | | //记录起当前正在操作的回路名字
|
| | | dicDeviceSaveName[nowSelectDevice.DeviceEpoint] = btnDeviceName.Text.Trim();
|
| | | //开启进度条
|
| | | this.ShowProgressBar();
|
| | | foreach (var epoint in dicDeviceSaveName.Keys)
|
| | | {
|
| | | var device = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, epoint);
|
| | |
| | | var result = await Common.LocalDevice.Current.ReName(device, newName);
|
| | | if (result == false)
|
| | | {
|
| | | //关闭
|
| | | this.CloseProgressBar();
|
| | | return;
|
| | | }
|
| | | }
|
| | | }
|
| | | foreach (var epoint in dicDeviceFuncType.Keys)
|
| | | {
|
| | | var device = Common.LocalDevice.Current.GetDevice(deviceObj.DeviceAddr, epoint);
|
| | | if (device == null)
|
| | | {
|
| | | continue;
|
| | | }
|
| | | //设置功能类型
|
| | | device.DfunctionType = dicDeviceFuncType[epoint];
|
| | | if (device.IsCustomizeImage == true)
|
| | | {
|
| | | continue;
|
| | | }
|
| | | //重新设置图片
|
| | | if (device.DfunctionType == DeviceFunctionType.A开关)
|
| | | {
|
| | | device.IconPath = "Device/Switch.png";
|
| | | }
|
| | | else if (device.DfunctionType == DeviceFunctionType.A插座)
|
| | | {
|
| | | device.IconPath = "Device/Socket1.png";
|
| | | }
|
| | | else if (device.DfunctionType == DeviceFunctionType.A灯光)
|
| | | {
|
| | | device.IconPath = "Device/Light.png";
|
| | | }
|
| | | else
|
| | | {
|
| | | device.IconPath = "Device/RelayEpoint.png";
|
| | | }
|
| | | device.ReSave();
|
| | | }
|
| | | this.CloseProgressBar();
|
| | | //关闭自身
|
| | | this.CloseForm();
|
| | | };
|
| | |
| | | /// </summary>
|
| | | private void AddFunctionTypeRow()
|
| | | {
|
| | | //如果是继电器和调光器的话
|
| | | if (nowSelectDevice.Type == DeviceType.OnOffOutput || nowSelectDevice.Type == DeviceType.DimmableLight
|
| | | || nowSelectDevice.Type == DeviceType.ColorDimmableLight)
|
| | | //自定义功能类型控件
|
| | | var rowFunction = new DeviceFunctionTypeRowControl(nowSelectDevice, listview.rowSpace / 2);
|
| | | if (rowFunction.CanShowRow == false)
|
| | | {
|
| | | //功能类型
|
| | | string caption = Language.StringByID(R.MyInternationalizationString.uFunctionType);
|
| | | var DfunctionType = nowSelectDevice.DfunctionType;
|
| | | if (this.dicDeviceFuncType.ContainsKey(nowSelectDevice.DeviceEpoint) == true)
|
| | | {
|
| | | DfunctionType = this.dicDeviceFuncType[nowSelectDevice.DeviceEpoint];
|
| | | }
|
| | |
|
| | | //功能类型的翻译名字
|
| | | int nowSelectNo = 1;
|
| | | string strType = string.Empty;
|
| | | if (DfunctionType == DeviceFunctionType.A灯光)
|
| | | {
|
| | | strType = Language.StringByID(R.MyInternationalizationString.uLight);
|
| | | nowSelectNo = 1;
|
| | | }
|
| | | else if (DfunctionType == DeviceFunctionType.A开关)
|
| | | {
|
| | | strType = Language.StringByID(R.MyInternationalizationString.uSwitch);
|
| | | nowSelectNo = 0;
|
| | | }
|
| | | else if (DfunctionType == DeviceFunctionType.A插座)
|
| | | {
|
| | | strType = Language.StringByID(R.MyInternationalizationString.uSocket1);
|
| | | nowSelectNo = 2;
|
| | | }
|
| | |
|
| | | var btnFunction = new FrameCaptionViewControl(caption, strType, listview.rowSpace / 2);
|
| | | btnFunction.UseClickStatu = false;
|
| | | listview.AddChidren(btnFunction);
|
| | | btnFunction.InitControl();
|
| | | //底线
|
| | | btnFunction.AddBottomLine();
|
| | |
|
| | | //如果是继电器才能够更改这个功能类型
|
| | | if (nowSelectDevice.Type == DeviceType.OnOffOutput)
|
| | | {
|
| | | btnFunction.UseClickStatu = true;
|
| | | //右箭头
|
| | | btnFunction.AddRightArrow();
|
| | | btnFunction.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | //显示列表
|
| | | var listText = new List<string>();
|
| | | listText.Add(Language.StringByID(R.MyInternationalizationString.uSwitch));//开关
|
| | | listText.Add(Language.StringByID(R.MyInternationalizationString.uLight));//灯光
|
| | | listText.Add(Language.StringByID(R.MyInternationalizationString.uSocket1));//插座
|
| | | //标题:选择功能类型
|
| | | var title = Language.StringByID(R.MyInternationalizationString.uSelectFunctionType);
|
| | |
|
| | | var form = new BottomItemSelectForm();
|
| | | form.CancelCallEvent = true;//允许取消
|
| | | form.AddForm(title, listText, nowSelectNo);
|
| | | form.FinishSelectEvent += (selectNo) =>
|
| | | {
|
| | | if (selectNo == -1)
|
| | | {
|
| | | //取消选择
|
| | | btnFunction.Text = string.Empty;
|
| | | }
|
| | | else
|
| | | {
|
| | | btnFunction.Text = listText[selectNo];
|
| | | }
|
| | | nowSelectNo = selectNo;
|
| | | //记录起当前选择的功能类型
|
| | | if (selectNo == 0)
|
| | | {
|
| | | dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A开关;
|
| | | }
|
| | | else if (selectNo == 1)
|
| | | {
|
| | | dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A灯光;
|
| | | }
|
| | | else if (selectNo == 2)
|
| | | {
|
| | | dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A插座;
|
| | | }
|
| | | else
|
| | | {
|
| | | dicDeviceFuncType[nowSelectDevice.DeviceEpoint] = DeviceFunctionType.A未定义;
|
| | | }
|
| | | };
|
| | | };
|
| | | }
|
| | | return;
|
| | | }
|
| | |
|
| | | //如果是新风
|
| | | if (nowSelectDevice.Type == DeviceType.FreshAir)
|
| | | {
|
| | | //功能类型
|
| | | string caption = Language.StringByID(R.MyInternationalizationString.uFunctionType);
|
| | | string strType = Language.StringByID(R.MyInternationalizationString.FreshAir);
|
| | | var btnFunction = new FrameCaptionViewControl(caption, strType, listview.rowSpace / 2);
|
| | | btnFunction.UseClickStatu = false;
|
| | | listview.AddChidren(btnFunction);
|
| | | btnFunction.InitControl();
|
| | | //底线
|
| | | btnFunction.AddBottomLine();
|
| | | }
|
| | | listview.AddChidren(rowFunction);
|
| | | rowFunction.InitControl();
|
| | | //底线
|
| | | rowFunction.AddBottomLine();
|
| | | }
|
| | |
|
| | | #endregion
|