5.2 KiB
Frames
Frames are like containers, but are also normal objects. In other words, you can add other objects (even frames) to a frame; if the frame itself is visible all sub-objects (if they are set as visible) are also visible. A better description will follow.
basalt.createFrame
Creates a new non-parent frame - in most cases it is the first thing you need.
local myFirstFrame = basalt.createFrame("myFirstFrame")
Parameters:
- string name (should be unique)
returns: new frame object
addFrame
The same as basalt.createFrame, but it will have a parent frame
frame:addFrame("myFirstFrame")
Parameters: string name (should be unique)
returns: new frame object
Example:
local mainFrame = basalt.createFrame("myFirstFrame")
local aFrame = mainFrame:addFrame("myFirstSubFrame")
setBar
Changes the frame bar
frame:setBar("My first Frame!", colors.gray, colors.lightGray)
Parameters: string text, number bgcolor, number fgcolor
returns: self
Example:
local mainFrame = basalt.createFrame("myFirstFrame")
local aFrame = MainFrame:addFrame("myFirstSubFrame")
aFrame:setBar("My first Frame!")
or:
local mainFrame = basalt.createFrame("myFirstFrame")
local aFrame = mainFrame:addFrame("myFirstSubFrame"):setBar("My first Frame!")
setBarTextAlign
Sets the bar text alignment
local mainFrame = basalt.createFrame("myFirstFrame"):setBar("My first Frame!"):setBarTextAlign("right")
Parameters: string value - ("left", "center", "right"))
returns: self
showBar
shows/hides the bar on top where you will see the title if its active
local mainFrame = basalt.createFrame("myFirstFrame"):setBar("Hello World!"):showBar()
Parameters: bool visible (no Parameters = true)
returns: self
isModifierActive -- DISABLED this function will work very soon
returns true if user is currently holding a key down
local mainFrame = basalt.createFrame("myFirstFrame"):isModifierActive("shift")
Parameters: int or string - int can be any os.queueEvent("key") key, or instead of int you can use the following strings: "shift", "ctrl", "alt"
returns: boolean - if the user is holding the key down
Example:
local mainFrame = basalt.createFrame("myFirstFrame"):setSize(20,8):show()
local aLabel = mainFrame:addLabel("myFirstLabel"):setText("shift inactive")
mainFrame:addButton("myFirstButton"):setText("Click"):onClick(function()
if(mainFrame:isModifierActive("shift")then
aLabel:setText("shift is active yay")
else
aLabel:setText("shift is not active ohno")
end)
getObject
returns a children object
local mainFrame = basalt.createFrame("myFirstFrame")
mainFrame:addButton("myFirstButton")
local aButton = mainFrame:getObject("myFirstButton")
Parameters: string name (has to be a children)
returns: any object
removeObject
removes the object
local mainFrame = basalt.createFrame("myFirstFrame")
mainFrame:addButton("myFirstButton")
mainFrame:removeObject("myFirstButton")
Parameters: string name (has to be a children)
returns: any object
setFocusedObject
changes the currently focused object
local mainFrame = basalt.createFrame("myFirstFrame")
local aButton = mainFrame:addButton("myFirstButton")
mainFrame:setFocusedObject(aButton)
Parameters: any object (has to be a children)
returns: self
removeFocusedObject
removes the focus of the currently focused object
local mainFrame = basalt.createFrame("myFirstFrame")
local aButton = mainFrame:addButton("myFirstButton")
mainFrame:removeFocusedObject(aButton)
Parameters: any object (has to be a children)
returns: self
getFocusedObject
gets the currently focused object
local mainFrame = basalt.createFrame("myFirstFrame")
local aButton = mainFrame:addButton("myFirstButton")
local focusedObject = mainFrame:getFocusedObject()
Parameters: -
returns: object
setMovable
setMoveable
Deprecated in favor of setMovable
sets if the frame should be moveable or not (to move the frame you need to drag it on the top bar)
local mainFrame = basalt.createFrame("myFirstFrame"):setMoveable(true)
Parameters: bool moveable
returns: self
setOffset
sets the frame's coordinate offset, they will get added to their children objects. For example, if you use the scrollbar and you use its value to add a offset to a frame, you will get a scrollable frame. objects are also able to ignore the offset by using :ignoreOffset() (maybe your scrollbar if its a children of the frame should ignore offset)
local mainFrame = basalt.createFrame("myFirstFrame"):setOffset(5, 3)
Parameters: number x, number y (offset in x direction and offset in y direction, also doesn't matter if its a negative value or positive
returns: self
