Difference between revisions of "Lua API:Interface"
(Add Label and Window) |
(→Methods) |
||
Line 71: | Line 71: | ||
nil interface.removeComponent(Component newComponent) | nil interface.removeComponent(Component newComponent) | ||
Remove a component from the master game window. | Remove a component from the master game window. | ||
+ | |||
+ | === interface.showWindow === | ||
+ | nil interface.showWindow(Window newWindow) | ||
+ | Push a Window into the top of the modal stack | ||
+ | |||
+ | === interface.closeWindow === | ||
+ | nil interface.closeWindow(Window newWindow) | ||
+ | Pop a Window off the top of the modal stack. If the given Window is not the top item in the stack, this will have no effect, |
Revision as of 21:37, 1 September 2012
The Interface API includes objects for UI components such as buttons, labels and checkboxes and methods for access to the very primitive window manager and input events.
Classes
Component
Abstract class, no constructor
Component:size
number, number Component:size()
Returns the width and height of the component
nil Component:size(number width, number height)
Sets the size of the component to be width by height
Component:position
number, number Component:position()
Returns the x and y coord of the component
nil Component:position(number x, number y)
Sets the position of the component to be x, y
Button
Button Button:new(number x, number y, number width, number height, [string text = "", [string tooltip = ""]])
Extends Component, fires "action" when clicked
Button:action
nil Button:action(function(sender) actionListener)
Sets the listener for button actions Example:
local newButton = Button:new(10, 10, 100, 17, "Press to change text")
newButton:action(function(sender) sender:text("Text changed") end)
interface.addComponent(newButton)
Button:text
string Button:text()
Returns the button text
nil Button:text(string text)
Sets the text of the button
Label
Label Label:new(number x, number y, number width, number height, [string text = ""])
Extends Component, is a simple selectable, readonly text field
Label:text
string Button:text()
Returns the label text
nil Button:text(string text)
Sets the text of the label
Window
Window Window:new(number x, number y, number width, number height)
A modal form to display components, using -1 for either x or y values will centre the Window on that axis.
Window:addComponent
nil Window:addComponent(Component newComponent)
Add a component to the window (The component must not have already been added to another Window object)
Window:removeComponent
nil Window:removeComponent(Component newComponent)
Remove a component from the window
Methods
interface.addComponent
nil interface.addComponent(Component newComponent)
Add a component to master game window.
interface.removeComponent
nil interface.removeComponent(Component newComponent)
Remove a component from the master game window.
interface.showWindow
nil interface.showWindow(Window newWindow)
Push a Window into the top of the modal stack
interface.closeWindow
nil interface.closeWindow(Window newWindow)
Pop a Window off the top of the modal stack. If the given Window is not the top item in the stack, this will have no effect,