| | |
| | | /// 是否在调光 |
| | | /// </summary> |
| | | bool onDimmerBar; |
| | | /// <summary> |
| | | /// 删除设备后回调给界面刷新 |
| | | /// </summary> |
| | | Action action; |
| | | |
| | | #endregion |
| | | public FunctionControlZone(Function func) |
| | | public FunctionControlZone(Function func,Action action) |
| | | { |
| | | bodyDiv = this; |
| | | bodyDiv.Tag = func.sid; |
| | | function = func; |
| | | this.action = action; |
| | | } |
| | | |
| | | public override void RemoveFromParent() |
| | |
| | | /// </summary> |
| | | public void LoadFunctionDiv() |
| | | { |
| | | //todo 增加设备,增加功能列表卡片 |
| | | if (function == null) |
| | | { |
| | | this.RemoveFromParent(); |
| | | return; |
| | | } |
| | | LoadDiv(); |
| | | |
| | | //if (function.spk == SPK.IpCam_Imou) |
| | | //{ |
| | | // InitIpCamDiv(); |
| | | //} |
| | | //else |
| | | { |
| | | LoadDiv(); |
| | | } |
| | | |
| | | btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/{function.IconName}.png"; |
| | | |
| | | if(function.spk == SPK.GroupControl || function.spk == SPK.CommonSeries) |
| | | { |
| | | //btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/lightswitch.png"; |
| | | btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/groupControl.png"; |
| | | } |
| | | if (SPK.CurtainSpkList().Contains(function.spk)) |
| | | {//窗帘没有开关按钮 |
| | | CurtainFragment(); |
| | |
| | | Button btnTipPowerLow = new Button() |
| | | { |
| | | X = Application.GetRealWidth(307), |
| | | Y = Application.GetRealHeight(25), |
| | | Y = Application.GetRealHeight(45), |
| | | Width = Application.GetRealWidth(24), |
| | | Height = Application.GetRealWidth(24), |
| | | UnSelectedImagePath = "FunctionIcon/ArmSensor/PowerLowIcon.png", |
| | |
| | | switch (tempStatus.state) |
| | | {//0空,1走,2跑,3坐,4跌倒,5站 |
| | | case "0": |
| | | btnStatus.TextID = StringId.SensorNormalState; |
| | | btnStatus.TextID = StringId.wuren; |
| | | btnStatus.TextColor = CSS_Color.MainColor; |
| | | break; |
| | | case "1": |
| | |
| | | |
| | | } |
| | | |
| | | else if (SPK.ArmSensorSpkList().Contains(function.spk)) |
| | | { |
| | | var btnStatus = new Button() |
| | | { |
| | | X = Application.GetRealWidth(51), |
| | | Y = Application.GetRealHeight(64), |
| | | Height = Application.GetRealHeight(18), |
| | | TextColor = CSS_Color.MainColor, |
| | | TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel, |
| | | Text = "", |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Tag = function.sid + "_Sensor_Status" |
| | | }; |
| | | bodyDiv.AddChidren(btnStatus); |
| | | |
| | | var alarm_status = function.attributes.Find((sta) => sta.key == FunctionAttributeKey.AlarmStatus); |
| | | if(alarm_status!= null) |
| | | { |
| | | if (alarm_status.curValue.ToString() == "normal") |
| | | { |
| | | btnStatus.TextID = StringId.SensorNormalState; |
| | | btnStatus.TextColor = CSS_Color.MainColor; |
| | | } |
| | | else |
| | | { |
| | | btnStatus.TextID = StringId.InAlarm; |
| | | btnStatus.TextColor = CSS_Color.WarningColor; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | alarm_status = function.attributes.Find((sta) => sta.key == "contact_status"); |
| | | if (alarm_status != null) |
| | | { |
| | | if (alarm_status.curValue.ToString() == "close") |
| | | { |
| | | btnStatus.TextID = StringId.Shut; |
| | | btnStatus.TextColor = CSS_Color.MainColor; |
| | | } |
| | | else |
| | | { |
| | | if (function.spk == SPK.SensorDryContact || function.spk == SPK.SensorDryContact2) |
| | | { |
| | | btnStatus.TextID = StringId.DryBreak; |
| | | } |
| | | else |
| | | { |
| | | btnStatus.TextID = StringId.Open; |
| | | } |
| | | btnStatus.TextColor = CSS_Color.WarningColor; |
| | | } |
| | | } |
| | | else |
| | | { |
| | | alarm_status = function.attributes.Find((sta) => sta.key == "people_status"); |
| | | if (alarm_status != null) |
| | | { |
| | | if (alarm_status.curValue.ToString() == "false") |
| | | { |
| | | btnStatus.TextID = StringId.wuren; |
| | | btnStatus.TextColor = CSS_Color.MainColor; |
| | | } |
| | | else |
| | | { |
| | | btnStatus.TextID = StringId.youren; |
| | | btnStatus.TextColor = CSS_Color.WarningColor; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | else if (function.spk == SPK.DoorLock) |
| | | { |
| | | btnIcon.UnSelectedImagePath = "FunctionIcon/DoorLock/DoorLock.png"; |
| | | } |
| | | else if (function.spk == SPK.VideoDoorLock) |
| | | { |
| | | btnIcon.UnSelectedImagePath =UI2.FuntionControlView.VideoDoorLock.CommonMethod.Current.GetVideoDoorLockIcon(UI2.FuntionControlView.VideoDoorLock.CommonMethod.Comerom.function); |
| | | } |
| | | else if (function.spk == SPK.AvZkAiks) |
| | | { |
| | | //隐藏开关按钮 |
| | | btnIcon.UnSelectedImagePath = "AksIcon/aks.png"; |
| | | } |
| | | else if(function.spk == SPK.GroupControl) { } |
| | | else if (function.spk == SPK.HvacCac) |
| | | { |
| | | var btnHumidityIcon = new Button() |
| | |
| | | { |
| | | ClothesHangerFragment(); |
| | | } |
| | | else if(function.spk == SPK.IpCam_Imou || function.spk == SPK.ElectricEnergy || function.spk ==SPK.AirSwitch || function.spk == SPK.AirSwitchP3) |
| | | { |
| | | |
| | | } |
| | | else |
| | | { |
| | | #region 加载开关按钮 |
| | |
| | | /// 开关按钮 |
| | | /// </summary> |
| | | Button btnSwitch; |
| | | if (function.spk == SPK.LightRGB || function.spk == SPK.LightDimming) |
| | | if (function.spk == SPK.LightRGBW || function.spk == SPK.LightCCT || function.spk == SPK.LightRGB || function.spk == SPK.LightDimming) |
| | | { |
| | | btnSwitch = new Button() |
| | | { |
| | |
| | | |
| | | |
| | | } |
| | | /// <summary> |
| | | /// 加载ip摄像头卡片 |
| | | /// </summary> |
| | | private void InitIpCamDiv() |
| | | { |
| | | btnIcon = new Button() |
| | | { |
| | | X = Application.GetRealWidth(10), |
| | | Y = Application.GetRealHeight(15), |
| | | Width = Application.GetRealWidth(32), |
| | | Height = Application.GetRealWidth(32), |
| | | }; |
| | | bodyDiv.AddChidren(btnIcon); |
| | | |
| | | btnName = new Button() |
| | | { |
| | | X = Application.GetRealWidth(8 + 10 + 32), |
| | | Y = Application.GetRealHeight(10), |
| | | Width = Application.GetRealWidth(200), |
| | | Height = Application.GetRealHeight(24), |
| | | Text = function.name, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.TextFontSize, |
| | | }; |
| | | bodyDiv.AddChidren(btnName); |
| | | |
| | | btnFromFloor = new Button() |
| | | { |
| | | X = Application.GetRealWidth(8 + 10 + 32), |
| | | Y = Application.GetRealHeight(10 + 24), |
| | | Width = Application.GetRealWidth(200), |
| | | Height = Application.GetRealHeight(18), |
| | | Text = function.GetRoomListName(), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.PromptingColor1, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | }; |
| | | bodyDiv.AddChidren(btnFromFloor); |
| | | |
| | | btnCollectionIcon = new Button() |
| | | { |
| | | X = Application.GetRealWidth(299), |
| | | Y = Application.GetRealHeight(10), |
| | | Width = Application.GetMinRealAverage(40), |
| | | Height = Application.GetMinRealAverage(40), |
| | | SelectedImagePath = "Collection/CollectionIcon.png", |
| | | UnSelectedImagePath = "Collection/CollectionGrayIcon.png", |
| | | IsSelected = function.collect |
| | | }; |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 加载控制卡片区域 |
| | |
| | | UnSelectedImagePath = "Collection/CollectionGrayIcon.png", |
| | | IsSelected = function.collect |
| | | }; |
| | | if ( !SPK.ArmSensorSpkList().Contains(function.spk) |
| | | && function.spk != SPK.DoorLock |
| | | && !SPK.EnvironDeviceSpkList().Contains( function.spk))//!DB_ResidenceData.Instance.CurrentRegion.isOtherShare && |
| | | if ( !SPK.ArmSensorSpkList().Contains(function.spk)&& |
| | | function.spk != SPK.DoorLock |
| | | && function.spk != SPK.GroupControl |
| | | && !SPK.EnvironDeviceSpkList().Contains( function.spk)) |
| | | { |
| | | bodyDiv.AddChidren(btnCollectionIcon); |
| | | } |
| | | |
| | | if(function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose) |
| | | if(function.spk == SPK.SensorPir || function.spk == SPK.SensorPirHold || function.spk == SPK.SenesorMegahealth || function.spk == SPK.SensorMmvPose) |
| | | { |
| | | bodyDiv.AddChidren(btnCollectionIcon); |
| | | } |
| | | |
| | | if (!function.online) |
| | | if (!function.isOnline()) |
| | | { |
| | | bodyDiv.BackgroundColor = CSS_Color.PromptingColor2; |
| | | btnOffline = new Button() |
| | |
| | | }; |
| | | bodyDiv.AddChidren(btnOffline); |
| | | } |
| | | //排序 |
| | | //btnIcon.MouseLongEventHandler = (sender, e) => { |
| | | // OrderEvent(); |
| | | //}; |
| | | //btnName.MouseLongEventHandler = (sender, e) => { |
| | | // OrderEvent(); |
| | | //}; |
| | | //btnFromFloor.MouseLongEventHandler = (sender, e) => { |
| | | // OrderEvent(); |
| | | //}; |
| | | //bodyDiv.MouseLongEventHandler = (sender, e) => { |
| | | // OrderEvent(); |
| | | //}; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | case SPK.LightDimming: |
| | | case SPK.LightRGBW: |
| | | case SPK.LightRGB: |
| | | case SPK.LightCCT: |
| | | #region Dimmer |
| | | var btnDimmerMinValues = new Button() |
| | | { |
| | |
| | | /// </summary> |
| | | void CurtainFragment() |
| | | { |
| | | var onoffString = function.GetAttrState(FunctionAttributeKey.OnOff); |
| | | var percent = onoffString == "off" ? 0 : 100; |
| | | if (function.GetAttributes().Contains(FunctionAttributeKey.Percent)) |
| | | { |
| | | string percentString = function.GetAttrState(FunctionAttributeKey.Percent); |
| | | int.TryParse(percentString, out percent); |
| | | } |
| | | |
| | | #region Curtain |
| | | var btnCurtainClose = new Button() |
| | | { |
| | |
| | | Height = Application.GetMinRealAverage(32), |
| | | UnSelectedImagePath = "FunctionIcon/Curtain/CurtainCloseIcon.png", |
| | | SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseOnIcon.png", |
| | | IsSelected = function.GetAttrState(FunctionAttributeKey.OnOff) == "off", |
| | | IsSelected = percent == 0, |
| | | Tag = function.sid + "_off" |
| | | }; |
| | | bodyDiv.AddChidren(btnCurtainClose); |
| | |
| | | UnSelectedImagePath = "FunctionIcon/Curtain/CurtainOpenIcon.png", |
| | | SelectedImagePath = "FunctionIcon/Curtain/CurtainOpenOnIcon.png", |
| | | Tag = function.sid + "_on", |
| | | IsSelected = function.GetAttrState(FunctionAttributeKey.OnOff) == "on", |
| | | IsSelected = percent != 0, |
| | | }; |
| | | bodyDiv.AddChidren(btnCurtainOpen); |
| | | if (function.spk == SPK.CurtainRoller) |
| | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 排序事件 |
| | | /// </summary> |
| | | public Action OrderEvent; |
| | | |
| | | /// <summary> |
| | | /// 加载音乐功能控制卡片 |
| | | /// </summary> |
| | | void MusicFragment() |