-
Notifications
You must be signed in to change notification settings - Fork 42
Frame
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.
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
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")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!")Sets the bar text alignment
local mainFrame = basalt.createFrame("myFirstFrame"):setBar("My first Frame!"):setBarTextAlign("right")Parameters: string value - ("left", "center", "right"))
returns: self
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
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)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
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
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
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
gets the currently focused object
local mainFrame = basalt.createFrame("myFirstFrame")
local aButton = mainFrame:addButton("myFirstButton")
local focusedObject = mainFrame:getFocusedObject()Parameters: -
returns: object
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
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
Thanks for checking out our wiki, join our discord for more help: discord.gg/yM7kndJdJJ
