Files
Basalt/docs/objects/Button.md
Robert Jelic 01412b4c55 docs
2022-07-17 22:37:32 +02:00

2.3 KiB

Buttons are objects, which execute something by clicking on them.

Remember button also inherits from Object

setText

Sets the displayed button text

Parameters:

  1. string the text the button should show

Returns:

  1. object The object in use

Usage:

  • Creates a button with "Click me!" as text.
local mainFrame = basalt.createFrame()
local button = mainFrame:addButton():setText("Click me!")
<button text="Click me!" />

setHorizontalAlign

Sets the horizontal align of the button text

Parameters:

  1. string the position as string ("left", "center", "right") - default is center.

Returns:

  1. object The object in use

Usage:

  • Sets the button's horizontal text align to right.
local mainFrame = basalt.createFrame():show()
local button = mainFrame:addButton()
       :setText("Click me!")
       :setHorizontalAlign("right")
<button text="Click me!" horizontalAlign="right" />

setVerticalAlign

Sets the vertical align of the button text

Parameters:

  1. string the position as string ("top", "center", "bottom") - default is center.

Returns:

  1. object The object in use

Usage:

  • Sets the button's horizontal text align to right and the vertical text align to bottom.
local mainFrame = basalt.createFrame():show()
local button = mainFrame:addButton()
       :setText("Click me!")
       :setHorizontalAlign("right")
       :setVerticalAlign("bottom")
<button text="Click me!" horizontalAlign="right" verticalAlign="bottom" />

Example

This is a example on how you would create a fully working button:

local mainFrame = basalt.createFrame():show()
local aButton = mainFrame:addButton():setText("Click"):show()

aButton:onClick(function(self,event,button,x,y)
  if(event=="mouse_click")and(button==1)then
    basalt.debug("Left mousebutton got clicked!")
  end
end)

Lua and XML:

local mainFrame = basalt.createFrame():addLayout("example.xml")

basalt.setVariable("buttonClick", function(self,event,button,x,y)
  if(event=="mouse_click")and(button==1)then
    basalt.debug("Left mousebutton got clicked!")
  end
end)
<button onClick="buttonClick" text="Click me!" horizontalAlign="right" verticalAlign="bottom" />