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