- 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
2.2 KiB
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:
stringthe text the button should show
Returns:
objectThe 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:
stringthe position as string ("left", "center", "right") - default is center.
Returns:
objectThe 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:
stringthe position as string ("top", "center", "bottom") - default is center.
Returns:
objectThe 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" />