JLChen
2021-07-06 d72ca686a3e262693f8a6e45e747e8e8da43335b
HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -113,6 +113,7 @@
        public void LoadPage()
        {
            MainPage.CurPageIndex = 0;
            try
            {
                this.BeginHeaderRefreshingAction = () =>
@@ -172,12 +173,7 @@
                //搜索网关
                btnResidenceName.MouseUpEventHandler = (sender, e) =>
                {
                    System.Threading.Tasks.Task.Run(() =>
                        {
                            //DriverLayer.Control.Ins.SearchLoaclGateway();
                            //MainPage.InitializationData();
                            //DriverLayer.Control.Ins.IsRemote = true;
                        });
                };
#endif
@@ -330,14 +326,15 @@
                btnChangeFunction = new Button()
                {
                    Width = Application.GetRealWidth(114),
                    X = Application.GetRealWidth(10),
                    Width = Application.GetRealWidth(114-10),
                    TextID = StringId.Functions,
                    SelectedTextColor = CSS_Color.MainColor,
                    TextColor = CSS_Color.PromptingColor1,
                    TextSize = CSS_FontSize.HeadlineFontSize,
                    TextAlignment = TextAlignment.Center,
                    IsSelected = true,
                    IsBold = true
                    IsBold = true,
                };
                changeView.AddChidren(btnChangeFunction);
@@ -354,7 +351,7 @@
                btnChangeScene = new Button()
                {
                    X = btnLine.Right,
                    Width = Application.GetRealWidth(114),
                    Width = Application.GetRealWidth(114-10),
                    TextID = StringId.Scenes,
                    SelectedTextColor = CSS_Color.MainColor,
                    TextColor = CSS_Color.PromptingColor1,
@@ -463,7 +460,6 @@
        /// </summary>
        void LoadDeviceFunctionControlZone()
        {
            #region ContextView
            deviceFunctionView.RemoveAll();
            functionViews.Clear();
@@ -471,12 +467,18 @@
            try
            {
                int index = 0;
                foreach (var function in FunctionList.List.GetDeviceFunctionList())
                var list = FunctionList.List.GetDeviceFunctionList();
                foreach (var function in list)
                {
                    //音乐模块有主从关系,需要特殊处理
                    if (function.functionCategory == FunctionCategory.Music)
                    if (function.Spk_Prefix == FunctionCategory.Music)
                    {
                        var music = function as Music.A31MusicModel;
                        //var music = function as Music.A31MusicModel;
                        var music = Music.A31MusicModel.A31MusicModelList.Find((obj) => obj.sid == function.sid);
                        if (music == null)
                        {
                            continue;
                        }
                        if (music.ServerClientType == -1)
                        {
                            continue;
@@ -744,8 +746,9 @@
                }
                LoadEvent_FunctionCollection(btnCollection, function);
                if (function.functionCategory == FunctionCategory.Curtain)
                if (//SPK.CurtainSpkList().Contains(function.spk))
                    function.spk == SPK.CurtainRoller || function.spk == SPK.CurtainShades ||
                    function.spk == SPK.CurtainSwitch || function.spk == SPK.CurtainTrietex )
                {
                    btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainIcon.png";
                    btnIcon.SelectedImagePath = "FunctionIcon/Curtain/CurtainOnIcon.png";
@@ -773,26 +776,26 @@
                    };
                    view.AddChidren(btnCurtainOpen);
                    LoadEvent_ControlCurtain(function as Curtain, btnCurtainClose, btnCurtainOpen);
                    LoadEvent_ControlCurtain(function, btnCurtainClose, btnCurtainOpen);
                }
                else if (function.functionType == FunctionType.TV)
                else if (function.spk == SPK.ElectricTV || function.spk == SPK.TvIr)
                {
                    btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/TVIcon.png";
                    Button btnPower;
                    btnPower = new Button()
                    {
                        X = Application.GetRealWidth(131),
                        Y = Application.GetRealHeight(86),
                        Y = Application.GetRealHeight(70),
                        Width = Application.GetRealWidth(32),
                        Height = Application.GetRealWidth(32),
                        UnSelectedImagePath = "Public/PowerClose.png",
                    };
                    view.AddChidren(btnPower);
                    LoadEvent_ControlTV(function as TV, btnPower);
                    LoadEvent_ControlTV(function, btnPower);
                }
                else if (function.functionCategory == FunctionCategory.Music)
                else if (function.spk == SPK.MusicStandard)
                {
                    btnIcon.UnSelectedImagePath = "FunctionIcon/Music/MusicIcon.png";
                    btnIcon.SelectedImagePath = "FunctionIcon/Music/MusicOnIcon.png";
@@ -815,7 +818,8 @@
                    //Music.SendMethod.ReadStatus(a31player);
                    btnPower.MouseUpEventHandler = (sender, e) => {
                    btnPower.MouseUpEventHandler = (sender, e) =>
                    {
                        if (btnPower.IsSelected)
                        {
                            btnPower.IsSelected = false;
@@ -834,6 +838,39 @@
                    };
                }
                else if (function.spk == SPK.ClothesHanger)
                {
                    btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerBlueIcon.png";
                    btnIcon.SelectedImagePath = "FunctionIcon/Electrical/Curtain/ClothesHangerBlueIcon.png";
                    Button btnUp;
                    btnUp = new Button()
                    {
                        X = Application.GetRealWidth(84+3),
                        Y = Application.GetRealWidth(89),
                        Width = Application.GetRealWidth(38),
                        Height = Application.GetRealWidth(38),
                        UnSelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerUpIcon2.png",
                        SelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerUpIcon2On.png",
                    };
                    view.AddChidren(btnUp);
                    Button btnDown;
                    btnDown = new Button()
                    {
                        X = btnUp.Right + Application.GetRealWidth(3),
                        Y = Application.GetRealWidth(89),
                        Width = Application.GetRealWidth(38),
                        Height = Application.GetRealWidth(38),
                        UnSelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerDownIcon2.png",
                        SelectedImagePath = "FunctionIcon/Electrical/ClothesHanger/ClothesHangerDownIcon2On.png",
                    };
                    view.AddChidren(btnDown);
                    LoadEvent_ControlClothesHanger(function, btnUp, btnDown);
                }
                else
                {
                    Button btnSwitch;
@@ -848,57 +885,68 @@
                    };
                    view.AddChidren(btnSwitch);
                    switch (function.functionCategory)
                    {
                        case FunctionCategory.Light:
                            #region 灯光 Light
                            btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightIcon.png";
                            btnIcon.SelectedImagePath = "FunctionIcon/Light/LightOnIcon.png";
                            UpdataFunctionStates(function as Light);
                            #endregion
                            break;
                        case FunctionCategory.Thermostat:
                            switch (function.functionType)
                            {
                                case FunctionType.AC:
                                    #region 空调 AC
                                    btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcIcon.png";
                                    btnIcon.SelectedImagePath = "FunctionIcon/AC/AcOnIcon.png";
                                    #endregion
                                    break;
                                case FunctionType.FloorHeating:
                                    #region 地热
                                    btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingIcon.png";
                                    btnIcon.SelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingOnIcon.png";
                                    #endregion
                                    break;
                            }
                            break;
                        case FunctionCategory.SwitchDevice:
                            switch (function.functionType)
                            {
                                case FunctionType.Socket:
                                    btnIcon.UnSelectedImagePath = "FunctionIcon/Socket/SocketIcon.png";
                                    btnIcon.SelectedImagePath = "FunctionIcon/Socket/SocketOnIcon.png";
                                    break;
                            }
                            break;
                        case FunctionCategory.Electrical:
                            switch (function.functionType)
                            {
                                case FunctionType.Fan:
                                    btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/FanIcon.png";
                                    btnIcon.SelectedImagePath = "FunctionIcon/Electrical/FanOnIcon.png";
                                    break;
                            }
                            break;
                    }
                    btnIcon.UnSelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_blue.png";
                    btnIcon.SelectedImagePath = $"FunctionIcon/Icon/HomeIcon/{function.IconName}_white.png";
                    //switch (function.Spk_Prefix)
                    //{
                    //    //todo 增加设备,主页收藏图标
                    //    case FunctionCategory.Light:
                    //        #region 灯光 Light
                    //        btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightIcon.png";
                    //        btnIcon.SelectedImagePath = "FunctionIcon/Light/LightOnIcon.png";
                    //        UpdataFunctionStates(function);
                    //        #endregion
                    //        break;
                    //    case FunctionCategory.AC:
                    //        #region 空调 AC
                    //        btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcIcon.png";
                    //        btnIcon.SelectedImagePath = "FunctionIcon/AC/AcOnIcon.png";
                    //        #endregion
                    //        break;
                    //    case FunctionCategory.FloorHeat:
                    //        #region 地热
                    //        btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingIcon.png";
                    //        btnIcon.SelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingOnIcon.png";
                    //        #endregion
                    //        break;
                    //    case FunctionCategory.Electric:
                    //        switch (function.spk)
                    //        {
                    //            case SPK.ElectricSocket:
                    //                btnIcon.UnSelectedImagePath = "FunctionIcon/Socket/SocketIcon.png";
                    //                btnIcon.SelectedImagePath = "FunctionIcon/Socket/SocketOnIcon.png";
                    //                break;
                    //            case SPK.ElectricFan:
                    //                btnIcon.UnSelectedImagePath = "FunctionIcon/Electrical/FanIcon.png";
                    //                btnIcon.SelectedImagePath = "FunctionIcon/Electrical/FanOnIcon.png";
                    //                break;
                    //            case SPK.ElectricTuyaAirCleaner:
                    //                btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/AirCleanerIcon.png";
                    //                btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/AirCleanerIconOn.png";
                    //                break;
                    //            case SPK.ElectricTuyaFan:
                    //                btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/FanIcon.png";
                    //                btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/FanIconOn.png";
                    //                break;
                    //            case SPK.ElectricTuyaWaterValve:
                    //                btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/WaterValveIcon.png";
                    //                btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/WaterValveIconOn.png";
                    //                break;
                    //            case SPK.ElectricTuyaWeepRobot:
                    //                btnIcon.SelectedImagePath = "FunctionIcon/HomePageIcon/WeepRobotIcon.png";
                    //                btnIcon.UnSelectedImagePath = "FunctionIcon/HomePageIcon/WeepRobotIconOn.png";
                    //                break;
                    //        }
                    //        break;
                    //}
                    LoadEvent_SwitchFunction(function, btnSwitch);
                }
                //取消收藏事件
                Action cannelCollect = () => {
                    function.collect = false;
                    if (function.functionCategory == FunctionCategory.Music)//处理音乐主从关系
                    if (function.Spk_Prefix == FunctionCategory.Music)//处理音乐主从关系
                    {
                        if ((function as Music.A31MusicModel).ServerClientType == 1)
                        {
@@ -911,13 +959,14 @@
                    function.CollectFunction();
                };
                var skipControlPageEvent = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollection, btnName, btnZone);
                view.MouseUpEventHandler = skipControlPageEvent;
                btnName.MouseUpEventHandler = skipControlPageEvent;
                btnIcon.MouseUpEventHandler = skipControlPageEvent;
                btnState.MouseUpEventHandler = skipControlPageEvent;
                //电视不需要更新状态
                if(function.functionType!= FunctionType.TV)
                if(function.spk!= SPK.ElectricTV)
                {
                    UpdataFunctionStates(function);
                }