| | |
| | | |
| | | namespace HDL_ON.UI |
| | | { |
| | | |
| | | |
| | | public partial class HomePage |
| | | { |
| | | /// <summary> |
| | | /// 更新主页天气 |
| | | /// </summary> |
| | | public static void LoadEvent_RefreshAir() |
| | | { |
| | | bodyView.btnTempValues.Text = MainPage.cityInfo.temperature == null ? "--" : MainPage.cityInfo.temperature; |
| | | bodyView.btnHumidityValues.Text = MainPage.cityInfo.humidity == null ? "--" : MainPage.cityInfo.humidity; |
| | | bodyView.btnPm25Values.Text = MainPage.cityInfo.pm25 == null ? "--" : MainPage.cityInfo.pm25; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 加载功能收藏按钮事件 |
| | | /// </summary> |
| | | void LoadEvent_FunctionCollection(Button btn,Function function,bool isDevice) |
| | | { |
| | | btn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | function.collection = false; |
| | | string msg = function.name + Language.StringByID(StringId.CollectionCancelled); |
| | | if (isDevice) |
| | | { |
| | | LoadDeviceFunctionControlZone(); |
| | | } |
| | | else |
| | | { |
| | | LoadSceneFunctionControlZone(); |
| | | } |
| | | DB_ResidenceData.residenceData.SaveResidenceData(); |
| | | new PublicAssmebly().TipMsgAutoClose(msg, true,1000); |
| | | }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 修改显示的功能类型 |
| | |
| | | /// </summary> |
| | | void LoadEvent_ChangeShowedFunctionType() |
| | | { |
| | | btnChangeFunction.MouseUpEventHandler = (sender, e) => { |
| | | btnChangeFunction.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | btnChangeFunction.IsSelected = true; |
| | | btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize; |
| | | btnChangeFunction.IsBold = true; |
| | |
| | | contentView.PageIndex = 0; |
| | | }; |
| | | |
| | | btnChangeScene.MouseUpEventHandler = (sender, e) => { |
| | | btnChangeScene.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | btnChangeScene.IsSelected = true; |
| | | btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize; |
| | | btnChangeScene.IsBold = true; |
| | |
| | | contentView.PageIndex = 1; |
| | | }; |
| | | |
| | | contentView.PageChange = (sender, e) => { |
| | | contentView.PageChange = (sender, e) => |
| | | { |
| | | if (contentView.PageIndex == 0) |
| | | { |
| | | btnChangeFunction.IsSelected = true; |
| | |
| | | }; |
| | | } |
| | | |
| | | |
| | | |
| | | /// <summary> |
| | | /// 更新灯光显示状态 |
| | | /// 更新显示状态 |
| | | /// </summary> |
| | | /// <param name="light"></param> |
| | | public static void UpdataLightView(Light light) |
| | | public static void UpdataFunctionStates(Function function) |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | if (bodyView != null) |
| | | try |
| | | { |
| | | foreach (var dic in LightViews) |
| | | if (bodyView != null) |
| | | { |
| | | if (dic.Key == light.sid) |
| | | foreach (var view in bodyView.functionViews) |
| | | { |
| | | var state = light.state == 1; |
| | | var view = dic.Value; |
| | | for (int i = 0; i < view.ChildrenCount; i++) |
| | | if (view.Tag.ToString() == function.sid) |
| | | { |
| | | if (view.GetChildren(i).GetType() == typeof(Button)) |
| | | var state = function.on_off == "on"; |
| | | for (int i = 0; i < view.ChildrenCount; i++) |
| | | { |
| | | var btn = view.GetChildren(i) as Button; |
| | | btn.IsSelected = state; |
| | | if (btn.Tag != null && btn.Tag.ToString() == "state") |
| | | if (view.GetChildren(i).GetType() == typeof(Button)) |
| | | { |
| | | btn.Text = light.lastState; |
| | | var btn = view.GetChildren(i) as Button; |
| | | btn.IsSelected = state; |
| | | if (btn.Tag != null && btn.Tag.ToString() == "state") |
| | | { |
| | | btn.Text = function.lastState; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | MainPage.Log($"HomePage updata funciton states error {ex.Message}"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 加载继电器开关事件 |
| | | /// 加载场景控制事件 |
| | | /// </summary> |
| | | void LoadEvent_ControlScene(Button btnCoverd ,Function function) |
| | | { |
| | | btnCoverd.MouseDownEventHandler = (sender, e) => |
| | | { |
| | | btnCoverd.IsSelected = true; |
| | | }; |
| | | btnCoverd.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | string msg = function.name + Language.StringByID(StringId.AlreadyOpened); |
| | | new PublicAssmebly().TipMsgAutoClose(msg, true); |
| | | Control.Send(function as Scene); |
| | | }; |
| | | |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 加载灯光开关事件 |
| | | /// </summary> |
| | | /// <param name="function"></param> |
| | | /// <param name="btnSwitch"></param> |
| | | /// <param name="view"></param> |
| | | void LoadRelaySwitchEvent(Function function,Button btnSwitch,FrameLayout view) |
| | | void LoadEvent_SwitchFunction(Function function, Button btnSwitch) |
| | | { |
| | | |
| | | btnSwitch.MouseUpEventHandler += (sender, e) => |
| | | btnSwitch.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | if (function.functionCategory == FunctionType.Light) |
| | | btnSwitch.IsSelected = !btnSwitch.IsSelected; |
| | | new System.Threading.Thread(() => |
| | | { |
| | | var curState = !btnSwitch.IsSelected; |
| | | for (int i = 0; i < view.ChildrenCount; i++) |
| | | { |
| | | if (view.GetChildren(i).GetType() == typeof(Button)) |
| | | { |
| | | var btn = view.GetChildren(i) as Button; |
| | | btn.IsSelected = curState; |
| | | } |
| | | } |
| | | new System.Threading.Thread(() => |
| | | { |
| | | var light = function as Light; |
| | | light.state = btnSwitch.IsSelected ? 1 : 0; |
| | | Control.Send("write", function, 3); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | function.on_off = btnSwitch.IsSelected ? "on" : "off"; |
| | | Control.Send(CommandType_A.write, function); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | }; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 加载窗帘控制事件 |
| | | /// </summary> |
| | | void LoadEvent_ControlCurtain(Curtain curtain, Button btnClose, Button btnOpen) |
| | | { |
| | | btnClose.MouseDownEventHandler = (sender, e) => |
| | | { |
| | | btnClose.IsSelected = true; |
| | | }; |
| | | btnClose.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | btnClose.IsSelected = false; |
| | | curtain.on_off = "off"; |
| | | Control.Send(CommandType_A.write, curtain); |
| | | }; |
| | | |
| | | btnOpen.MouseDownEventHandler = (sender, e) => |
| | | { |
| | | btnOpen.IsSelected = true; |
| | | }; |
| | | btnOpen.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | btnOpen.IsSelected = false; |
| | | curtain.on_off = "on"; |
| | | Control.Send(CommandType_A.write, curtain); |
| | | }; |
| | | } |
| | | |
| | | } |
| | | } |