陈嘉乐
2020-06-24 adb12dcdbb2ddaeac687c3aa9e57bb7ed459ab7e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
using System;
using System.Collections.Generic;
using Shared.Common;
 
namespace Shared.Phone.Category
{
    public class SelectHouseForm : UserCenter.FrameLayoutBase
    {
        public Action<string> HouseAction;
 
        Dialog dialogBackground;
        /// <summary>
        /// Init
        /// </summary>
        public void Init()
        {
            dialogBackground = new Dialog
            {
                BackgroundColor = ZigbeeColor.Current.GXCDailogBackGroundColor
            };
            dialogBackground.Show();
            var dialog = new FrameLayout()
            {
            };
            dialogBackground.AddChidren(dialog);
 
            dialog.MouseUpEventHandler += (sender, e) =>
            {
                RemoveView();
            };
 
            var bg = new Button
            {
                X = Application.GetRealWidth(35),
                Y = Application.GetRealHeight(256),
                Width = this.GetPictrueRealSize(449),
                Height = this.GetPictrueRealSize(773),
                UnSelectedImagePath = "Floor/SelectFloor_Left_4.png"
            };
            dialog.AddChidren(bg);
 
            var changeHomeFL = new FrameLayout()
            {
                X = Application.GetRealWidth(35),
                Y = Application.GetRealHeight(256+23),
                Width = this.GetPictrueRealSize(449),
                Height = this.GetPictrueRealSize(773 - 23)
            };
            dialog.AddChidren(changeHomeFL);
 
            var changeHomeBtn = new Button()
            {
                X = Application.GetRealWidth(80),
                Width = this.GetPictrueRealSize(350),
                Height = this.GetPictrueRealSize(150),
                TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                TextID = R.MyInternationalizationString.ChangeHome,
                TextAlignment = TextAlignment.CenterLeft,
                TextSize = 14,
                IsBold = true
            };
            changeHomeFL.AddChidren(changeHomeBtn);
 
            var scrolView = new VerticalScrolViewLayout()
            {
                Y = changeHomeBtn.Bottom,
                Width = this.GetPictrueRealSize(449),
                Height = this.GetPictrueRealSize(600),
                VerticalScrollBarEnabled = false
            };
            changeHomeFL.AddChidren(scrolView);
 
            var houseCount = Config.Instance.HomeFilePathList.Count;
            if (Config.Instance.HomeFilePathList.Count > 0)
            {
                if (houseCount > 5)
                {
                    bg.UnSelectedImagePath = $"Floor/SelectFloor_Left_5.png";
                    bg.Height = this.GetPictrueRealSize(150 * 6 + 23);
                    changeHomeFL.Height = this.GetPictrueRealSize(150 * 6);
                    scrolView.Height = this.GetPictrueRealSize(150 * 5);
                }
                else
                {
                    bg.UnSelectedImagePath = $"Floor/SelectFloor_Left_{houseCount}.png";
                    bg.Height = this.GetPictrueRealSize(150 * (houseCount + 1) + 23);
                    changeHomeFL.Height = this.GetPictrueRealSize(150 * (houseCount + 1));
                    scrolView.Height = this.GetPictrueRealSize(150 * houseCount);
                }
 
                foreach (var housePath in Config.Instance.HomeFilePathList)
                {
                    var home = UserCenter.HdlResidenceLogic.Current.GetHouseByFilePath(housePath);
                    if (home == null)
                    {
                        continue;
                    }
                    AddFloor(scrolView, home);
                }
            }
        }
 
        /// <summary>
        /// AddFloor
        /// </summary>
        /// <param name="verticalScrolView"></param>
        private void AddFloor(VerticalScrolViewLayout verticalScrolView, House house)
        {
            var frow = new Device.CommonForm.LeftIconButtonRow(449, 150);
            frow.Width = this.GetPictrueRealSize(449);
            frow.Height = this.GetPictrueRealSize(150);
            frow.Tag = house.FileName;
            frow.Init("Item/House.png", "Item/HouseSelected.png", house.Name);
            verticalScrolView.AddChidren(frow);
            if (Config.Instance.HomeId == house.Id)
            {
                frow.IsSelected = true;
            }
 
            frow.ButtonClickEvent += SelectFloor_MouseUpEvent;
        }
 
        /// <summary>
        /// SelectFloor_MouseUpEvent
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="mouseEventArgs"></param>
        private void SelectFloor_MouseUpEvent(object sender, MouseEventArgs mouseEventArgs)
        {
            (sender as Device.CommonForm.LeftIconButtonRow).IsSelected = true;
            var home = UserCenter.HdlResidenceLogic.Current.GetHouseByFilePath((sender as Device.CommonForm.LeftIconButtonRow).Tag.ToString());
            RemoveView();
            HouseAction?.Invoke(home.Id);
        }
 
        /// <summary>
        /// RemoveView
        /// </summary>
        private void RemoveView()
        {
            dialogBackground.Close();
            RemoveFromParent();
        }
    }
}