public static string GetShortcut(this IAction action) { if (action == null) { throw new ArgumentNullException(nameof(action)); } var shortcutAttribute = GetShortcutAttributeForAction(action); var shortCut = shortcutAttribute == null ? string.Empty : shortcutAttribute.GetMenuShortcut(); if (string.IsNullOrWhiteSpace(shortCut)) { //Check if there is a static method with attribute var customShortcutMethod = action.GetType().GetMethods().FirstOrDefault(m => m.GetCustomAttribute <TimelineShortcutAttribute>(true) != null); if (customShortcutMethod != null) { var shortcutId = customShortcutMethod.GetCustomAttribute <TimelineShortcutAttribute>(true).identifier; var shortcut = ShortcutIntegration.instance.directory.FindShortcutEntry(shortcutId); if (shortcut != null && shortcut.combinations.Any()) { shortCut = KeyCombination.SequenceToMenuString(shortcut.combinations); } } } return(shortCut); }
protected void AddUIElementsDebuggerToMenu(GenericMenu menu) { var itemContent = UIElementsDebugger.WindowName; var shortcut = ShortcutIntegration.instance.directory.FindShortcutEntry(UIElementsDebugger.k_WindowPath); if (shortcut != null && shortcut.combinations.Any()) { itemContent += $" {KeyCombination.SequenceToMenuString(shortcut.combinations)}"; } menu.AddItem(EditorGUIUtility.TextContent(itemContent), false, DebugWindow, actualView); }
public string GetMenuShortcut() { if (m_MenuShortcut != null) { return(m_MenuShortcut); } //find the mapped shortcut in the shortcut manager var shortcut = ShortcutIntegration.instance.directory.FindShortcutEntry(m_Identifier); if (shortcut != null && shortcut.combinations.Any()) { return(KeyCombination.SequenceToMenuString(shortcut.combinations)); } return(string.Empty); }