| | |
| | | /// </summary>
|
| | | private IconViewControl btnCollect = null;
|
| | | /// <summary>
|
| | | /// 电池控件
|
| | | /// </summary>
|
| | | private IconViewControl btnBattery = null;
|
| | | /// <summary>
|
| | | /// 是否获取网关反馈的结果 0:没有获取得到 1:已经获取得到
|
| | | /// </summary>
|
| | | private int ResponeResult = 0;
|
| | |
| | | btnBackGroud.UnSelectedImagePath = "Item/FunctionCardView.png";
|
| | | btnBackGroud.SelectedImagePath = "Item/FunctionCardViewSelected.png";
|
| | | btnBackGroud.Gravity = Gravity.CenterHorizontal;
|
| | | this.AddChidren(btnBackGroud, ChidrenBindMode.BindEventOnly);
|
| | | this.AddChidren(btnBackGroud, ChidrenBindMode.BindEvent);
|
| | |
|
| | | //设备名称控件
|
| | | this.btnDeviceName = new NormalViewControl(320, 63, true);
|
| | | this.btnDeviceName = new NormalViewControl(360, 63, true);
|
| | | btnDeviceName.X = HdlControlLogic.Current.GetPictrueRealSize(40);
|
| | | btnDeviceName.Y = HdlControlLogic.Current.GetPictrueRealSize(17);
|
| | | btnDeviceName.TextSize = 16;
|
| | | btnDeviceName.TextColor = UserCenterColor.Current.TextGrayColor1;
|
| | | btnDeviceName.SelectedTextColor = UserCenterColor.Current.White;
|
| | | btnDeviceName.Text = Common.LocalDevice.Current.GetDeviceEpointName(i_device);
|
| | | this.AddChidren(btnDeviceName, ChidrenBindMode.BindEventOnly);
|
| | | btnDeviceName.Text = HdlDeviceCommonLogic.Current.GetDeviceEpointName(i_device);
|
| | | this.AddChidren(btnDeviceName, ChidrenBindMode.BindEvent);
|
| | |
|
| | | //收集控件
|
| | | this.btnCollect = new IconViewControl(107);
|
| | |
| | | fraDeviceRound.X = HdlControlLogic.Current.GetPictrueRealSize(44);
|
| | | fraDeviceRound.Y = HdlControlLogic.Current.GetPictrueRealSize(101);
|
| | | fraDeviceRound.BackgroundColor = Common.ZigbeeColor.Current.GXCForFunctionUnSelectedBackgroundColor;
|
| | | this.AddChidren(fraDeviceRound, ChidrenBindMode.BindEventOnly);
|
| | | this.AddChidren(fraDeviceRound, ChidrenBindMode.BindEvent);
|
| | |
|
| | | //设备图标控件
|
| | | this.btnDeviceIcon = new IconViewControl(86);
|
| | | btnDeviceIcon.Gravity = Gravity.Center;
|
| | | fraDeviceRound.AddChidren(btnDeviceIcon);
|
| | | this.ChangedChidrenBindMode(fraDeviceRound, ChidrenBindMode.BindEventOnly);
|
| | | this.ChangedChidrenBindMode(fraDeviceRound, ChidrenBindMode.BindEvent);
|
| | |
|
| | | //状态文本控件
|
| | | this.btnStatu = new NormalViewControl(HdlControlLogic.Current.GetPictrueRealSize(300), HdlControlLogic.Current.GetPictrueRealSize(63), false);
|
| | | this.btnStatu = new NormalViewControl(HdlControlLogic.Current.GetPictrueRealSize(400), HdlControlLogic.Current.GetPictrueRealSize(63), false);
|
| | | btnStatu.X = HdlControlLogic.Current.GetPictrueRealSize(46);
|
| | | btnStatu.Y = HdlControlLogic.Current.GetPictrueRealSize(236);
|
| | | btnStatu.TextColor = UserCenterColor.Current.TextColor1;
|
| | | btnStatu.SelectedTextColor = Common.ZigbeeColor.Current.GXCTextSelectedColor;
|
| | | btnStatu.IsBold = true;
|
| | | this.AddChidren(btnStatu, ChidrenBindMode.BindEventOnly);
|
| | | this.AddChidren(btnStatu, ChidrenBindMode.BindEvent);
|
| | |
|
| | | //开关控件(不加入父控件中)
|
| | | this.btnSwitch = new PicViewControl(109, 104);
|
| | |
| | | btnSwitch.Y = HdlControlLogic.Current.GetPictrueRealSize(202);
|
| | | btnSwitch.UnSelectedImagePath = "Item/Switch1.png";
|
| | | btnSwitch.SelectedImagePath = "Item/SwitchSelected1.png";
|
| | |
|
| | | //电池控件
|
| | | if (this.device.Type == DeviceType.IASZone)
|
| | | {
|
| | | this.btnBattery = new IconViewControl(69);
|
| | | btnBattery.X = HdlControlLogic.Current.GetPictrueRealSize(348);
|
| | | btnBattery.Y = HdlControlLogic.Current.GetPictrueRealSize(236);
|
| | | btnBattery.UnSelectedImagePath = "Item/Battery.png";
|
| | | btnBattery.SelectedImagePath = "Item/BatterySelected.png";
|
| | | this.AddChidren(btnBattery, ChidrenBindMode.BindEvent);
|
| | | if (this.device.IsBatteryDown == false)
|
| | | {
|
| | | btnBattery.Visible = false;
|
| | | }
|
| | | }
|
| | |
|
| | | //刷新信息
|
| | | this.RefreshControlInfo(i_device);
|
| | |
| | | btnCollect.IsSelected = collect;
|
| | | }
|
| | | //设备图标也刷新
|
| | | Common.LocalDevice.Current.SetDeviceIconToControl2(btnDeviceIcon, i_device);
|
| | | HdlDeviceCommonLogic.Current.SetDeviceIconToControl2(btnDeviceIcon, i_device);
|
| | | //名字刷新
|
| | | this.btnDeviceName.Text = Common.LocalDevice.Current.GetDeviceEpointName(i_device);
|
| | | this.btnDeviceName.Text = HdlDeviceCommonLogic.Current.GetDeviceEpointName(i_device);
|
| | | //检测设备是否是打开状态
|
| | | bool isOpen = this.CheckIsOpenStatu(i_device);
|
| | | if (this.isHadOpenSwitch == true && i_device.HadReadDeviceStatu == false)
|
| | |
| | | //等待网关回复后会重新刷新,不然一直是关闭状态
|
| | | isOpen = false;
|
| | | }
|
| | | //如果是传感器类,则默认是关的效果
|
| | | if (this.device.Type == DeviceType.PMSensor || this.device.Type == DeviceType.IASZone
|
| | | || this.device.Type == DeviceType.TemperatureSensor)
|
| | | {
|
| | | isOpen = false;
|
| | | }
|
| | |
|
| | | this.SetCardOpenStatu(isOpen);
|
| | | }
|
| | |
|
| | |
| | | public void SetCardOpenStatu(bool isOpen)
|
| | | {
|
| | | //设备状态必须刷新
|
| | | this.btnStatu.Text = HdlDeviceOtherLogic.Current.GetDeviceStatu(this.device);
|
| | |
|
| | | if (this.btnBackGroud.IsSelected == isOpen)
|
| | | {
|
| | | //状态一样,则不需要处理
|
| | | return;
|
| | | }
|
| | | //背景图片
|
| | | this.btnBackGroud.IsSelected = isOpen;
|
| | | //设备名称控件
|
| | | this.btnDeviceName.IsSelected = isOpen;
|
| | | this.btnDeviceName.IsBold = isOpen;
|
| | | //设备的背景圆圈图
|
| | | if (isOpen == true)
|
| | | {
|
| | | fraDeviceRound.BackgroundColor = Common.ZigbeeColor.Current.GXCForFunctionBackgroundColor;
|
| | | }
|
| | | else
|
| | | {
|
| | | fraDeviceRound.BackgroundColor = Common.ZigbeeColor.Current.GXCForFunctionUnSelectedBackgroundColor;
|
| | | }
|
| | | //设备图标控件
|
| | | this.btnDeviceIcon.IsSelected = isOpen;
|
| | | //状态文本控件
|
| | | this.btnStatu.IsSelected = isOpen;
|
| | | this.btnStatu.Text = HdlDeviceCommonLogic.Current.GetMainPageDeviceStatuText(this.device);
|
| | | //开关控件
|
| | | if (btnSwitch != null)
|
| | | if (btnSwitch != null && this.btnSwitch.IsSelected != isOpen)
|
| | | {
|
| | | this.btnSwitch.IsSelected = isOpen;
|
| | | }
|
| | |
|
| | | //切换卡片状态特效
|
| | | this.SwitchCardStatuAppeal(isOpen);
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | |
| | | //如果这个函数被重写的话,则代表这个设备有开关功能
|
| | | this.isHadOpenSwitch = false;
|
| | | //默认用在线状态来判断
|
| | | return Common.LocalDevice.Current.CheckDeviceIsOnline(i_device);
|
| | | return HdlDeviceCommonLogic.Current.CheckDeviceIsOnline(i_device);
|
| | | }
|
| | |
|
| | |
|
| | |
| | | this.ResponeResult = 1;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 接收网关回复的状态(true:已经接收到网关的回复 false:还没有接收到网关回复)
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | public bool ReceiveResponeResultStatu()
|
| | | {
|
| | | return this.ResponeResult == 1;
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 显示低电量_________________________
|
| | |
|
| | | /// <summary>
|
| | | /// 刷新电池电量状态
|
| | | /// </summary>
|
| | | public void RefreshBatteryStatu()
|
| | | {
|
| | | if (this.btnBattery == null) { return; }
|
| | | if (this.device.IsBatteryDown == true)
|
| | | {
|
| | | //电量低,显示图标
|
| | | if (this.btnBattery.Visible == false)
|
| | | {
|
| | | this.btnBattery.Visible = true;
|
| | | }
|
| | | }
|
| | | else
|
| | | {
|
| | | //电量足够,隐藏图标
|
| | | if (this.btnBattery.Visible == true)
|
| | | {
|
| | | this.btnBattery.Visible = false;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 一般方法___________________________
|
| | |
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 卡片闪烁特效_______________________
|
| | |
|
| | | /// <summary>
|
| | | /// 是否处于特效中
|
| | | /// </summary>
|
| | | private bool isAppeal = false;
|
| | | /// <summary>
|
| | | /// 开启卡片闪烁特效
|
| | | /// </summary>
|
| | | public void StartCardLightAppeal()
|
| | | {
|
| | | //设备状态必须刷新
|
| | | this.btnStatu.Text = HdlDeviceCommonLogic.Current.GetMainPageDeviceStatuText(this.device);
|
| | |
|
| | | if (this.isAppeal == true) { return; }
|
| | | this.isAppeal = true;
|
| | |
|
| | | HdlThreadLogic.Current.RunThread(() =>
|
| | | {
|
| | | //闪烁5秒,间隔400毫秒
|
| | | int count = 5000 / 400;
|
| | | bool isOpen = false;
|
| | | while (this.Parent != null && count >= 0)
|
| | | {
|
| | | //闪烁特效
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | isOpen = !isOpen;
|
| | | this.SwitchCardStatuAppeal(isOpen);
|
| | | });
|
| | | System.Threading.Thread.Sleep(400);
|
| | | count--;
|
| | | }
|
| | | if (this.Parent != null && isOpen == false)
|
| | | {
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | //结束时,默认为打开特效
|
| | | this.SwitchCardStatuAppeal(true);
|
| | | }, ShowErrorMode.NO);
|
| | | }
|
| | | this.isAppeal = false;
|
| | |
|
| | | }, ShowErrorMode.NO);
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 切换卡片状态特效
|
| | | /// </summary>
|
| | | public void SwitchCardStatuAppeal(bool isOpen)
|
| | | {
|
| | | if (this.btnBackGroud.IsSelected == isOpen)
|
| | | {
|
| | | //状态一样,则不需要处理
|
| | | return;
|
| | | }
|
| | | //背景图片
|
| | | this.btnBackGroud.IsSelected = isOpen;
|
| | | //设备名称控件
|
| | | this.btnDeviceName.IsSelected = isOpen;
|
| | | this.btnDeviceName.IsBold = isOpen;
|
| | | //设备的背景圆圈图
|
| | | if (isOpen == true)
|
| | | {
|
| | | fraDeviceRound.BackgroundColor = Common.ZigbeeColor.Current.GXCForFunctionBackgroundColor;
|
| | | }
|
| | | else
|
| | | {
|
| | | fraDeviceRound.BackgroundColor = Common.ZigbeeColor.Current.GXCForFunctionUnSelectedBackgroundColor;
|
| | | }
|
| | | //设备图标控件
|
| | | this.btnDeviceIcon.IsSelected = isOpen;
|
| | | //状态文本控件
|
| | | this.btnStatu.IsSelected = isOpen;
|
| | | //电池控件
|
| | | if (this.btnBattery != null && this.btnBattery.Visible == true)
|
| | | {
|
| | | this.btnBattery.IsSelected = isOpen;
|
| | | }
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 控件摧毁___________________________
|
| | |
|
| | | /// <summary>
|