using Aitex.Core.Util; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; namespace MECF.Framework.Common.ToolLayout { public class BufferItemManager : Singleton { #region 常量 /// /// 前缀 /// private const string PREFIX = "Buffer"; #endregion #region 内部变量 /// /// 字典 /// private Dictionary _bufferItemDictionary=new Dictionary(); #endregion #region 属性 /// /// 已经安装模块 /// public List InstalledModules { get; private set; } = new List(); #endregion /// /// 初始化Buffer Item /// /// public void InitializeBufferItem(XmlElement bufferItemElement) { BufferItem bufferItem = new BufferItem(); bufferItem.CellType = "Buffer"; LayoutCellItemManager.Instance.InitializeLayoutCellItem(bufferItem, bufferItemElement); bufferItem.BufferID = int.Parse(bufferItemElement.SelectSingleNode("BufferID").InnerText); string key = $"{PREFIX}{bufferItem.BufferID}"; bufferItem.ModuleName = key; if(bufferItem.Installed&&!InstalledModules.Contains(key)) { InstalledModules.Add(key); } _bufferItemDictionary[key] = bufferItem; CellItemManager.Instance.InitialLayoutCellItem(bufferItem); } /// /// 获取BufferItem对象 /// /// /// public BufferItem GetBufferItem(string moduleName) { return _bufferItemDictionary.ContainsKey(moduleName) ? _bufferItemDictionary[moduleName] : null; } } }