using Shared.SimpleControl.Phone; using System; namespace Shared.SimpleControl.Pad { public class SystemCurtainTrietex { public SystemCurtainTrietex () { } /// /// 显示开合帘界面 /// /// The curtain trietex show. /// Curtain trietex. /// Curtain device. public void SystemCurtainTrietexShow (CurtainTrietex curtainTrietex, Common common) { SystemMiddle.ThirdScrolView.RemoveAll (); #region top EditText textButton = new EditText () { X = Application.GetRealWidth (40), Height = Application.GetRealHeight (50), Width = Application.GetRealWidth (400), Text = curtainTrietex.Name, Gravity = Gravity.CenterVertical, TextAlignment = TextAlignment.CenterLeft, SelectedBackgroundColor = 0xFF000000, TextSize = 15, Enable = false, }; SystemMiddle.ThirdScrolView.TitleView.AddChidren (textButton); Button editor = new Button () { Height = Application.GetRealHeight (90), Width = Application.GetRealWidth (70), UnSelectedImagePath = "Item/Editor.png", SelectedImagePath = "Item/EditorSelected.png", Gravity = Gravity.CenterVertical, X = Application.GetRealWidth (550) }; SystemMiddle.ThirdScrolView.TitleView.AddChidren (editor); editor.MouseUpEventHandler += (sender, e) => { if (editor.IsSelected) { MainPage.Loading.Start (); editor.IsSelected = textButton.IsSelected = textButton.Enable = false; byte [] remakeBytes = CommonPage.MyEncodingGB2312.GetBytes (textButton.Text.Trim ()); System.Threading.Tasks.Task.Run (() => { byte [] updateBytes = Control.ControlBytesSendHasReturn (Command.ReadDeviceLoopInfo, curtainTrietex.SubnetID, curtainTrietex.DeviceID, new byte [] { curtainTrietex.BigClass,curtainTrietex.MinClass,curtainTrietex.LoopID }); if (updateBytes == null) { Application.RunOnMainThread (() => { new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.TipEquipmentNotOnline), Language.StringByID (R.MyInternationalizationString.Close)).Show (); MainPage.Loading.Hide (); }); return; } byte [] uBytes = new byte [20]; Array.Copy (remakeBytes, 0, uBytes, 0, remakeBytes.Length < 20 ? remakeBytes.Length : 20); Array.Copy (uBytes, 0, updateBytes, 3, 20 < uBytes.Length ? 20 : uBytes.Length); var reBytes = Control.ControlBytesSendHasReturn (Command.SetDeviceLoopInfo, curtainTrietex.SubnetID, curtainTrietex.DeviceID, updateBytes); if (reBytes != null) { Application.RunOnMainThread (() => { curtainTrietex.Name = textButton.Text.Trim (); IO.FileUtils.SaveEquipmentMessage (curtainTrietex, curtainTrietex.LoopID.ToString ()); MainPage.Loading.Hide (); }); } else { Application.RunOnMainThread (() => { new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.TipEquipmentNotOnline), Language.StringByID (R.MyInternationalizationString.Close)).Show (); MainPage.Loading.Hide (); }); } }); } else { textButton.Enable = textButton.IsSelected = editor.IsSelected = true; } }; #endregion #region MyRegion FrameLayout frameLayoutBody = new FrameLayout () { Height = Application.GetRealHeight (700), Width = LayoutParams.MatchParent, }; SystemMiddle.ThirdScrolView.AddChidren (frameLayoutBody); Button btnCheckCurtainTrietexWidth = new Button () { Width = Application.GetRealHeight (500), Height = Application.GetRealHeight (60), X = Application.GetRealWidth (70), Y = Application.GetRealHeight (60), Radius = 5, BorderWidth = 2, BorderColor = 0xFFDBDDDF, TextID = R.MyInternationalizationString.CheckCurtianWidth, TextAlignment = TextAlignment.Center, }; frameLayoutBody.AddChidren (btnCheckCurtainTrietexWidth); btnCheckCurtainTrietexWidth.MouseUpEventHandler += (sender, e) => { Alert alert = new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.ConfirmCheckCurtianWidth), Language.StringByID (R.MyInternationalizationString.Cancel), Language.StringByID (R.MyInternationalizationString.Confrim)); alert.Show (); alert.ResultEventHandler += (sender_alert, e_alert) => { if (e_alert) { Control.ControlBytesSend (Command.UpdataCurtainModelStutas, curtainTrietex.SubnetID, curtainTrietex.DeviceID, new byte [] { 17, 238 }); } }; }; Button btnTestText = new Button () { Width = Application.GetRealWidth (394), Height = Application.GetRealHeight (64), X = Application.GetRealWidth (30), Y = btnCheckCurtainTrietexWidth.Bottom + Application.GetRealHeight (40), TextID = R.MyInternationalizationString.CurtainTest, TextAlignment = TextAlignment.CenterLeft }; frameLayoutBody.AddChidren (btnTestText); Button btnOpenCurtain = new Button () { Width = Application.GetMinRealAverage (124), Height = Application.GetMinRealAverage (124), X = Application.GetRealWidth (50), Y = btnTestText.Bottom, UnSelectedImagePath = "Curtain/CurtainOpen.png", SelectedImagePath = "Curtain/CurtainOpenSelected.png", }; frameLayoutBody.AddChidren (btnOpenCurtain); Button btnStopCurtain = new Button () { Width = Application.GetMinRealAverage (124), Height = Application.GetMinRealAverage (124), X = Application.GetRealWidth ((640 - 124) / 2), Y = btnOpenCurtain.Y, UnSelectedImagePath = "Curtain/CurtainTimeOut.png", SelectedImagePath = "Curtain/CurtainTimeOutSelected.png", }; frameLayoutBody.AddChidren (btnStopCurtain); Button btnCloseCurtain = new Button () { Width = Application.GetMinRealAverage (124), Height = Application.GetMinRealAverage (124), X = Application.GetRealWidth (640) - btnOpenCurtain.Right, Y = btnOpenCurtain.Y, UnSelectedImagePath = "Curtain/CurtainClose.png", SelectedImagePath = "Curtain/CurtainCloseSelected.png", }; frameLayoutBody.AddChidren (btnCloseCurtain); Button btnOpenLbl = new Button () { Width = Application.GetRealWidth (124), Height = Application.GetRealHeight (30), X = btnOpenCurtain.X, Y = btnOpenCurtain.Bottom + Application.GetRealHeight (5), TextID = R.MyInternationalizationString.Open, TextColor = SkinStyle.Current.TextColor1, }; frameLayoutBody.AddChidren (btnOpenLbl); Button btnStopLbl = new Button () { Width = Application.GetRealWidth (124), Height = Application.GetRealHeight (30), X = btnStopCurtain.X, Y = btnOpenLbl.Y, TextID = R.MyInternationalizationString.Stop, TextColor = SkinStyle.Current.TextColor1, }; frameLayoutBody.AddChidren (btnStopLbl); Button btnCloseLbl = new Button () { Width = Application.GetRealWidth (124), Height = Application.GetRealHeight (30), X = btnCloseCurtain.X, Y = btnOpenLbl.Y, TextID = R.MyInternationalizationString.Close2, TextColor = SkinStyle.Current.TextColor1, }; frameLayoutBody.AddChidren (btnCloseLbl); btnOpenCurtain.MouseUpEventHandler += (sender, e) => { btnOpenCurtain.IsSelected = true; btnStopCurtain.IsSelected = false; btnCloseCurtain.IsSelected = false; UpdataStatus (curtainTrietex, 1); }; btnStopCurtain.MouseUpEventHandler += (sender, e) => { btnStopCurtain.IsSelected = true; btnCloseCurtain.IsSelected = false; btnOpenCurtain.IsSelected = false; UpdataStatus (curtainTrietex, 0); }; btnCloseCurtain.MouseUpEventHandler += (sender, e) => { btnCloseCurtain.IsSelected = true; btnStopCurtain.IsSelected = false; btnOpenCurtain.IsSelected = false; UpdataStatus (curtainTrietex, 2); }; if (curtainTrietex.Status == CurtainStatus.Close) { btnCloseCurtain.IsSelected = true; } else if (curtainTrietex.Status == CurtainStatus.Open) { btnOpenCurtain.IsSelected = true; } else if (curtainTrietex.Status == CurtainStatus.Stop) { btnStopCurtain.IsSelected = true; } #endregion } static void UpdataStatus (CurtainTrietex curtainTrietex, byte status) { byte [] usefulBytes = Control.ControlBytesSendHasReturn (Command.UpdataCurtainModelStutas, curtainTrietex.SubnetID, curtainTrietex.DeviceID, new byte [] { curtainTrietex.LoopID, status }); if (usefulBytes == null) { Application.RunOnMainThread (() => { new Alert (Language.StringByID (R.MyInternationalizationString.Tip), Language.StringByID (R.MyInternationalizationString.TipEquipmentNotOnline), Language.StringByID (R.MyInternationalizationString.Close)).Show (); }); } else { curtainTrietex.Status = (CurtainStatus)status; IO.FileUtils.SaveEquipmentMessage (curtainTrietex, curtainTrietex.LoopID.ToString ()); } } } }