/* ============================================================================== * 功能描述:每个 菜单tab页的信息 * 创 建 者:SAGACLOUD * 创建日期:2017/8/30 * ==============================================================================*/ using System.Collections.Generic; using System.Linq; namespace SAGA.RevitMenu.Configuration { public class TszTabData { private List _mPanels; public TszTabData(string strTabName) { this.TabName = strTabName; } /// /// 获取指定名称的Button /// /// /// public TszButtonData[] FindButtonItem(string strFindText) { List list = new List(); foreach (TszPanelData data in this.Panels) { foreach (TszButtonData data2 in data.Buttons) { if ((((data2.AssemblyName != null) && (data2.AssemblyName.IndexOf(strFindText) > -1)) || ((data2.ClassName != null) && (data2.ClassName.IndexOf(strFindText) > -1))) || (((data2.ButtonName != null) && (data2.ButtonName.IndexOf(strFindText) > -1)) || ((data2.ButtonText != null) && (data2.ButtonText.IndexOf(strFindText) > -1)))) { list.Add(data2); } } } return list.ToArray(); } /// /// 验证菜单关联的命令是否存在 /// /// public bool ValidateData() { foreach (TszPanelData data in this.Panels) { if (!data.ValidateData()) { return false; } } return true; } /// /// 用可用项 /// /// public bool HasVisibleItem() { var panelData = this.Panels.FirstOrDefault(t =>t.Visible&&t.HasVisibleItem()); return panelData != null; } public string[] Modules { get; set; } public List Panels { get { if (this._mPanels == null) { this._mPanels = new List(); } return this._mPanels; } } public string TabName { get; set; } public string TabText { get; set; } } }