====== Toolbar Button GUI Class ====== [[https://github.com/LibreCAD/LibreCAD_3/blob/master/lcUI/widgets/guiAPI/toolbarbutton.h|Github Link]] namespace lc::ui::api ---- ===== Toolbar Button Constructor ===== ---- ==== Description ==== Constructs a toolbar button gui object. Button after being constructed needs to be added to a group for it to be visible in the application. * Toolbar Button Name - //string// , Icon Path - //string// , Lua Callback - //kaguya::LuaRef// , Tooltip(Default = "") - //string// , Checkable(Default = false) - //bool// * Toolbar Button Name - //string// , Icon Path - //string// , Tooltip(Default = "") - //string// , Checkable(Default = false) - //bool// ==== Examples ==== * local button1 = gui.ToolbarButton("Button1", "icon_path", function() message("Test") end) * local button1 = gui.ToolbarButton("Button1", "icon_path") * local button1 = gui.ToolbarButton("Button1", "icon_path", function() message("Test") end), "Tooltip", true) ---- ===== Add Callback ===== ---- ==== Description ==== Add lua function callback to be called when the toolbar button is clicked. Multiple callbacks can be added. Callbacks can also be named callbacks i.e. associated with a name so that it can be later removed by use of the name. * Lua Callback - //kaguya::LuaRef// * Callback name - //string// , Lua Callback - //kaguya::LuaRef// ==== Examples ==== * button1:addCallback(function() run_command("LINE") end) * button1:addCallback("message_callback", function() message("Test") end) ---- ===== Remove Callback ===== ---- ==== Description ==== Remove lua function called associated with the given name. Only named callbacks can be removed. * Callback name - //string// ==== Examples ==== * button1:removeCallback("message_callback") ---- ===== Set tooltip ===== ---- ==== Description ==== Set the tooltip for the button. * New tooltip - //string// ==== Examples ==== * button1:setTooltip("New Tooltip") ---- ===== Label ===== ---- ==== Description ==== Get and set label for the toolbar button. ==== Examples ==== * message(button1:label()) * button1:setLabel("New Button") ---- ===== Enable and Disable ===== ---- ==== Description ==== Enable or disable the toolbar button. ==== Examples ==== * button1:enable() * button1:disable() ---- ===== Hide and Show ===== ---- ==== Description ==== Hide or show the toolbar button. ==== Examples ==== * button1:hide() * button1:show() ---- ===== Remove ===== ---- ==== Description ==== Remove the current toolbar button from the group. ==== Examples ==== * button1:remove() ---- ===== Checkable ===== ---- ==== Description ==== Return if the button is checkable or not. ==== Examples ==== * local isCheckable = button1:checkable() ----