using System;
using System.Collections.Generic;
using System.Text;
using ZigBee.Device;
namespace Shared.Phone.UserCenter.DeviceAirConditioner
{
///
/// 空调室内机设置界面
///
public class IndoorUnitSettionForm : EditorCommonForm
{
#region ■ 变量声明___________________________
///
/// 列表控件
///
private VerticalListControl listview = null;
///
/// 当前选择的网关
///
private AC deviceAc = null;
#endregion
#region ■ 初始化_____________________________
///
/// 画面显示(底层会固定调用此方法,借以完成画面创建)
///
/// 选择的空调回路
public void ShowForm(AC i_deviceAc)
{
this.deviceAc = i_deviceAc;
//设置标题信息
base.SetTitleText(Language.StringByID(R.MyInternationalizationString.uIndoorUnitSettion));
//初始化右上角菜单
this.InitTopRightMenu();
//初始化中部控件
this.InitMiddleFrame();
}
///
/// 初始化中部控件
///
private void InitMiddleFrame()
{
//清空bodyFrame
this.ClearBodyFrame();
//初始化桌布
var tableContr = new InformationEditorControl();
this.listview = tableContr.InitControl(bodyFrameLayout, Language.StringByID(R.MyInternationalizationString.uInfoEditor), 369, 1368);
//图片
var btnPic = new DeviceInfoIconControl();
btnPic.Y = Application.GetRealHeight(92);
btnPic.Gravity = Gravity.CenterHorizontal;
bodyFrameLayout.AddChidren(btnPic);
btnPic.InitControl(this.deviceAc);
//设备备注
string caption = Language.StringByID(R.MyInternationalizationString.uDeviceNote);
string nameValue = Common.LocalDevice.Current.GetDeviceEpointName(deviceAc);
var btnNote = new FrameCaptionInputControl(caption, nameValue, listview.rowSpace / 2);
listview.AddChidren(btnNote);
btnNote.InitControl();
//划线
btnNote.AddBottomLine();
btnNote.txtInput.FinishInputEvent += async () =>
{
string oldName = Common.LocalDevice.Current.GetDeviceEpointName(deviceAc);
if (btnNote.Text.Trim() == string.Empty)
{
//将名字还原
btnNote.Text = oldName;
}
if (oldName != btnNote.Text)
{
//设备名称修改
var result = await Common.LocalDevice.Current.ReName(deviceAc, btnNote.Text);
if (result == false)
{
return;
}
//设备备注修改成功!
string msg = Language.StringByID(R.MyInternationalizationString.uDeviceReNoteSuccess);
this.ShowMassage(ShowMsgType.Tip, msg);
}
};
//设备类型
caption = Language.StringByID(R.MyInternationalizationString.uDeviceType);
nameValue = Common.LocalDevice.Current.GetDeviceObjectText(new List() { deviceAc });
var btnType = new FrameCaptionViewControl(caption, nameValue, listview.rowSpace / 2);
btnType.UseClickStatu = false;
listview.AddChidren(btnType);
btnType.InitControl();
//划线
btnType.AddBottomLine();
//所属区域
var rowBeloneArea = new BelongAreaControl(listview.rowSpace / 2);
listview.AddChidren(rowBeloneArea);
rowBeloneArea.InitControl(Language.StringByID(R.MyInternationalizationString.uBelongArea), deviceAc);
//底线
rowBeloneArea.AddBottomLine();
rowBeloneArea.SelectRoomEvent += (roomKeys) =>
{
Common.Room.CurrentRoom.ChangedRoom(deviceAc, roomKeys);
};
//空调模式
var rowMode = new FrameRowControl(listview.rowSpace / 2);
listview.AddChidren(rowMode);
rowMode.AddLeftCaption(Language.StringByID(R.MyInternationalizationString.uAirConditionerMode), 600);
rowMode.AddRightArrow();
rowMode.AddBottomLine();
rowMode.ButtonClickEvent += (sender, e) =>
{
var form = new AirConditionerModeForm();
form.AddForm(deviceAc);
};
//初始化桌布完成
tableContr.FinishInitControl(bodyFrameLayout, this.listview);
tableContr = null;
//保存
var btnFinish = new BottomClickButton();
btnFinish.TextID = R.MyInternationalizationString.uSave;
bodyFrameLayout.AddChidren(btnFinish);
btnFinish.ButtonClickEvent += async (sender, e) =>
{
string oldName = Common.LocalDevice.Current.GetDeviceEpointName(deviceAc);
if (oldName != btnNote.Text)
{
//设备名称修改
var result = await Common.LocalDevice.Current.ReName(deviceAc, btnNote.Text);
if (result == false)
{
return;
}
}
this.CloseForm();
};
}
#endregion
#region ■ 右上角菜单_________________________
///
/// 初始化右上角菜单
///
private void InitTopRightMenu()
{
//检测此回路是否拥有定位功能(拿端点最小的那个回路去定位)
bool canTest = Common.LocalDevice.Current.DeviceIsCanFixedPosition(deviceAc);
if (canTest == 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);
//定位
var deviceMenu = Language.StringByID(R.MyInternationalizationString.uFixedPosition);
frame.AddRowMenu(deviceMenu, "Item/FixedPosition.png", "Item/FixedPositionSelected.png", () =>
{
//发送定位功能
Common.LocalDevice.Current.SetFixedPositionCommand(deviceAc);
});
}
#endregion
}
}