/// <summary> /// Initializes a new instance of the <see cref="Common.UI.MenuItems.MenuItem"/> class. /// </summary> /// <param name="tokenId">Token ID for translation.</param> /// <param name="tokenArguments">Arguments for provided token ID.</param> /// <param name="text">Menu item text.</param> /// <param name="enabled">Is this menu item enabled or not.</param> /// <param name="onClick">Click event handler.</param> /// <param name="shortcutHandler">Shortcut handler.</param> /// <param name="shortcut">Shortcut.</param> /// <param name="radioGroup">Menu radio group.</param> private MenuItem( R.sections.MenuItems.strings tokenId = R.sections.MenuItems.strings.Count , object[] tokenArguments = null , string text = null , bool enabled = false , UnityAction onClick = null , IShortcutHandler shortcutHandler = null , KeyboardInput shortcut = null , MenuRadioGroup radioGroup = null ) : base() { DebugEx.VerboseFormat("Created MenuItem(tokenId = {0}, tokenArguments = {1}, text = {2}, enabled = {3}, onClick = {4}, shortcutHandler = {5}, shortcut = {6}, radioGroup = {7}) object" , tokenId , tokenArguments , text , enabled , onClick , shortcutHandler , shortcut , radioGroup); mTokenId = tokenId; mTokenArguments = tokenArguments; mText = text; mEnabled = enabled; mOnClick = onClick; mShortcutHandler = shortcutHandler; mShortcut = shortcut; mRadioGroup = null; if (mShortcut == null) { mShortcutHandler = null; } if ((mShortcutHandler != null) && mEnabled) { mShortcutHandler.RegisterShortcut(this); } if (radioGroup != null) { radioGroup.Register(this); } }
/// <summary> /// Initializes a new instance of the <see cref="Common.UI.MenuItems.MenuItem"/> class with given text and with /// assigning to specified <see cref="Common.TreeNode`1"/> instance. /// </summary> /// <param name="owner"><see cref="Common.TreeNode`1"/> instance.</param> /// <param name="text">Menu item text.</param> /// <param name="onClick">Click event handler.</param> /// <param name="enabled">Is this menu item enabled or not.</param> /// <param name="shortcutHandler">Shortcut handler.</param> /// <param name="shortcut">Shortcut.</param> /// <param name="radioGroup">Menu radio group.</param> public static TreeNode <CustomMenuItem> Create( TreeNode <CustomMenuItem> owner , string text , UnityAction onClick = null , bool enabled = true , IShortcutHandler shortcutHandler = null , string shortcut = null , MenuRadioGroup radioGroup = null ) { DebugEx.VerboseFormat("MenuItem.Create(owner = {0}, text = {1}, onClick = {2}, enabled = {3}, shortcutHandler = {4}, shortcut = {5}, radioGroup = {6})" , owner , text , onClick , enabled , shortcutHandler , shortcut , radioGroup); MenuItem item = new MenuItem( R.sections.MenuItems.strings.Count // Token ID , null // Token arguments , text // Text , enabled // Enabled , onClick // Click event handler , shortcutHandler // Shortcut handler , KeyboardInput.FromString(shortcut) // Shortcut , radioGroup // Menu radio group ); TreeNode <CustomMenuItem> node = owner.AddChild(item); item.mNode = node; return(node); }
/// <summary> /// Initializes a new instance of the <see cref="Common.UI.MenuItems.MenuItem"/> class. /// </summary> /// <param name="tokenId">Token ID for translation.</param> /// <param name="tokenArguments">Arguments for provided token ID.</param> /// <param name="text">Menu item text.</param> /// <param name="enabled">Is this menu item enabled or not.</param> /// <param name="onClick">Click event handler.</param> /// <param name="shortcutHandler">Shortcut handler.</param> /// <param name="shortcut">Shortcut.</param> /// <param name="radioGroup">Menu radio group.</param> private MenuItem( R.sections.MenuItems.strings tokenId = R.sections.MenuItems.strings.Count , object[] tokenArguments = null , string text = null , bool enabled = false , UnityAction onClick = null , IShortcutHandler shortcutHandler = null , KeyboardInput shortcut = null , MenuRadioGroup radioGroup = null ) : base() { mTokenId = tokenId; mTokenArguments = tokenArguments; mText = text; mEnabled = enabled; mOnClick = onClick; mShortcutHandler = shortcutHandler; mShortcut = shortcut; mRadioGroup = null; if (mShortcut == null) { mShortcutHandler = null; } if ((mShortcutHandler != null) && mEnabled) { mShortcutHandler.RegisterShortcut(this); } if (radioGroup != null) { radioGroup.Register(this); } }
public void AddShortcutHandler(IShortcutHandler handler) { _shortcutHandlers.Add(handler); }
/// <summary> /// Initializes a new instance of the <see cref="Common.UI.MenuItems.MenuItem"/> class with given text and with /// assigning to specified <see cref="Common.TreeNode`1"/> instance. /// </summary> /// <param name="owner"><see cref="Common.TreeNode`1"/> instance.</param> /// <param name="text">Menu item text.</param> /// <param name="onClick">Click event handler.</param> /// <param name="enabled">Is this menu item enabled or not.</param> /// <param name="shortcutHandler">Shortcut handler.</param> /// <param name="shortcut">Shortcut.</param> /// <param name="radioGroup">Menu radio group.</param> public static TreeNode<CustomMenuItem> Create( TreeNode<CustomMenuItem> owner , string text , UnityAction onClick = null , bool enabled = true , IShortcutHandler shortcutHandler = null , string shortcut = null , MenuRadioGroup radioGroup = null ) { DebugEx.VerboseFormat("MenuItem.Create(owner = {0}, text = {1}, onClick = {2}, enabled = {3}, shortcutHandler = {4}, shortcut = {5}, radioGroup = {6})" , owner , text , onClick , enabled , shortcutHandler , shortcut , radioGroup); MenuItem item = new MenuItem( R.sections.MenuItems.strings.Count // Token ID , null // Token arguments , text // Text , enabled // Enabled , onClick // Click event handler , shortcutHandler // Shortcut handler , KeyboardInput.FromString(shortcut) // Shortcut , radioGroup // Menu radio group ); TreeNode<CustomMenuItem> node = owner.AddChild(item); item.mNode = node; return node; }
/// <summary> /// Initializes a new instance of the <see cref="Common.UI.MenuItems.MenuItem"/> class with given token ID and with /// assigning to specified <see cref="Common.TreeNode`1"/> instance. /// </summary> /// <param name="owner"><see cref="Common.TreeNode`1"/> instance.</param> /// <param name="tokenId">Token ID for translation.</param> /// <param name="onClick">Click event handler.</param> /// <param name="enabled">Is this menu item enabled or not.</param> /// <param name="shortcutHandler">Shortcut handler.</param> /// <param name="shortcut">Shortcut.</param> /// <param name="radioGroup">Menu radio group.</param> public static TreeNode<CustomMenuItem> Create( TreeNode<CustomMenuItem> owner , R.sections.MenuItems.strings tokenId , UnityAction onClick = null , bool enabled = true , IShortcutHandler shortcutHandler = null , string shortcut = null , MenuRadioGroup radioGroup = null ) { MenuItem item = new MenuItem( tokenId // Token ID , null // Token arguments , null // Text , enabled // Enabled , onClick // Click event handler , shortcutHandler // Shortcut handler , KeyboardInput.FromString(shortcut) // Shortcut , radioGroup // Menu radio group ); TreeNode<CustomMenuItem> node = owner.AddChild(item); item.mNode = node; return node; }