From cbc156bc38d8b8eae7aef60cb186ab2b52fa701f Mon Sep 17 00:00:00 2001
From: wxr <wxr@hdlchina.com.cn>
Date: 星期二, 16 七月 2024 13:59:56 +0800
Subject: [PATCH] 增加全部挂断

---
 HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs |   41 ++++++++++++++++++++++++++++++++++-------
 1 files changed, 34 insertions(+), 7 deletions(-)

diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs
index 72ba698..a3fb826 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/SocketPage.cs
@@ -59,7 +59,7 @@
             FrameLayout controlView = new FrameLayout()
             {
                 Gravity = Gravity.CenterHorizontal,
-                Y = Application.GetRealHeight(88),
+                Y = Application.GetRealHeight(88 + 10),
                 Width = Application.GetRealWidth(327),
                 Height = Application.GetRealHeight(526),
                 BackgroundImagePath = "Public/Fragmentbg.png",
@@ -154,7 +154,8 @@
                     TextAlignment = TextAlignment.Center,
                     TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                     TextColor = CSS_Color.TextualColor,
-                    TextID = StringId.InstantaneousValue
+                    TextID = StringId.InstantaneousValue,
+                    IsMoreLines = true
                 };
                 controlView.AddChidren(btnInstantaneousValueText);
                 EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
@@ -179,7 +180,7 @@
                     Text = function.GetAttrState("total_electricity"),
                     TextAlignment = TextAlignment.BottomLeft,
                 };
-                btnTotalElectricity.Width = btnTotalElectricity.GetTextWidth();
+                btnTotalElectricity.Width = btnTotalElectricity.GetTextWidth()+ Application.GetRealWidth(5);
                 controlView.AddChidren(btnTotalElectricity);
                 var btnTotalElectricityUnit = new Button()
                 {
@@ -198,12 +199,13 @@
                 {
                     X = Application.GetRealWidth(200),
                     Y = btnTotalElectricity.Bottom,
-                    Width = Application.GetRealWidth(235),
+                    Width = Application.GetRealWidth(100),
                     Height = Application.GetRealHeight(29),
                     TextAlignment = TextAlignment.CenterLeft,
                     TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                     TextColor = CSS_Color.TextualColor,
-                    TextID = StringId.CumulativePowerConsumption
+                    TextID = StringId.CumulativePowerConsumption,
+                    IsMoreLines = true
                 };
                 controlView.AddChidren(btnTotalElectricityText);
                 EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
@@ -288,28 +290,53 @@
         {
             btnSwitchIcon.MouseUpEventHandler += (sender, e) =>
             {
+                if (!function.isOnline())
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 btnSwitchIcon.IsSelected = btnSwitch.IsSelected = !btnSwitchIcon.IsSelected;
 
                 new System.Threading.Thread(() =>
                 {
                     function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
-                    //Control.Send(CommandType_A.write, this.function);
                     System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                     d.Add("on_off", function.trait_on_off.curValue.ToString());
+                    if (function.attributes.Find((obj) => obj.key == "on_off_usb") != null) {
+                        d.Add("on_off_usb", function.trait_on_off.curValue.ToString());
+                    }
                     Control.Ins.SendWriteCommand(function, d);
                 })
                 { IsBackground = true }.Start();
             };
             btnSwitch.MouseUpEventHandler += (sender, e) =>
             {
+                if (!function.isOnline())
+                {
+                    new Tip()
+                    {
+                        CloseTime = 1,
+                        Text = Language.StringByID(StringId.DeviceOfflineCannotOption),
+                        Direction = AMPopTipDirection.None,
+                    }.Show(MainPage.BaseView);
+                    return;
+                }
                 btnSwitch.IsSelected = btnSwitchIcon.IsSelected = !btnSwitch.IsSelected;
 
                 new System.Threading.Thread(() =>
                 {
                     function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off";
-                    //Control.Send(CommandType_A.write, this.function);
                     System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>();
                     d.Add("on_off", function.trait_on_off.curValue.ToString());
+                    if (function.attributes.Find((obj) => obj.key == "on_off_usb") != null)
+                    {
+                        d.Add("on_off_usb", function.trait_on_off.curValue.ToString());
+                    }
                     Control.Ins.SendWriteCommand(function, d);
                 })
                 { IsBackground = true }.Start();

--
Gitblit v1.8.0