| | |
| | | /// </summary> |
| | | Button btnCollection; |
| | | /// <summary> |
| | | /// 空调温度控制控件 |
| | | /// 温度控制控件 |
| | | /// </summary> |
| | | ArcSeekBar arcBar; |
| | | DiyArcSeekBar arcBar; |
| | | /// <summary> |
| | | /// 减号按钮 |
| | | /// </summary> |
| | |
| | | #endregion |
| | | |
| | | #region 区域变量 |
| | | FloorHeating fh; |
| | | FloorHeating fhTemp = new FloorHeating(); |
| | | Function function; |
| | | Button btnCollection_Out; |
| | | Button btnFunctionName_Out; |
| | | Button btnFromFloor_Out; |
| | |
| | | /// </summary> |
| | | Action actionRefresh; |
| | | #endregion |
| | | public FloorHeatingPage(FloorHeating func) |
| | | public FloorHeatingPage(Function func) |
| | | { |
| | | bodyView = this; |
| | | fh = func; |
| | | function = func; |
| | | } |
| | | |
| | | public void LoadPage(Button btnCollectionIcon, Button btnFunctionNameOut, Button btnFromFloorOut) |
| | |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel, |
| | | Text = fh.name, |
| | | Text = function.name, |
| | | }; |
| | | controlView.AddChidren(btnFunctionName); |
| | | |
| | |
| | | TextColor = CSS_Color.PromptingColor1, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextSize = CSS_FontSize.PromptFontSize_FirstLevel, |
| | | Text = fh.GetRoomListName() |
| | | Text = function.GetRoomListName() |
| | | }; |
| | | controlView.AddChidren(btnFromFoorAndRoom); |
| | | |
| | |
| | | Height = Application.GetMinRealAverage(40), |
| | | SelectedImagePath = "Collection/CollectionIcon.png", |
| | | UnSelectedImagePath = "Collection/CollectionGrayIcon.png", |
| | | IsSelected = fh.collection |
| | | IsSelected = function.collect |
| | | }; |
| | | controlView.AddChidren(btnCollection); |
| | | //controlView.AddChidren(btnCollection); |
| | | //2020-12-16 如果是成员隐藏收藏功能 |
| | | if (!DB_ResidenceData.Instance.CurrentRegion.IsOthreShare) |
| | | { |
| | | controlView.AddChidren(btnCollection); |
| | | } |
| | | |
| | | arcBar = new ArcSeekBar() |
| | | arcBar = new DiyArcSeekBar() |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Y = Application.GetRealHeight(120), |
| | | Width = Application.GetRealWidth(280), |
| | | Height = Application.GetRealWidth(280), |
| | | OpenAngle = 160, |
| | | ThumbColor = CSS_Color.AuxiliaryColor1, |
| | | ThumbModeFill = true, |
| | | ProgressBarColor = fh.on_off == "on" ? CSS_Color.MainColor : CSS_Color.PromptingColor2, |
| | | ThumbRadius = Application.GetRealWidth(12), |
| | | ArcWidthWithDefaultStyle = Application.GetRealWidth(12), |
| | | MinValue = 5, |
| | | MaxValue = 35, |
| | | Progress = fh.curTemp, |
| | | ProgressBarUnitSring = "°C", |
| | | IsClickable = true, |
| | | ProgressTextColor = 0x00000000, |
| | | ThumbImagePath = function.trait_on_off.curValue.ToString() == "on" ? "FunctionIcon/FloorHeating/DiyThumbIconOn.png" : "FunctionIcon/AC/DiyThumbIcon.png", |
| | | ThumbImageHeight = Application.GetRealWidth(50), |
| | | ProgressBarColor = CSS_Color.AuxiliaryColor1, // 0xFFFC9C04, |
| | | OfflineProgressBarColor = CSS_Color.PromptingColor2, |
| | | IsOffline = function.trait_on_off.curValue.ToString() == "off", |
| | | MinValue = function.GetAttribute(FunctionAttributeKey.SetTemp).min, |
| | | MaxValue = function.GetAttribute(FunctionAttributeKey.SetTemp).max, |
| | | ArcColor = CSS_Color.BackgroundColor, |
| | | Progress = Convert.ToInt32(function.GetAttrState(FunctionAttributeKey.SetTemp)), |
| | | #if __IOS__ |
| | | Y = Application.GetRealHeight(120+25), |
| | | Width = Application.GetRealWidth(260-40), |
| | | Height = Application.GetRealWidth(260-40), |
| | | SeekBarPadding = Application.GetRealWidth(8), |
| | | #else |
| | | Y = Application.GetRealHeight(120 + 40), |
| | | Width = Application.GetRealWidth(260 - 40), |
| | | Height = Application.GetRealWidth(260 - 40), |
| | | SeekBarPadding = Application.GetRealWidth(7), |
| | | #endif |
| | | |
| | | }; |
| | | controlView.AddChidren(arcBar); |
| | | |
| | | btnTemp = new Button() |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Y = Application.GetRealHeight(206), |
| | | Width = Application.GetRealWidth(71), |
| | | Y = Application.GetRealHeight(200), |
| | | Width = Application.GetRealWidth(80), |
| | | Height = Application.GetRealWidth(60), |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = 56, |
| | | IsBold = true, |
| | | Text = fh.curTemp.ToString(), |
| | | Text = function.GetAttrState(FunctionAttributeKey.SetTemp), |
| | | TextAlignment = TextAlignment.Center, |
| | | }; |
| | | controlView.AddChidren(btnTemp); |
| | |
| | | X = btnTemp.Right, |
| | | Y = btnTemp.Y, |
| | | Width = Application.GetRealWidth(30), |
| | | Height = Application.GetRealWidth(20), |
| | | Height = Application.GetRealWidth(25), |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | TextSize = CSS_FontSize.EmphasisFontSize_Secondary, |
| | | IsBold = true, |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | Text = "°C", |
| | | Text = fhTemp.GetTempUnitString(function) |
| | | }; |
| | | controlView.AddChidren(btnTempUint); |
| | | |
| | | btnIndoorTemp = new Button() |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Y = btnTemp.Bottom, |
| | | Y = btnTemp.Bottom+ Application.GetRealWidth(10), |
| | | Width = Application.GetRealWidth(100), |
| | | Height = Application.GetRealHeight(20), |
| | | Text = Language.StringByID(StringId.IndoorTemp) + "20°C", |
| | |
| | | X = Application.GetRealWidth(275), |
| | | Y = Application.GetRealHeight(263), |
| | | Width = Application.GetRealWidth(32), |
| | | Height = Application.GetRealWidth(32), |
| | | Height = Application.GetRealWidth(32), |
| | | UnSelectedImagePath = "Public/PlusSignIcon.png", |
| | | }; |
| | | controlView.AddChidren(btnPlus); |
| | |
| | | Y = Application.GetRealHeight(337), |
| | | Width = Application.GetRealWidth(30), |
| | | Height = Application.GetRealWidth(30), |
| | | UnSelectedImagePath = fh.curModeImage, |
| | | UnSelectedImagePath = fhTemp.GetModeIconPath(function.GetAttrState(FunctionAttributeKey.Mode)) |
| | | }; |
| | | controlView.AddChidren(btnMode); |
| | | if (function.GetAttribute(FunctionAttributeKey.Mode)!=null) |
| | | { |
| | | controlView.AddChidren(btnMode); |
| | | } |
| | | |
| | | btnSwitch = new Button() |
| | | { |
| | | Gravity = Gravity.CenterHorizontal, |
| | | Y = Application.GetRealHeight(462), |
| | | Width = Application.GetRealWidth(40), |
| | | Height = Application.GetRealWidth(40), |
| | | Y = Application.GetRealHeight(466), |
| | | Width = Application.GetRealWidth(32), |
| | | Height = Application.GetRealWidth(32), |
| | | UnSelectedImagePath = "Public/PowerClose.png", |
| | | SelectedImagePath = "Public/PowerOpen.png", |
| | | IsSelected = fh.on_off == "on" |
| | | IsSelected = function.trait_on_off.curValue.ToString() == "on" |
| | | }; |
| | | controlView.AddChidren(btnSwitch); |
| | | |
| | | LoadEventList(); |
| | | new TopViewDiv(bodyView, Language.StringByID(StringId.LocationManagement)).LoadTopView(fh, actionRefresh); |
| | | new TopViewDiv(bodyView, Language.StringByID(StringId.FloorHeating)).LoadTopView_FunctionTop(function, actionRefresh); |
| | | new System.Threading.Thread(() => |
| | | { |
| | | DriverLayer.Control.Ins.SendReadCommand(function); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | /// <summary> |
| | | /// 加载修改模式区域 |
| | |
| | | Width = Application.GetRealWidth(160), |
| | | Height = Application.GetRealHeight(287), |
| | | BackgroundImagePath = "FunctionIcon/AC/DivBg1.png", |
| | | AnimateSpeed = 0.3f, |
| | | Animate = Animate.DownToUp, |
| | | }; |
| | | dialogView.AddChidren(modeChangeView); |
| | | |
| | |
| | | }; |
| | | modeChangeView.AddChidren(btnLine); |
| | | |
| | | foreach (var m in fh.modeList) |
| | | var modeList = function.GetAttribute(FunctionAttributeKey.Mode).value; |
| | | foreach (var m in modeList) |
| | | { |
| | | Button btnModeIcon = new Button() |
| | | { |
| | | X = btnTitle.X, |
| | | Y = Application.GetRealHeight(44 * (fh.modeList.IndexOf(m) + 1) + 10 + 8), |
| | | Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 10 + 8), |
| | | Width = Application.GetRealWidth(24), |
| | | Height = Application.GetRealWidth(24), |
| | | IsSelected = fh.curMode == m, |
| | | IsSelected = function.GetAttrState(FunctionAttributeKey.Mode) == m, |
| | | }; |
| | | modeChangeView.AddChidren(btnModeIcon); |
| | | |
| | | Button btnModeText = new Button() |
| | | { |
| | | X = Application.GetRealWidth(12) + btnModeIcon.Right, |
| | | Y = Application.GetRealHeight(44 * (fh.modeList.IndexOf(m) + 1) + 8), |
| | | Y = Application.GetRealHeight(44 * (modeList.IndexOf(m) + 1) + 8), |
| | | Height = Application.GetRealHeight(44), |
| | | Width = Application.GetRealWidth(70), |
| | | TextAlignment = TextAlignment.CenterLeft, |
| | | TextColor = CSS_Color.FirstLevelTitleColor, |
| | | SelectedTextColor = CSS_Color.MainColor, |
| | | IsSelected = fh.curMode == m, |
| | | IsSelected = function.GetAttrState(FunctionAttributeKey.Mode) == m, |
| | | }; |
| | | modeChangeView.AddChidren(btnModeText); |
| | | |
| | |
| | | btnModeIcon.UnSelectedImagePath = "FunctionIcon/AC/AutoIconGray.png"; |
| | | btnModeText.TextID = StringId.Auto; |
| | | break; |
| | | case "ordinary": |
| | | case "normal": |
| | | btnModeIcon.SelectedImagePath = "FunctionIcon/FloorHeating/OrdinaryIcon.png"; |
| | | btnModeIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/OrdinaryIconGray.png"; |
| | | btnModeText.TextID = StringId.Ordinary; |
| | | btnModeText.TextID = StringId.Normal; |
| | | break; |
| | | } |
| | | |
| | | if (fh.modeList.IndexOf(m) < fh.modeList.Count - 1) |
| | | if (modeList.IndexOf(m) < modeList.Count - 1) |
| | | { |
| | | modeChangeView.AddChidren(new Button() |
| | | { |