Files
Basalt/docs/docs1_6/objects/Button.md
Robert Jelic bb1b1beb79 Basalt 1.7 Update
- New Objects (Flexbox, Graph, Treeview)
- Pluginsystem to add/remove functionality
- Reworked the entire Object system, instead of one big Object Class we have multiple classes: Object, VisualObject, ChangeableObject
- Instead of one big Frame Class we have multiple Frame Classes: BaseFrame, Frame, MovableFrame, ScrollableFrame, MonitorFrame, Flexbox
- Removed the Animation Object, and added a animation plugin instead
- Removed the Graphic Object and merged it's functionality with the image object
- Updated currently existing objects
2023-04-30 17:05:34 +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" />