/// <summary> /// Populates menu with IEnumerable Enum values. It automatically takes aceMenuItem attribute values from Enum declaration /// </summary> /// <typeparam name="T">Enum with proper aceMenuItem attributes set</typeparam> /// <param name="_input">Array of Enum values</param> public void setItems <T>(IEnumerable <T> _input) { Type tp = typeof(T); foreach (T _item in _input) { if (tp.isEnum()) { aceMenuItemMeta itemMeta = new aceMenuItemMeta(_item as Enum); aceMenuItem item = new aceMenuItem(itemMeta, _item); setItem(item); } else if (tp.isText()) { String it = _item as String; aceMenuItemMeta itemMeta = new aceMenuItemMeta(); aceMenuItem item = new aceMenuItem(itemMeta, _item); item.itemName = it; setItem(item); } else { String it = _item.toStringSafe(); aceMenuItemMeta itemMeta = new aceMenuItemMeta(); aceMenuItem item = new aceMenuItem(itemMeta, _item); item.itemName = it; setItem(item); } } }
public aceMenuItem(aceMenuItemMeta meta, Object __metaObject) { deployMeta(meta, __metaObject); //itemName = meta[aceMenuItemAttributeRole.DisplayName]; //key = meta[aceMenuItemAttributeRole.Key]; //itemRemarkEnabled = meta[aceMenuItemAttributeRole.EnabledRemarks]; //itemRemarkDisabled = meta[aceMenuItemAttributeRole.DisabledRemarks]; //helpLine = meta[aceMenuItemAttributeRole.Description]; // metaObject = __metaObject; //metaStringData = meta[aceMenuItemAttributeRole.Meta]; }
internal void deployMeta(aceMenuItemMeta meta, Object __metaObject) { //itemName //meta.TryGetValue(, out itemName); itemName = meta.getEntrySafe(aceMenuItemAttributeRole.DisplayName, ""); key = meta.getEntrySafe(aceMenuItemAttributeRole.Key, ""); itemRemarkEnabled = meta.getEntrySafe(aceMenuItemAttributeRole.EnabledRemarks, ""); itemRemarkDisabled = meta.getEntrySafe(aceMenuItemAttributeRole.DisabledRemarks, ""); helpLine = meta.getEntrySafe(aceMenuItemAttributeRole.Description, ""); metaStringData = meta.getEntrySafe(aceMenuItemAttributeRole.Meta, ""); _itemMetaInfo = meta; metaObject = __metaObject; }
internal static void setByMemberInfo(this commandTreeDescription item, MemberInfo __m) { settingsMemberInfoEntry mi = new settingsMemberInfoEntry(__m); aceMenuItemMeta mm = new aceMenuItemMeta(__m); commandTreeDescription desc = item; desc.memberMeta = mi; desc.menuMeta = mm; desc.name = mm.getEntrySafe(aceMenuItemAttributeRole.DisplayName, mi.name); desc.category = mm.getEntrySafe(aceMenuItemAttributeRole.Category).or(mi.categoryName, "Main"); desc.nodeLevel = commandTreeNodeLevel.group; }
/// <summary> /// Sets items by Enum <c>defOption</c> type values and sets <c>defOption</c> as default selection /// </summary> /// <param name="defOption">The definition option.</param> public void setItems(Enum defOption) { Type tp = defOption.GetType(); var all = Enum.GetValues(tp); foreach (Enum _item in all) { aceMenuItemMeta itemMeta = new aceMenuItemMeta(_item as Enum); aceMenuItem item = new aceMenuItem(itemMeta, _item); setItem(item); if (defOption == _item) { selected = item; } } }