using System; using ZigBee.Device; namespace Shared.Phone.UserCenter.DevicePanel { /// /// 方悦新风面板的按键配置界面 /// public class PanelFangyueFreshAirButtonSettionForm : EditorCommonForm { #region ■ 变量声明___________________________ /// /// 列表控件 /// private FrameListControl listview = null; /// /// 设备的某一回路 /// private CommonDevice deviceObj = null; #endregion #region ■ 初始化_____________________________ /// /// 画面显示(底层会固定调用此方法,借以完成画面创建) /// /// 设备的某一回路 public void ShowForm(CommonDevice i_device) { this.deviceObj = i_device; //设置头部信息 base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uPanelSettion)); //初始化中部信息 this.InitMiddleFrame(); //初始化右上角菜单 this.InitTopRightMenu(); } /// /// 初始化中部信息 /// private void InitMiddleFrame() { //清空bodyFrame this.ClearBodyFrame(); var listBackControl = new VerticalFrameControl(); listBackControl.Height = bodyFrameLayout.Height; bodyFrameLayout.AddChidren(listBackControl); //图片 var btnPic = new PicViewControl(426, 426); btnPic.Y = Application.GetRealHeight(150); btnPic.UnSelectedImagePath = "RealDevice/ButtonPanelFangyueFreshAir.png"; btnPic.Gravity = Gravity.CenterHorizontal; listBackControl.frameTable.AddChidren(btnPic); //初始化桌布 var tableContr = new InformationEditorControl(); this.listview = tableContr.InitControl(listBackControl.frameTable, Language.StringByID(R.MyInternationalizationString.uDeviceEditor), 1028); //初始化菜单行 this.InitMenuRow(); //初始化桌布完成 tableContr.FinishInitControl(); tableContr = null; //保存 var btnFinish = new BottomClickButton(); btnFinish.TextID = R.MyInternationalizationString.uSave; bodyFrameLayout.AddChidren(btnFinish); btnFinish.ButtonClickEvent += (sender, e) => { //关闭自身 this.CloseForm(); }; } /// /// 初始化菜单行 /// private void InitMenuRow() { this.listview.RemoveAll(); //添加新风目标 this.AddFreshAirRow(); //PM2.5来源 //this.AddPMRow(); //添加温度来源 //this.AddTemperatureSensorRow(); //添加湿度来源 //this.AddHumiditySourceRow(); //添加新风目标 //this.AddPMRow(); //亮度调节 this.AddLevelRow(); } #endregion #region ■ 新风目标_________________________ /// /// 新风目标行 /// private void AddFreshAirRow() { //新风目标 var rowNewWind = new FrameRowControl(listview.rowSpace / 2); listview.AddChidren(rowNewWind); rowNewWind.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uNewWindTarget), 600); //底线 rowNewWind.AddBottomLine(); //右箭头 rowNewWind.AddRightArrow(); var msg = Language.StringByID(R.MyInternationalizationString.nothing); // 回调新风绑定目标 var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700); rowNewWind.ButtonClickEvent += (sender, e) => { //var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 1); //Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); //Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; //addDevicePage.Show(); var form = new PanelFangyueFreshAirTargetForm(); form.AddForm(this.deviceObj, string.Empty, 3); }; } #endregion #region ■ PM2.5来源_________________________ /// /// PM2.5来源行 /// private void AddPMRow() { //PM2.5 var rowNewWind = new FrameRowControl(listview.rowSpace / 2); listview.AddChidren(rowNewWind); rowNewWind.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.PM25Source), 600); //底线 rowNewWind.AddBottomLine(); //右箭头 rowNewWind.AddRightArrow(); var msg = Language.StringByID(R.MyInternationalizationString.nothing); // 回调PM2.5来源绑定目标 var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700); rowNewWind.ButtonClickEvent += (sender, e) => { var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 4); Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; addDevicePage.Show(); }; } #endregion #region ■ 温度来源_________________________ /// /// 温度来源行 /// private void AddTemperatureSensorRow() { //温度来源 var rowNewWind = new FrameRowControl(listview.rowSpace / 2); listview.AddChidren(rowNewWind); rowNewWind.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.TemperatureSource), 600); //底线 rowNewWind.AddBottomLine(); //右箭头 rowNewWind.AddRightArrow(); var msg = Language.StringByID(R.MyInternationalizationString.nothing); // 回调温度来源绑定目标 var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700); rowNewWind.ButtonClickEvent += (sender, e) => { var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 2); Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; addDevicePage.Show(); }; } #endregion #region ■ 湿度来源_________________________ /// /// 湿度来源行 /// private void AddHumiditySourceRow() { //湿度 var rowNewWind = new FrameRowControl(listview.rowSpace / 2); listview.AddChidren(rowNewWind); rowNewWind.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.HumiditySource), 600); //底线 rowNewWind.AddBottomLine(); //右箭头 rowNewWind.AddRightArrow(); var msg = Language.StringByID(R.MyInternationalizationString.nothing); // 回调湿度来源绑定目标 var btnNewWindStatu = rowNewWind.AddMostRightView(msg, 700); rowNewWind.ButtonClickEvent += (sender, e) => { var addDevicePage = new Shared.Phone.UserCenter.DeviceBind.PanelFangyueFreshAirTargetsForm(this.deviceObj, 3); Shared.Phone.UserView.HomePage.Instance.AddChidren(addDevicePage); Shared.Phone.UserView.HomePage.Instance.PageIndex += 1; addDevicePage.Show(); }; } #endregion #region ■ 亮度调节_________________________ /// /// 亮度调节行 /// private void AddLevelRow() { //亮度调节 var rowLight = new FrameRowControl(listview.rowSpace / 2); listview.AddChidren(rowLight); rowLight.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uLightRegulation), 600); //底线 rowLight.AddBottomLine(); //右箭头 rowLight.AddRightArrow(); rowLight.ButtonClickEvent += (sender, e) => { //给新风面板建立一个新的支持面板对象,用200端点设置 var panel = new Panel(); panel.DeviceAddr = this.deviceObj.DeviceAddr; panel.DeviceEpoint = 200; panel.CurrentGateWayId = this.deviceObj.CurrentGateWayId; var form = new PanelFangyueFreshAirBackLightSettionForm(); form.AddForm(panel); }; } #endregion #region ■ 右上角菜单_________________________ /// /// 初始化右上角菜单 /// private void InitTopRightMenu() { //检测此回路是否拥有定位功能 if (Common.LocalDevice.Current.DeviceIsCanFixedPosition(deviceObj) == false) { return; } var btnIcon = new MostRightIconControl(69, 69); btnIcon.UnSelectedImagePath = "Item/More.png"; topFrameLayout.AddChidren(btnIcon); btnIcon.InitControl(); btnIcon.ButtonClickEvent += ((sender, e) => { //显示右上角菜单界面 this.ShowTopRightMenu(); }); } /// /// 显示右上角菜单界面 /// private void ShowTopRightMenu() { var frame = new TopRightMenuControl(1, 1); //定位 string deviceMenu = Language.StringByID(R.MyInternationalizationString.uFixedPosition); frame.AddRowMenu(deviceMenu, "Item/FixedPosition.png", "Item/FixedPositionSelected.png", () => { //发送定位功能 Common.LocalDevice.Current.SetFixedPositionCommand(deviceObj); }); } #endregion } }