Controls whether an interactive element is enabled/disabled.
-- Create new container
local newWindow = osrs.Ui.window({title = "Example Window"})
-- Create a checkbox that is interactable, and one that is not
local interactableCheckbox = osrs.Ui.checkbox(
{
label = "Interactable",
onValueChange = function()
osrs.print("Checkbox is Interactable")
end
}
)
local notInteractableCheckbox = osrs.Ui.checkbox(
{
label = "Not Interactable",
enabled = false,
onValueChange = function()
osrs.print("Checkbox is not Interactable, this should not print")
end
}
)
-- Add the Checkbox's to the container
newWindow:addChild(interactableCheckbox)
newWindow:addChild(notInteractableCheckbox)
-- Add container to the canvas
osrs.Ui.canvas:addChild(newWindow)
OptionallabelThe text displayed to alongside the checkbox.
-- Create new container
local newWindow = osrs.Ui.window({title = "Example Window"})
-- Create a checkbox that has a label
local checkbox = osrs.Ui.checkbox({label = "Checkbox"})
-- Add checkbox to the container
newWindow:addChild(checkbox)
-- Add container to the canvas
osrs.Ui.canvas:addChild(newWindow)
OptionalonThe function callback invoked when the element's value is changed.
-- Create new container
local newWindow = osrs.Ui.window({title = "Example Window"})
-- Create a new dropdown menu with a change function
local menu = osrs.Ui.dropdown(
{
label = "Test",
values = {"Test1", "Test2", "Test3"},
onValueChange = function()
osrs.print("Change")
end
}
)
-- Add dropdown to the container
newWindow:addChild(menu)
-- Add container to the canvas
osrs.Ui.canvas:addChild(newWindow)
How this element should position itself.
-- Create a window that has automatic position mode, this is default
local window1 = osrs.Ui.window({title = "Automatic Position Mode"})
-- Create a window that has manual position mode
local window2 = osrs.Ui.window(
{
title = "Manual Position Mode",
positionMode = osrs.Ui.LayoutMode.MANUAL
}
)
-- Add the windows to the canvas
osrs.Ui.canvas:addChild(window1)
osrs.Ui.canvas:addChild(window2)
Flag to control whether this element should be placed on the same line as the previous element.
-- Create a container
local window = osrs.Ui.window({title = "Example Window"})
-- Create three buttons, with two of them on the same line
local button1 = osrs.Ui.textButton({text = "Button 1"})
local button2 = osrs.Ui.textButton({text = "Button 2"})
local button3 = osrs.Ui.textButton({text = "Button 3", sameLine = true})
-- Add buttons to the container
window:addChild(button1)
window:addChild(button2)
window:addChild(button3)
-- Add container to the canvas
osrs.Ui.canvas:addChild(window)
The style, if any, that should be applied to this element.
String to display to the user when hovered over the element.
-- Create new container
local newWindow = osrs.Ui.window({title = "Example Window"})
-- Create a button with a tooltip
local button = osrs.Ui.textButton({text = "Test", tooltip = "This is a Tooltip!"})
-- Add slider to the container
newWindow:addChild(button)
-- Add container to the canvas
osrs.Ui.canvas:addChild(newWindow)
The value of the checkbox, controlling if the display of the checkbox is ticked or not.
-- Create new container
local newWindow = osrs.Ui.window(
{
title = "Example Window",
sizeMode = 1,
width = 200,
height = 100
}
)
-- Create a checkbox that has a true value, and one that has a false value
local checkbox1 = osrs.Ui.checkbox({value = true})
local checkbox2 = osrs.Ui.checkbox()
-- Add checkbox's to the container
newWindow:addChild(checkbox1)
newWindow:addChild(checkbox2)
-- Add container to the canvas
osrs.Ui.canvas:addChild(newWindow)
Boolean indicating whether this UI element should draw itself.
-- Create new container
local newWindow = osrs.Ui.window({title = "Example Window"})
-- Create a button that is renderable, and one that is not
local button1 = osrs.Ui.textButton(
{
text = "Peek-a-Boo",
visible = false,
onClick = function()
osrs.print("BOO!")
end
}
)
local button2 = osrs.Ui.textButton(
{
text = "Render",
onClick = function()
button1.visible = not button1.visible
end
}
)
-- Add buttons to the container
newWindow:addChild(button1)
newWindow:addChild(button2)
-- Add container to the canvas
osrs.Ui.canvas:addChild(newWindow)
The horizontal component of this element's position, in UI coordinate space.
The percentage distance from the left side of the screen that this element's top-left corner should be placed at when positionMode is set to LayoutMode.PROPORTIONAL. The number needs to be a decimal.
The vertical component of this element's position, in UI coordinate space.
The percentage distance from the top side of the screen that this element's top-left corner should be placed at when positionMode is set to LayoutMode.PROPORTIONAL. The number needs to be a decimal.
Adds a UI element to the pop up container.
Imgui element to add to the pop up menu
local button = osrs.Ui.textButton( { text="Clear", tooltip="Test" })
local selectable = osrs.Ui.selectable({text = "Example", onClick = function() osrs.print("Example Print") end}) clear:addPopUpElement(test) osrs.Ui.leftPanel:addChild(button)
Removes a UI element from the pop up container.
Imgui element to remove from the pop up menu.
local button = osrs.Ui.textButton( { text="Clear", tooltip="Test" })
local selectable = osrs.Ui.selectable({text = "Example", onClick = function() osrs.print("Example Print") end}) clear:addPopUpElement(test) clear:removePopUpElement(test) osrs.Ui.leftPanel:addChild(button)
A box that renders a boolean value to the screen. Changing the value invokes a callback and updates the value property. An optional string label is displayed to the left of the button.