//********************************** Banshee Engine (www.banshee3d.com) **************************************************// //**************** Copyright (c) 2016 Marko Pintera (marko.pintera@gmail.com). All rights reserved. **********************// using System; using bs; namespace bs.Editor { /** @addtogroup Window * @{ */ /// /// Adds an entry to the main tool. Clicking on that entry will trigger the method the attribute is attached to. /// The method must be static, have no parameters or return values otherwise the attribute will be ignored. /// [AttributeUsage(AttributeTargets.Method)] class ToolbarItem : Attribute { /// /// Creates a new toolbar item attribute. Selecting the item in the toolbar will trigger the callback. /// /// Path that determines where in the menu to add the element. All path elements must be /// separated by /, for example "View/Toolbars/Find". /// Path to the sprite texture to display on the toolbar entry. Relative to project library /// resources folder. /// Optional tooltip to display when the user hovers over the toolbar entry. /// Priority determines the position of the toolbar item relative to its siblings. /// Higher priority means it will be placed earlier. /// Determines should a separator be inserted just before this element. public ToolbarItem(string name, string icon, string tooltip = "", int priority = 0, bool separator = false) { this.name = name; this.icon = icon; this.tooltip = tooltip; this.priority = priority; this.separator = separator; this.builtinIcon = -1; } /// /// Creates a new toolbar item attribute. Selecting the item in the toolbar will trigger the callback. /// /// Path that determines where in the menu to add the element. All path elements must be /// separated by /, for example "View/Toolbars/Find". /// Type of builtin icon to display on the toolbar entry. /// Optional tooltip to display when the user hovers over the toolbar entry. /// Priority determines the position of the toolbar item relative to its siblings. /// Higher priority means it will be placed earlier. /// Determines should a separator be inserted just before this element. internal ToolbarItem(string name, ToolbarIcon icon, string tooltip = "", int priority = 0, bool separator = false) { this.name = name; this.icon = null; this.tooltip = tooltip; this.priority = priority; this.separator = separator; this.builtinIcon = (int)icon; } #pragma warning disable 0414 private string name; private string icon; private int builtinIcon; private string tooltip; private int priority; private bool separator; #pragma warning restore 0414 } /** @} */ }