| | |
| | | //上一次选择的菜单和数据
|
| | | DeviceRowInfo nowSelectDeviceInfo = null;
|
| | | MainPage.Controls.DeviceFunctionUnallocatedControl oldSelectContr = null;
|
| | | foreach (int Textid in dicGroupDevice.Keys)
|
| | | foreach (string strText in dicGroupDevice.Keys)
|
| | | {
|
| | | var rowInfo = dicGroupDevice[Textid];
|
| | | var rowInfo = dicGroupDevice[strText];
|
| | |
|
| | | //设备类型的容器
|
| | | var devieFrame = new FrameLayout();
|
| | |
| | | //菜单图片控件
|
| | | var deviceObjContr = new MainPage.Controls.DeviceFunctionUnallocatedControl();
|
| | | devieFrame.AddChidren(deviceObjContr);
|
| | | deviceObjContr.InitControl(Language.StringByID(Textid), rowInfo.IconPath, rowInfo.IconPathSelected, rowInfo.listDeviceKeys);
|
| | | deviceObjContr.InitControl(strText, rowInfo.IconPath, rowInfo.IconPathSelected, rowInfo.listDeviceKeys);
|
| | | deviceObjContr.ButtonClickEvent += (sender, e) =>
|
| | | {
|
| | | //选择的是同一个东西的话,不处理
|
| | |
| | | /// 获取分组后的设备
|
| | | /// </summary>
|
| | | /// <returns></returns>
|
| | | private Dictionary<int, DeviceRowInfo> GetAllGroupDevice(Common.Room room)
|
| | | private Dictionary<string, DeviceRowInfo> GetAllGroupDevice(Common.Room room)
|
| | | {
|
| | | //全部的设备
|
| | | var listDeviceTemp = HdlRoomLogic.Current.GetRoomListDevice(room);
|
| | |
| | |
|
| | | //根据设备所属类型排序
|
| | | listDevice = LocalDevice.Current.SortDeviceByBelongType(listDevice);
|
| | | var dic = new Dictionary<int, DeviceRowInfo>();
|
| | | var dic = new Dictionary<string, DeviceRowInfo>();
|
| | | foreach (var device in listDevice)
|
| | | {
|
| | | var typeInfo = LocalDevice.Current.GetDeviceBelongEnumInfo(device);
|
| | | //按所属ID分组
|
| | | if (dic.ContainsKey(typeInfo.BeloneTextId) == false)
|
| | | if (dic.ContainsKey(typeInfo.BeloneText) == false)
|
| | | {
|
| | | dic[typeInfo.BeloneTextId] = new DeviceRowInfo();
|
| | | dic[typeInfo.BeloneText] = new DeviceRowInfo();
|
| | | string path1 = string.Empty;
|
| | | string path2 = string.Empty;
|
| | | //获取图片
|
| | | LocalDevice.Current.GetDeviceFunctionTypeMenuIcon(typeInfo.ConcreteType, ref path1, ref path2);
|
| | | dic[typeInfo.BeloneTextId].IconPath = path1;
|
| | | dic[typeInfo.BeloneTextId].IconPathSelected = path2;
|
| | | dic[typeInfo.BeloneTextId].TextId = typeInfo.BeloneTextId;
|
| | | dic[typeInfo.BeloneText].IconPath = path1;
|
| | | dic[typeInfo.BeloneText].IconPathSelected = path2;
|
| | | dic[typeInfo.BeloneText].TextId = typeInfo.BeloneText;
|
| | | }
|
| | | dic[typeInfo.BeloneTextId].listDeviceKeys.Add(LocalDevice.Current.GetDeviceMainKeys(device));
|
| | | dic[typeInfo.BeloneText].listDeviceKeys.Add(LocalDevice.Current.GetDeviceMainKeys(device));
|
| | | }
|
| | | return dic;
|
| | | }
|
| | |
| | | private class DeviceRowInfo
|
| | | {
|
| | | /// <summary>
|
| | | /// 文本ID,目前用来做主键
|
| | | /// 文本,目前用来做主键
|
| | | /// </summary>
|
| | | public int TextId = 0;
|
| | | public string TextId = string.Empty;
|
| | | /// <summary>
|
| | | /// 图标
|
| | | /// </summary>
|