Files
Basalt/docs/objects/Button.md
Robert Jelic 8157c025ea docs again
2022-07-18 13:58:43 +02:00

2.2 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()
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()
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()
local aButton = mainFrame:addButton():setText("Click")

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

and this would be the xml way to do it:

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" />