Difference between revisions of "Lua API:Interface"
(→Methods) |
(Add some of the new methods on Component and add Textbox) |
||
Line 4: | Line 4: | ||
=== Component === | === Component === | ||
'''Abstract class, no constructor''' | '''Abstract class, no constructor''' | ||
+ | ==== Component:visible ==== | ||
+ | boolean Component:visible() | ||
+ | Returns the visibility of the component | ||
+ | |||
+ | nil Component:visible(boolean visible) | ||
+ | Sets the visibility of the component | ||
+ | |||
==== Component:size ==== | ==== Component:size ==== | ||
number, number Component:size() | number, number Component:size() | ||
Line 38: | Line 45: | ||
nil Button:text(string text) | nil Button:text(string text) | ||
Sets the text of the button | Sets the text of the button | ||
+ | |||
+ | ==== Button:enabled ==== | ||
+ | boolean Button:enabled() | ||
+ | Returns the enabled state of the button | ||
+ | |||
+ | nil Button:enabled(boolean enabled) | ||
+ | Sets the enabled state of the button | ||
=== Label === | === Label === | ||
Line 44: | Line 58: | ||
==== Label:text ==== | ==== Label:text ==== | ||
− | string | + | string Label:text() |
Returns the label text | Returns the label text | ||
− | nil | + | nil Label:text(string text) |
Sets the text of the label | Sets the text of the label | ||
+ | |||
+ | === Textbox === | ||
+ | Textbox Textbox:new(number x, number y, number width, number height [, string text = "" [, string placeholder = "" ]]) | ||
+ | Extends Component, is a text input field, the placeholder text is shown if the component is no focused and contains no text | ||
+ | |||
+ | ==== Textbox:onTextChanged ==== | ||
+ | nil Textbox:onTextChanged(function(sender) textChangedListener) | ||
+ | Sets the listener for text changed actions | ||
+ | |||
+ | ==== Textbox:text ==== | ||
+ | string Textbox:text() | ||
+ | Returns the text in the field | ||
+ | |||
+ | nil Textbox:text(string text) | ||
+ | Sets the text of the field | ||
+ | |||
+ | ==== Textbox:readonly ==== | ||
+ | boolean Textbox:readonly() | ||
+ | Returns the readonly status of the field. | ||
+ | |||
+ | nil Textbox:readonly(boolean readonly) | ||
+ | Sets the readonly status of the field. | ||
=== Window === | === Window === |
Revision as of 23:06, 2 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:visible
boolean Component:visible()
Returns the visibility of the component
nil Component:visible(boolean visible)
Sets the visibility of the component
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
Button:enabled
boolean Button:enabled()
Returns the enabled state of the button
nil Button:enabled(boolean enabled)
Sets the enabled state 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 Label:text()
Returns the label text
nil Label:text(string text)
Sets the text of the label
Textbox
Textbox Textbox:new(number x, number y, number width, number height [, string text = "" [, string placeholder = "" ]])
Extends Component, is a text input field, the placeholder text is shown if the component is no focused and contains no text
Textbox:onTextChanged
nil Textbox:onTextChanged(function(sender) textChangedListener)
Sets the listener for text changed actions
Textbox:text
string Textbox:text()
Returns the text in the field
nil Textbox:text(string text)
Sets the text of the field
Textbox:readonly
boolean Textbox:readonly()
Returns the readonly status of the field.
nil Textbox:readonly(boolean readonly)
Sets the readonly status of the field.
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,