From ba9e028d73bab5b7a0f000d11b39460d2b57707a Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期五, 19 三月 2021 18:07:10 +0800 Subject: [PATCH] 2021-3-19-2 --- HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs | 401 ++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 242 insertions(+), 159 deletions(-) diff --git a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs index d2e068c..8f38cfb 100644 --- a/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs +++ b/HDL_ON/UI/UI2/4-PersonalCenter/PirDevice/PirMain.cs @@ -12,206 +12,288 @@ Tag = "PirMain"; } /// <summary> + /// 鍥炶皟 + /// </summary> + public Action BackAction; + /// <summary> /// 涓存椂鍌ㄥ瓨璁惧绫诲瀷鍒楄〃 /// </summary> List<DeviceType> DeviceTypeList = new List<DeviceType>(); - public void Show(Entity.Function function) + public void Show() { - #region 鐣岄潰甯冨眬 this.BackgroundColor = CSS.CSS_Color.viewMiddle; PirDevice.View.TopView topView = new View.TopView(); topView.topNameBtn.TextID = StringId.hongwaiyaokong; + topView.topIconBtn.Visible = true; this.AddChidren(topView.FLayoutView()); - topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { this.RemoveFromParent(); }; + topView.clickBackBtn.MouseUpEventHandler += (sender, e) => { + BackAction(); + this.RemoveFromParent(); }; + FrameLayout middFLayout = new FrameLayout(); middFLayout.Y = Application.GetRealHeight(64); middFLayout.Height = Application.GetRealHeight(667 - 64); this.AddChidren(middFLayout); - View.MainView mainView = new View.MainView(); - mainView.Show(middFLayout); - FrameLayout deviceListFLayout = new FrameLayout(); - deviceListFLayout.Y = mainView.pirDeviceFLayout.Bottom + Application.GetRealHeight(12); - deviceListFLayout.X = Application.GetRealWidth(16); - deviceListFLayout.Width = Application.GetRealWidth(343); - deviceListFLayout.Height = Application.GetRealHeight(328); - deviceListFLayout.BackgroundColor = CSS.CSS_Color.view; - deviceListFLayout.Radius = (uint)Application.GetRealHeight(12); - middFLayout.AddChidren(deviceListFLayout); - ///娣诲姞閬ユ帶鍣� - Button text3Btn = new Button - { - Y = Application.GetRealHeight(11), - X = Application.GetRealWidth(16), - Width = Application.GetRealWidth(100), - Height = Application.GetRealHeight(20), - TextSize = TextSize.text14, - TextColor = CSS.CSS_Color.textConfirmColor, - TextAlignment = TextAlignment.CenterLeft, - TextID = StringId.tianjiayaokongqi, - IsBold = true, - }; - deviceListFLayout.AddChidren(text3Btn); - ///绾㈠瀹濆悕绉� - Button deviceNameBtn = new Button - { - Y = Application.GetRealHeight(13), - X = Application.GetRealWidth(161), - Width = Application.GetRealWidth(150), - Height = Application.GetRealHeight(17), - TextSize = TextSize.text12, - TextColor = CSS.CSS_Color.textColor, - TextAlignment = TextAlignment.CenterRight, - Text = "mini鏅鸿兘閬ユ帶鍣�", - }; - deviceListFLayout.AddChidren(deviceNameBtn); - //涓嬫媺鍥炬爣 - var dropdownIconBtn = new Button + VerticalRefreshLayout vv = new VerticalRefreshLayout(); + middFLayout.AddChidren(vv); + //鍔犲彿鍥炬爣 + Button addDevice = new Button { - Y = Application.GetRealHeight(13), - X = Application.GetRealWidth(343 - 8 - 16), - Width = Application.GetRealWidth(16), - Height = Application.GetRealWidth(16), - UnSelectedImagePath = "PirIcon/dropdown.png", + Y = Application.GetRealHeight(480), + X = Application.GetRealWidth(293), + Width = Application.GetRealWidth(82), + Height = Application.GetRealWidth(84), + UnSelectedImagePath = "PirIcon/add.png", }; - deviceListFLayout.AddChidren(dropdownIconBtn); - #endregion - if (Pir.pirDeviceList.Count != 0) + if (Pir.currPir.FunctioList.Count < 10) { - - //if (function != null) - //{ - // Pir pir = new Pir(); - // pir.name = function.name; - // pir.deviceId = function.deviceId; - // pir.sid = function.sid; - // Pir.currPir = pir; - //} - //else - //{ - // Pir.currPir = Pir.pirDeviceList[0]; - //} - //榛樿绗竴涓孩澶栧疂 - Pir.currPir = Pir.pirDeviceList[0]; - int sum = 0; - for (int i = 0; i < Pir.pirDeviceList.Count; i++) - { - //鏌ユ壘 - sum += Pir.pirDeviceList[i].FunctioList.Count; - } - deviceNameBtn.Text = Pir.pirDeviceList[0].name; - mainView.numberDeviceBtn.Text = Pir.pirDeviceList.Count.ToString() + Language.StringByID(StringId.ge); - mainView.currDeviceNumberControlBtn.Text = sum.ToString() + Language.StringByID(StringId.ge); + //10涓仴鎺у櫒灏变細闅愯棌娣诲姞鍥炬爣 + middFLayout.AddChidren(addDevice); } - ///璁惧绠$悊鐨勭偣鍑讳簨浠� - mainView.clickBtn.MouseUpEventHandler += (sender, e) => + vv.BeginHeaderRefreshingAction += () => + { + ////鍏抽棴鍒锋柊View锛� + vv.EndHeaderRefreshing(); + + Method.GetControlList(this, () => + { + Application.RunOnMainThread(() => + { + //鍒锋柊鐣岄潰 + UIView(vv); + }); + }, Pir.currPir); + + }; + UIView(vv); + + topView.clickSetBtn.MouseUpEventHandler += (sender, e) => { - DeviceSet deviceSet = new DeviceSet(); - MainPage.BasePageView.AddChidren(deviceSet); - deviceSet.Show(() => + SetPir setPir = new SetPir(); + MainPage.BasePageView.AddChidren(setPir); + setPir.Show(() => { - if (Pir.currPir != null) - { - deviceNameBtn.Text = Pir.currPir.name; - mainView.numberDeviceBtn.Text = Pir.pirDeviceList.Count.ToString() + Language.StringByID(StringId.ge); - } - int sum = 0; - for (int i = 0; i < Pir.pirDeviceList.Count; i++) - { - sum += Pir.pirDeviceList[i].FunctioList.Count; - } - mainView.currDeviceNumberControlBtn.Text = sum.ToString() + Language.StringByID(StringId.ge); - - + BackAction(); + ////鍒锋柊鐣岄潰 + UIView(vv); }); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; }; - ///绾㈠鍚嶇О鐨勭偣鍑讳簨浠� - deviceNameBtn.MouseUpEventHandler += (sender, e) => + addDevice.MouseUpEventHandler += (sender, e) => { - View.HeigthChangeView heigthChangeView = new View.HeigthChangeView(); - heigthChangeView.Show(this, Pir.pirDeviceList, (pirJson) => + FrameLayout frame = new FrameLayout { - deviceNameBtn.Text = pirJson.name; - Pir.currPir = pirJson; - }); - }; - - int line = 0; - for (int i = 1, j = 0; i <= 7; i++, j++) - { - var currpirdeviceFLayout = new FrameLayout - { - Width = Application.GetRealWidth(80), - Height = Application.GetRealWidth(80), - X = Application.GetRealWidth(26 + (80 + 25) * j), - Y = Application.GetRealHeight(52 + (80 + 12) * line), - + BackgroundColor = CSS.CSS_Color.viewTrans60lucence, }; - deviceListFLayout.AddChidren(currpirdeviceFLayout); - var deviceIconBtn = new Button + this.AddChidren(frame); + FrameLayout controlFl = new FrameLayout(); + controlFl.Y = Application.GetRealHeight(319); + controlFl.X = Application.GetRealWidth(16); + controlFl.Width = Application.GetRealWidth(343); + controlFl.Height = Application.GetRealHeight(328); + controlFl.BackgroundColor = CSS.CSS_Color.view; + controlFl.Radius = (uint)Application.GetRealHeight(12); + frame.AddChidren(controlFl); + ///娣诲姞閬ユ帶鍣� + Button text3Btn = new Button { - Y = Application.GetRealHeight(8), - X = Application.GetRealWidth(20), - Width = Application.GetRealWidth(40), - Height = Application.GetRealWidth(40), - UnSelectedImagePath = "PirIcon/Infraredtreasure.png", - }; - currpirdeviceFLayout.AddChidren(deviceIconBtn); - var iconNameBtn = new Button - { - Y = deviceIconBtn.Bottom + Application.GetRealHeight(8), - Width = Application.GetRealWidth(80), - Height = Application.GetRealHeight(17), - TextSize = TextSize.text12, - TextColor = CSS.CSS_Color.TextualColor, + Y = Application.GetRealHeight(12), + X = Application.GetRealWidth(16), + Width = Application.GetRealWidth(343 - 16 * 2), + Height = Application.GetRealHeight(20), + TextSize = TextSize.text14, + TextColor = CSS.CSS_Color.textConfirmColor, TextAlignment = TextAlignment.Center, + TextID = StringId.tianjiayaokongqi, + IsBold = true, }; - currpirdeviceFLayout.AddChidren(iconNameBtn); - var clickBtn = new Button { Tag = i }; - currpirdeviceFLayout.AddChidren(clickBtn); - if (i % 3 == 0) - { - //婊′竴琛岄噸缃甹=0鍊�; - j = -1; - line += 1; - } - GetIconAndText(i, deviceIconBtn, iconNameBtn); - clickBtn.MouseUpEventHandler += (sender, e) => + controlFl.AddChidren(text3Btn); + frame.MouseUpEventHandler += (sender1, e1) => { - //1=绌鸿皟;2=鐢佃;3=椋庢墖;4=鏈洪《鐩�;5=DVD/EVD/VCD;6=鎶曞奖浠�;7=鑷畾涔�; - int if_value = int.Parse(clickBtn.Tag.ToString()); - if (if_value == 7) + frame.RemoveFromParent(); + }; + int line = 0; + for (int i = 1, j = 0; i <= 7; i++, j++) + { + var currpirdeviceFLayout = new FrameLayout { - Method method = new Method(); - method.AddControl(this, (control) => - { - AddButton addButton = new AddButton(); - MainPage.BasePageView.AddChidren(addButton); - addButton.Show(control); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; - }); + Width = Application.GetRealWidth(80), + Height = Application.GetRealWidth(80), + X = Application.GetRealWidth(26 + (80 + 25) * j), + Y = Application.GetRealHeight(52 + (80 + 12) * line), + + }; + controlFl.AddChidren(currpirdeviceFLayout); + var deviceIconBtn = new Button + { + Y = Application.GetRealHeight(8), + X = Application.GetRealWidth(20), + Width = Application.GetRealWidth(40), + Height = Application.GetRealWidth(40), + UnSelectedImagePath = "PirIcon/Infraredtreasure.png", + }; + currpirdeviceFLayout.AddChidren(deviceIconBtn); + var iconNameBtn = new Button + { + Y = deviceIconBtn.Bottom + Application.GetRealHeight(8), + Width = Application.GetRealWidth(80), + Height = Application.GetRealHeight(17), + TextSize = TextSize.text12, + TextColor = CSS.CSS_Color.TextualColor, + TextAlignment = TextAlignment.Center, + }; + currpirdeviceFLayout.AddChidren(iconNameBtn); + var clickBtn = new Button { Tag = i }; + currpirdeviceFLayout.AddChidren(clickBtn); + if (i % 3 == 0) + { + //婊′竴琛岄噸缃甹=0鍊�; + j = -1; + line += 1; } - else + GetIconAndText(i, deviceIconBtn, iconNameBtn); + clickBtn.MouseUpEventHandler += (sender2, e2) => { - if (DeviceTypeList.Count == 0) + + //1=绌鸿皟;2=鐢佃;3=椋庢墖;4=鏈洪《鐩�;5=DVD/EVD/VCD;6=鎶曞奖浠�;7=鑷畾涔�; + int if_value = int.Parse(clickBtn.Tag.ToString()); + if (if_value == 7) { - GetDeviceTypeList(true, () => - { - DeviceTypeViewClick(if_value); - - }); + Method method = new Method(); + method.AddControl(this, (control) => + { + //鎴愬姛鍚庣Щ闄�; + frame.RemoveFromParent(); + AddButton addButton = new AddButton(); + MainPage.BasePageView.AddChidren(addButton); + addButton.Show(control); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }); } else { - DeviceTypeViewClick(if_value); + //杩涙潵閮借绉婚櫎; + frame.RemoveFromParent(); + if (DeviceTypeList.Count == 0) + { + GetDeviceTypeList(true, () => + { + DeviceTypeViewClick(if_value); + + }); + } + else + { + DeviceTypeViewClick(if_value); + } } - } + }; + } + + }; + + } + /// <summary> + /// 鍔犺浇UI鐣岄潰 + /// </summary> + /// <param name="vv">涓婁笅婊戞帶浠�</param> + private void UIView(VerticalRefreshLayout vv) + { + vv.RemoveAll(); + #region 绾㈠瀹濆浘鏍� 鐗堟湰鍙� 鍚嶇О 鐘舵�� + FrameLayout fLayout = new FrameLayout + { + Width = Application.GetRealWidth(375), + Height = Application.GetRealHeight(12 + 92 + (50 * Pir.currPir.FunctioList.Count)), + }; + vv.AddChidren(fLayout); + View.PirView pirView = new View.PirView(); + //绾㈠瀹濆悕绉� + pirView.deviceNameBtn.Text = Pir.currPir.name; + //绾㈠瀹濆綋鍓嶆湁澶氬皯涓仴鎺у櫒 + pirView.geBtn.Text = Pir.currPir.FunctioList.Count.ToString(); + //绾㈠瀹濇槸鍚﹀湪绾�-绂荤嚎 + if (Pir.currPir.online) + { + pirView.stateIconBtn.IsSelected = true; + pirView.stateTextBtn.IsSelected = true; + pirView.stateTextBtn.TextID = StringId.zaixian; + } + else + { + pirView.stateIconBtn.IsSelected = false; + pirView.stateTextBtn.IsSelected = false; + pirView.stateTextBtn.TextID = StringId.lixian; + } + //鏍囪绾㈠瀹� + pirView.clickBtn.Tag = Pir.currPir; + //鍔犺浇鐣岄潰 + pirView.Show(Pir.currPir.FunctioList.Count, fLayout); + //鏈�鍚庝竴涓悗闈㈠鍔犻棿闅旇儗鏅� + vv.AddChidren(new FrameLayout { Height = Application.GetRealHeight(20) }); + #endregion + + for (int j = 0; j < Pir.currPir.FunctioList.Count; j++) + { + var control = Pir.currPir.FunctioList[j]; + + View.ControlView controlView = new View.ControlView(); + controlView.Show(pirView.devfLayout, j); + //閬ユ帶鍣ㄥ悕绉� + controlView.nameBtn.Text = control.name; + //閬ユ帶鍣ㄥ瓨鏀惧尯鍩� + controlView.areaBtn.Text = Intelligence.Automation.LogicMethod.GetGetRoomName(control); + //鏍囪閬ユ帶鍣� + controlView.delBtn.Tag = control; + //鍒犻櫎鐐瑰嚮浜嬩欢 + controlView.delBtn.MouseUpEventHandler += (sender, e) => + { + var Function = controlView.delBtn.Tag as Entity.Function; + string text = Language.StringByID(StringId.shanchushebei) + Function.name + "?"; + TipPopView tipPopView = new TipPopView(); + tipPopView.TipBox(StringId.tip, text, (dialog) => + { + Method.ThreadSend(new Control { deviceId=control.deviceId}, (responsePackNew) => + { + dialog.Close(); + var function = Pir.currPir.FunctioList.Find((c) => c.sid == Function.sid); + if (function != null) + { + Pir.currPir.FunctioList.Remove(Function); + } + UIView(vv); + + }, "鍒犻櫎", "dialog", null, dialog); + + }, () => { }, false); }; + //view鐐瑰嚮浜嬩欢 + controlView.clickBtn.MouseUpEventHandler += (sender, e) => + { + EditControl editControl = new EditControl(); + MainPage.BasePageView.AddChidren(editControl); + editControl.Show(control,(device) => + { + //鍥炶皟鏇存柊鍚嶅瓧/鍖哄煙 + controlView.nameBtn.Text = device.name; + controlView.areaBtn.Text = Intelligence.Automation.LogicMethod.GetGetRoomName(device); + + }); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + if (j == Pir.currPir.FunctioList.Count - 1) + { + //鏈�鍚庢敼鍙樹竴涓嚎鐨勯鑹� + controlView.line1Btn.BackgroundColor = CSS.CSS_Color.viewTranslucence; + controlView.funControlRow.LineColor = CSS.CSS_Color.viewTranslucence; + } + + } } /// <summary> @@ -237,7 +319,6 @@ }); } - /// <summary> /// 鑾峰彇璁惧绫诲瀷str /// </summary> @@ -423,6 +504,8 @@ } }, id, "鍝佺墝鍒楄〃"); } + + } } -- Gitblit v1.8.0