From 418b0d0a4002bc06ba3a55d1809fe46043f06c09 Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期一, 26 九月 2022 14:07:58 +0800
Subject: [PATCH] 光伏更新,金茂科技系统更新
---
HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs | 520 +++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 480 insertions(+), 40 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
index 9c1d100..e071faa 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Acst/AcstParentPage.cs
@@ -1,5 +1,6 @@
锘縰sing System;
using System.Collections.Generic;
+using HDL_ON.DriverLayer;
using HDL_ON.Entity;
using Shared;
@@ -38,6 +39,12 @@
/// 瀛愭帶鍖哄煙鍒楄〃
/// </summary>
Dictionary<string, AcstSubControlView> subViewList;
+
+
+ Button btnWorkSceneControl;
+
+ Button btnModeControl;
+ Button btnPowerControl;
public override void RemoveFromParent()
@@ -82,7 +89,7 @@
};
}
/// <summary>
- /// 浼犳劅鍣ㄣ�佽�楃數閲忕粍浠�
+ /// 鏇存柊涓绘帶鏁版嵁淇℃伅
/// </summary>
public static void UpdateAcstParentInfo(Function temp)
{
@@ -91,22 +98,70 @@
return;
}
if (basePage.sensorDiyView_Temp != null)
- basePage.sensorDiyView_Temp.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.room_temp.ToString()).curValue.ToString());
+ basePage.sensorDiyView_Temp.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.room_temp.ToString()).state);
if (basePage.sensorDiyView_Humi != null)
- basePage.sensorDiyView_Humi.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.room_humidity.ToString()).curValue.ToString());
+ basePage.sensorDiyView_Humi.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.room_humidity.ToString()).state);
if (basePage.sensorDiyView_Pm25 != null)
- basePage.sensorDiyView_Pm25.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.pm25.ToString()).curValue.ToString());
+ basePage.sensorDiyView_Pm25.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.pm25.ToString()).state);
if (basePage.sensorDiyView_Co2 != null)
- basePage.sensorDiyView_Co2.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.co2.ToString()).curValue.ToString());
+ basePage.sensorDiyView_Co2.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.co2.ToString()).state);
if (basePage.sensorDiyView_Tvoc != null)
- basePage.sensorDiyView_Tvoc.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.tvoc.ToString()).curValue.ToString());
+ basePage.sensorDiyView_Tvoc.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.tvoc.ToString()).state);
if (basePage.sensorDiyView_EleDay != null)
- basePage.sensorDiyView_EleDay.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.day_electricity.ToString()).curValue.ToString());
+ basePage.sensorDiyView_EleDay.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.day_electricity.ToString()).state);
if (basePage.sensorDiyView_EleMonth != null)
- basePage.sensorDiyView_EleMonth.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.month_electricity.ToString()).curValue.ToString());
+ basePage.sensorDiyView_EleMonth.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.month_electricity.ToString()).state);
if (basePage.sensorDiyView_EleTotal != null)
- basePage.sensorDiyView_EleTotal.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.total_electricity.ToString()).curValue.ToString());
+ basePage.sensorDiyView_EleTotal.UpdateValue(temp.GetAttribute(AcstParent_AttrEnum.total_electricity.ToString()).state);
+
+
+ basePage.btnModeControl.IsSelected = basePage.btnWorkSceneControl.IsSelected = basePage.btnPowerControl.IsSelected = temp.trait_on_off.state == "on";
+
+ switch (temp.GetAttrState("mode"))
+ {
+ case "cool"://鍒跺喎
+ basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeCoolIcon2.png";
+ basePage.btnModeControl.UnSelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeCoolIcon2.png";
+ break;
+ case "heat"://鍒剁儹
+ basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeHeatIcon2.png";
+ basePage.btnModeControl.UnSelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeHeatIcon2.png";
+ break;
+ case "fan"://閫氶
+ basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeFanIcon2.png";
+ basePage.btnModeControl.UnSelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeFanIcon2.png";
+ break;
+ case "dry"://闄ゆ箍
+ basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeDeHumiIcon2.png";
+ basePage.btnModeControl.UnSelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeDeHumiIcon2.png";
+ break;
+ case "humidity"://鍔犳箍
+ basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeHumiIcon2.png";
+ basePage.btnModeControl.UnSelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeHumiIcon2.png";
+ break;
+ case "heat_humidity"://鍒剁儹鍔犳箍
+ basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeHeatHumiIcon2.png";
+ basePage.btnModeControl.UnSelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeHeatHumiIcon2.png";
+ break;
+ }
+ switch (temp.GetAttrState("scene"))
+ {
+ case "at_home"://鍦ㄥ
+ basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneAtHome2.png";
+ basePage.btnModeControl.UnSelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/ModeCoolIcon2.png";
+ break;
+ case "leave_home"://绂诲
+ basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneAwayHomeIcon2.png";
+ basePage.btnModeControl.UnSelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/SceneAwayHomeIcon2.png";
+ break;
+ case "sleep"://鐫$湢
+ basePage.btnModeControl.UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneSleepIcon2.png";
+ basePage.btnModeControl.UnSelectedImagePath = $"FunctionIcon/Acst/{basePage.imageFolder}/SceneSleepIcon2.png";
+ break;
+ }
+
}
+
/// <summary>
/// 鏇存柊瀛愭帶淇℃伅
@@ -155,8 +210,7 @@
#region 澶撮儴淇℃伅鍖哄煙
FrameLayout topView = new FrameLayout()
{
- Height = Application.GetRealHeight(181),
- BackgroundColor = 0xFFb0eafa,
+ Height = Application.GetRealHeight(180),
BackgroundImagePath = $"FunctionIcon/Acst/{imageFolder}/TopViewBg.png",
};
bodyView.AddChidren(topView);
@@ -172,13 +226,16 @@
Button btnBackIcon = new Button()
{
X = Application.GetRealWidth(16),
- Width = Application.GetRealWidth(40),
- Height = Application.GetRealWidth(28),
- UnSelectedImagePath = "Public/BackIcon.png",
+ Width = Application.GetRealWidth(12),
+ Height = Application.GetRealHeight(20),
+ UnSelectedImagePath = "FunctionIcon/Acst/BackIcon.png",
};
backView.AddChidren(btnBackIcon);
- btnBackIcon.MouseUpEventHandler = (sender, e) => {
+ Button btnBackClick = new Button();
+ backView.AddChidren(btnBackClick);
+
+ btnBackClick.MouseUpEventHandler = (sender, e) => {
this.RemoveFromParent();
};
@@ -195,7 +252,7 @@
};
topView.AddChidren(btnHelloText);
-
+
btnOutdoorTemp = new Button()
{
X = Application.GetRealWidth(25),
@@ -303,12 +360,12 @@
#region 浼犳劅鍣ㄦ暟鎹�
int sensorCount = 0;
var tempObj = function.GetAttribute(AcstParent_AttrEnum.room_temp.ToString());
- if(tempObj!= null)
+ if (tempObj != null)
{
sensorCount++;
}
var humiObj = function.GetAttribute(AcstParent_AttrEnum.room_humidity.ToString());
- if(humiObj != null)
+ if (humiObj != null)
{
sensorCount++;
}
@@ -338,23 +395,23 @@
if (tempObj != null)
{
- sensorDiyView_Temp = new SensorDiyView(sensorListView, curColor, tempObj.curValue.ToString() + "掳", "娓╁害");
+ sensorDiyView_Temp = new SensorDiyView(sensorListView, curColor, tempObj.state == "" ? "--" : tempObj.state + "掳", "娓╁害");
}
if (humiObj != null)
{
- sensorDiyView_Humi = new SensorDiyView(sensorListView, curColor, humiObj.curValue.ToString() + "%", "婀垮害");
+ sensorDiyView_Humi = new SensorDiyView(sensorListView, curColor, humiObj.state == "" ? "--" : humiObj.state + "%", "婀垮害");
}
if (pm25Obj != null)
{
- sensorDiyView_Pm25 = new SensorDiyView(sensorListView, curColor, pm25Obj.curValue.ToString(), "PM2.5");
+ sensorDiyView_Pm25 = new SensorDiyView(sensorListView, curColor, pm25Obj.state == "" ? "--" : pm25Obj.state, "PM2.5");
}
if (co2Obj != null)
{
- sensorDiyView_Co2 = new SensorDiyView(sensorListView, curColor, co2Obj.curValue.ToString(), "CO2");
+ sensorDiyView_Co2 = new SensorDiyView(sensorListView, curColor, co2Obj.state == "" ? "--" : co2Obj.state, "CO2");
}
if (tvocObj != null)
{
- sensorDiyView_Tvoc = new SensorDiyView(sensorListView, curColor, tvocObj.curValue.ToString(), "TVOC");
+ sensorDiyView_Tvoc = new SensorDiyView(sensorListView, curColor, tvocObj.state == "" ? "--" : tvocObj.state, "TVOC");
}
#endregion
@@ -378,22 +435,22 @@
var energyListView = new HorizontalScrolViewLayout()
{
- Width = Application.GetRealWidth(60 * energyCount),
+ Width = Application.GetRealWidth(100 * energyCount),
Gravity = Gravity.Center,
Visible = false,
};
infoContentView.AddChidren(energyListView);
if (dayObj != null)
{
- sensorDiyView_EleDay = new SensorDiyView(energyListView, curColor, dayObj.curValue.ToString(), "浠婃棩鑰楃數");
+ sensorDiyView_EleDay = new SensorDiyView(energyListView, curColor, dayObj.state == "" ? "--" : dayObj.state + "KW", "浠婃棩鑰楃數",100);
}
if (monthObj != null)
{
- sensorDiyView_EleMonth = new SensorDiyView(energyListView, curColor, monthObj.curValue.ToString(), "鏈湀鑰楃數");
+ sensorDiyView_EleMonth = new SensorDiyView(energyListView, curColor, monthObj.state == "" ? "--" : monthObj.state + "KWh", "鏈湀鑰楃數", 100);
}
if (totalObj != null)
{
- sensorDiyView_EleTotal = new SensorDiyView(energyListView, curColor, totalObj.curValue.ToString(), "鎬昏�楃數閲�");
+ sensorDiyView_EleTotal = new SensorDiyView(energyListView, curColor, totalObj.state == "" ? "--" : totalObj.state + "KWh", "鎬昏�楃數閲�", 100);
}
var btnChangeClick = new Button();
@@ -451,7 +508,7 @@
};
- var btnTitleText = new Button()
+ var btnTitleText2 = new Button()
{
X = btnCollection.Right,
Text = "鎴戠殑瀹跺涵",
@@ -461,7 +518,7 @@
IsBold = true,
Height = Application.GetRealHeight(54),
};
- subTitleView.AddChidren(btnTitleText);
+ subTitleView.AddChidren(btnTitleText2);
int subFunctionCount = 0;
@@ -515,7 +572,7 @@
};
this.AddChidren(bottomView);
- var btnModeControl = new Button()
+ btnModeControl = new Button()
{
X = Application.GetRealWidth(89),
Gravity = Gravity.CenterVertical,
@@ -524,10 +581,15 @@
UnSelectedImagePath = "FunctionIcon/Acst/grey/ModeCoolIcon2.png",
SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeCoolIcon2.png",
TextAlignment = TextAlignment.Center,
+ IsSelected = function.trait_on_off.state == "on"
};
bottomView.AddChidren(btnModeControl);
- btnModeControl.MouseUpEventHandler = (sender, e) =>
+ btnModeControl.MouseUpEventHandler = (sender3, e3) =>
{
+ if(function.trait_on_off.state == "off")
+ {
+ return;
+ }
Dialog dialog = new Dialog();
var dialogView = new FrameLayout();
@@ -539,8 +601,8 @@
var dialogContentView = new FrameLayout() {
X = Application.GetRealWidth(34),
Y = Application.GetRealHeight(291),
- Width = Application.GetRealWidth(144),
- Height = Application.GetRealHeight(291),
+ Width = Application.GetRealWidth(148),
+ Height = Application.GetRealHeight(319),
BackgroundImagePath = "FunctionIcon/Acst/BgChooseMode.png",
};
dialogView.AddChidren(dialogContentView);
@@ -564,26 +626,219 @@
};
titleView.AddChidren(btnTitleText);
+ #region 鍒跺喎
+ var coolView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(2),
+ Y = titleView.Bottom,
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(coolView);
+ coolView.AddChidren(new Button
+ {
+ Width = Application.GetRealWidth(112),
+ Gravity = Gravity.CenterHorizontal,
+ Height = 1,
+ BackgroundColor = CSS.CSS_Color.DividingLineColor,
+ });
+ IconButton coolIconButton = new IconButton("FunctionIcon/Acst/grey/ModeCoolIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeCoolIcon.png",
+ Language.StringByID(StringId.Cool),curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == "cool");
+ coolIconButton.Click(()=> {
+ dialog.Close();
+ btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeCoolIcon2.png";
+ new System.Threading.Thread(() => {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add(AcstParent_AttrEnum.mode.ToString(), AcstParent_Attr_ModeValueEnum.cool.ToString());
+ Control.Ins.SendWriteCommand(function, d);
+ }) { IsBackground = true }.Start();
+ });
+ coolView.AddChidren(coolIconButton);
+ #endregion
+ #region 鍒剁儹
+ var heatView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(2),
+ Y = coolView.Bottom,
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(heatView);
+ heatView.AddChidren(new Button
+ {
+ Width = Application.GetRealWidth(112),
+ Gravity = Gravity.CenterHorizontal,
+ Height = 1,
+ BackgroundColor = CSS.CSS_Color.DividingLineColor,
+ });
+ IconButton heatIconButton = new IconButton("FunctionIcon/Acst/grey/ModeHeatIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeHeatIcon.png",
+ Language.StringByID(StringId.Heat), curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == "heat");
+ heatIconButton.Click(() => {
+ dialog.Close();
+ btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeHeatIcon2.png";
+ new System.Threading.Thread(() => {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add("mode", "heat");
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ });
+ heatView.AddChidren(heatIconButton);
+ #endregion
+ #region 闄ゆ箍
+ var dehumiView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(2),
+ Y = heatView.Bottom,
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(dehumiView);
+ dehumiView.AddChidren(new Button
+ {
+ Width = Application.GetRealWidth(112),
+ Gravity = Gravity.CenterHorizontal,
+ Height = 1,
+ BackgroundColor = CSS.CSS_Color.DividingLineColor,
+ });
+ IconButton dehumiIconButton = new IconButton("FunctionIcon/Acst/grey/ModeDeHumiIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeDeHumiIcon.png",
+ Language.StringByID(StringId.Humidity), curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == AcstParent_Attr_ModeValueEnum.dry.ToString());
+ dehumiIconButton.Click(() => {
+ btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeDeHumiIcon2.png";
+ dialog.Close();
+ new System.Threading.Thread(() => {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add("mode", AcstParent_Attr_ModeValueEnum.dry.ToString());
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ });
+ dehumiView.AddChidren(dehumiIconButton);
+ #endregion
+
+ #region 閫氶
+ var fanView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(2),
+ Y = dehumiView.Bottom,
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(fanView);
+ fanView.AddChidren(new Button
+ {
+ Width = Application.GetRealWidth(112),
+ Gravity = Gravity.CenterHorizontal,
+ Height = 1,
+ BackgroundColor = CSS.CSS_Color.DividingLineColor,
+ });
+ IconButton fanIconButton = new IconButton("FunctionIcon/Acst/grey/ModeFanIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeFanIcon.png",
+ Language.StringByID(StringId.Ventilated), curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == AcstParent_Attr_ModeValueEnum.fan.ToString());
+ fanIconButton.Click(() => {
+ btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeFanIcon2.png";
+ dialog.Close();
+ new System.Threading.Thread(() => {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add("mode", AcstParent_Attr_ModeValueEnum.fan.ToString());
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ });
+ fanView.AddChidren(fanIconButton);
+ #endregion
+
+ #region 鍒剁儹闄ゆ箍
+ var heatHumiView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(2),
+ Y = fanView.Bottom,
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(heatHumiView);
+ heatHumiView.AddChidren(new Button
+ {
+ Gravity = Gravity.CenterHorizontal,
+ Width = Application.GetRealWidth(112),
+ Height = 1,
+ BackgroundColor = CSS.CSS_Color.DividingLineColor,
+ });
+ IconButton heatHumiIconButton = new IconButton("FunctionIcon/Acst/grey/ModeHeatHumiIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeHeatHumiIcon.png",
+ "鍒剁儹闄ゆ箍", curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == AcstParent_Attr_ModeValueEnum.heat_humidity.ToString());
+ heatHumiIconButton.Click(() => {
+ btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeHeatHumiIcon2.png";
+ dialog.Close();
+ new System.Threading.Thread(() => {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add("mode", AcstParent_Attr_ModeValueEnum.heat_humidity.ToString());
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ });
+ heatHumiView.AddChidren(heatHumiIconButton);
+ #endregion
+
+ #region 鍔犳箍
+ var humiView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(2),
+ Y = heatHumiView.Bottom,
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(humiView);
+ humiView.AddChidren(new Button
+ {
+ Width = Application.GetRealWidth(112),
+ Gravity = Gravity.CenterHorizontal,
+ Height = 1,
+ BackgroundColor = CSS.CSS_Color.DividingLineColor,
+ });
+ IconButton humiIconButton = new IconButton("FunctionIcon/Acst/grey/ModeHumiIcon.png", $"FunctionIcon/Acst/{imageFolder}/ModeHumiIcon.png",
+ "鍔犳箍", curColor, function.GetAttrState(AcstParent_AttrEnum.mode.ToString()) == AcstParent_Attr_ModeValueEnum.humidity.ToString());
+ humiIconButton.Click(() => {
+ btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/ModeHumiIcon2.png";
+ dialog.Close();
+ new System.Threading.Thread(() => {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add("mode", AcstParent_Attr_ModeValueEnum.humidity.ToString());
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ });
+ humiView.AddChidren(humiIconButton);
+ #endregion
dialog.Show();
};
- var btnPowerControl = new Button()
+ btnPowerControl = new Button()
{
Gravity = Gravity.Center,
Width = Application.GetRealWidth(38),
Height = Application.GetRealWidth(38),
UnSelectedImagePath = "FunctionIcon/Acst/grey/PowerOffIcon.png",
- SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/PowerOnIcon.png",
+ SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/PowerIcon.png",
TextAlignment = TextAlignment.Center,
+ IsSelected = function.trait_on_off.state == "on"
};
bottomView.AddChidren(btnPowerControl);
+ btnPowerControl.MouseUpEventHandler = (sender, e) => {
+ btnPowerControl.IsSelected = !btnPowerControl.IsSelected;
+
+ new System.Threading.Thread(() => {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add("onoff", btnPowerControl.IsSelected ? "on" : "off");
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ };
- var btnWorkSceneControl = new Button()
+ btnWorkSceneControl = new Button()
{
Gravity = Gravity.CenterVertical,
X = Application.GetRealWidth(249),
@@ -592,8 +847,150 @@
UnSelectedImagePath = "FunctionIcon/Acst/grey/SceneSleepIcon2.png",
SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneSleepIcon2.png",
TextAlignment = TextAlignment.Center,
+ IsSelected = function.trait_on_off.state == "on"
};
bottomView.AddChidren(btnWorkSceneControl);
+
+
+ btnWorkSceneControl.MouseUpEventHandler = (sender2, e2) =>
+ {
+ if (function.trait_on_off.state == "off")
+ {
+ return;
+ }
+ Dialog dialog = new Dialog();
+
+ var dialogView = new FrameLayout();
+ dialog.AddChidren(dialogView);
+ dialogView.MouseUpEventHandler = (sender, e) => {
+ dialog.Close();
+ };
+
+ var dialogContentView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(194),
+ Y = Application.GetRealHeight(419),
+ Width = Application.GetRealWidth(148),
+ Height = Application.GetRealHeight(191),
+ BackgroundImagePath = "FunctionIcon/Acst/BgChooseScene.png",
+ };
+ dialogView.AddChidren(dialogContentView);
+
+ var titleView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(2),
+ Y = Application.GetRealHeight(3),
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(titleView);
+ var btnTitleText = new Button()
+ {
+ X = Application.GetRealWidth(16),
+ Width = Application.GetRealWidth(100),
+ Text = "閫夋嫨鍦烘櫙",
+ TextSize = 16,
+ TextColor = CSS.CSS_Color.FirstLevelTitleColor,
+ IsBold = true,
+ TextAlignment = TextAlignment.CenterLeft,
+ };
+ titleView.AddChidren(btnTitleText);
+
+ #region 鍦ㄥ
+ var atHomeView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(2),
+ Y = titleView.Bottom,
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(atHomeView);
+ atHomeView.AddChidren(new Button
+ {
+ Width = Application.GetRealWidth(112),
+ Gravity = Gravity.CenterHorizontal,
+ Height = 1,
+ BackgroundColor = CSS.CSS_Color.DividingLineColor,
+ });
+ IconButton atHomeIconButton = new IconButton("FunctionIcon/Acst/grey/SceneAtHome.png", $"FunctionIcon/Acst/{imageFolder}/SceneAtHome.png",
+ "鍦ㄥ", curColor, function.GetAttrState(AcstParent_AttrEnum.scene.ToString()) == AcstParent_Attr_SceneValueEnum.at_home.ToString());
+ atHomeIconButton.Click(() => {
+ btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneAtHome2.png";
+ dialog.Close();
+ new System.Threading.Thread(() => {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add(AcstParent_AttrEnum.scene.ToString(), AcstParent_Attr_SceneValueEnum.at_home.ToString());
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ });
+ atHomeView.AddChidren(atHomeIconButton);
+ #endregion
+
+
+ #region 绂诲
+ var awayHomeView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(2),
+ Y = atHomeView.Bottom,
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(awayHomeView);
+ awayHomeView.AddChidren(new Button
+ {
+ Width = Application.GetRealWidth(112),
+ Gravity = Gravity.CenterHorizontal,
+ Height = 1,
+ BackgroundColor = CSS.CSS_Color.DividingLineColor,
+ });
+ IconButton awayHomeIconButton = new IconButton("FunctionIcon/Acst/grey/SceneAwayHomeIcon.png", $"FunctionIcon/Acst/{imageFolder}/SceneAwayHomeIcon.png",
+ "绂诲", curColor, function.GetAttrState(AcstParent_AttrEnum.scene.ToString()) == AcstParent_Attr_SceneValueEnum.leave_home.ToString());
+ awayHomeIconButton.Click(() => {
+ btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneAwayHomeIcon2.png";
+ dialog.Close();
+ new System.Threading.Thread(() => {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add("scene", "leave_home");
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ });
+ awayHomeView.AddChidren(awayHomeIconButton);
+ #endregion
+
+ #region 鐫$湢
+ var sleepView = new FrameLayout()
+ {
+ X = Application.GetRealWidth(2),
+ Y = awayHomeView.Bottom,
+ Width = Application.GetRealWidth(144),
+ Height = Application.GetRealHeight(44),
+ };
+ dialogContentView.AddChidren(sleepView);
+ sleepView.AddChidren(new Button
+ {
+ Height = 1,
+ Gravity = Gravity.CenterHorizontal,
+ Width = Application.GetRealWidth(112),
+ BackgroundColor = CSS.CSS_Color.DividingLineColor,
+ });
+ IconButton sleepIconButton = new IconButton("FunctionIcon/Acst/grey/SceneSleepIcon.png", $"FunctionIcon/Acst/{imageFolder}/SceneSleepIcon.png",
+ Language.StringByID(StringId.Humidity), curColor, function.GetAttrState(AcstParent_AttrEnum.scene.ToString()) == AcstParent_Attr_SceneValueEnum.sleep.ToString());
+ sleepIconButton.Click(() => {
+ btnModeControl.SelectedImagePath = $"FunctionIcon/Acst/{imageFolder}/SceneSleepIcon2.png";
+ dialog.Close();
+ new System.Threading.Thread(() => {
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add("scene", "sleep");
+ Control.Ins.SendWriteCommand(function, d);
+ })
+ { IsBackground = true }.Start();
+ });
+ sleepView.AddChidren(sleepIconButton);
+ #endregion
+ dialog.Show();
+ };
@@ -624,14 +1021,19 @@
private Button btnText;
public string Tag;
- public SensorDiyView(HorizontalScrolViewLayout view,uint color,string value,string text)
+ public SensorDiyView(HorizontalScrolViewLayout view,uint color,string value,string text,int setWidth = 60)
{
+ if (string.IsNullOrEmpty(value))
+ {
+ value = "--";
+ }
+
///榛樿Tag 涓轰紶杩涙潵鐨凾ext
Tag = text;
contentView = new FrameLayout()
{
- Width = Application.GetRealWidth(60),
+ Width = Application.GetRealWidth(setWidth),
Height = Application.GetRealHeight(72),
};
view.AddChidren(contentView);
@@ -673,9 +1075,12 @@
public TextButton btnSubTempValues;
public TextButton btnSubHumidityValues;
public Button btnSubPower;
+ public string Tag;
public AcstSubControlView(Function sub, HorizontalScrolViewLayout subFunctionListView,string imageFolder)
{
+ Tag = sub.sid;
+
var subFunctionView = new FrameLayout()
{
Width = Application.GetRealWidth(177),
@@ -753,7 +1158,28 @@
TextAlignment = TextAlignment.Center,
};
subFunctionView.AddChidren(btnSubPower);
+ btnSubPower.MouseUpEventHandler = (sender, e) => {
+ btnSubPower.IsSelected = !btnSubPower.IsSelected;
+ string onoff = btnSubPower.IsSelected ? "on" : "off";
+ Dictionary<string, string> d = new Dictionary<string, string>();
+ d.Add(FunctionAttributeKey.OnOff, onoff);
+ Control.Ins.SendWriteCommand(sub, d);
+ };
+ EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
+ var page = new AcstSubPage(sub,imageFolder);
+ MainPage.BasePageView.AddChidren(page);
+ page.LoadPage();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ };
+
+ btnRoomInfo.MouseUpEventHandler = eventHandler;
+ btnSubHumidityIcon.MouseUpEventHandler = eventHandler;
+ btnSubHumidityValues.MouseUpEventHandler = eventHandler;
+ btnSubPower.MouseUpEventHandler = eventHandler;
+ btnSubTempIcon.MouseUpEventHandler = eventHandler;
+ btnSubTempValues.MouseUpEventHandler = eventHandler;
+ subFunctionView.MouseUpEventHandler = eventHandler;
}
}
@@ -775,7 +1201,7 @@
btnIcon = new Button()
{
X = Application.GetRealWidth(16),
- Gravity = Gravity.CenterHorizontal,
+ Gravity = Gravity.CenterVertical,
Width = Application.GetRealWidth(24),
Height = Application.GetRealWidth(24),
UnSelectedImagePath = iconPath,
@@ -786,7 +1212,7 @@
btnText = new Button()
{
- X = btnIcon.Right + Application.GetRealWidth(12),
+ X = Application.GetRealWidth(52),
Width = Application.GetRealWidth(90),
TextAlignment = TextAlignment.CenterLeft,
Text = text,
@@ -799,5 +1225,19 @@
}
+
+
+ public void Click(Action action)
+ {
+ view.MouseUpEventHandler = (sender, e) => {
+ action();
+ };
+ btnText.MouseUpEventHandler = (sender, e) => {
+ action();
+ };
+ btnIcon.MouseUpEventHandler = (sender, e) => {
+ action();
+ };
+ }
}
}
--
Gitblit v1.8.0