Skip to content

Program

Robert Jelic edited this page Apr 25, 2022 · 10 revisions

This is one of my favorite part
With the program object you are able to open programs like shell or worm or any custom program you've made. There is only 1 thing you have to do: the program needs at least one os.sleep() or coroutine.yield() somewhere.

local mainFrame = basalt.createFrame("myFirstFrame"):show()
local aProgram = mainFrame:addProgram("myFirstProgram"):show()

This will create a default program with the size 12 width and 6 height on position 1 1 (relative to its parent frame), the default background is colors.black, the default text color is colors.white and the default zIndex is 5.

Here are all possible functions available for programs. Remember program inherit from object:

getStatus

returns the current status

local mainFrame = basalt.createFrame("myFirstFrame"):show()
local aProgram = mainFrame:addProgram("myFirstProgram"):show()
NyoUI.debug(aProgram:getStatus()) -- returns "running", "normal", "suspended" or "dead" 

args:-
returns: "running" - if its running, "normal" - is active but not running (waiting for a event), "suspended" - is suspended or not started, "dead" - has finished or stopped with an error

execute

executes the given path (-program)

local mainFrame = basalt.createFrame("myFirstFrame"):show()
local aProgram = mainFrame:addProgram("myFirstProgram"):show()
aProgram:execute("rom/programs/fun/worm.lua") -- executes worm, have fuuuuuuuuuuuuuuun - only hard difficulty ok?

args: filepath - the path to the program you want to execute
returns: the object

stop

gives a terminate event to the program, which means if you are running a shell, and the shell executes a program by itself you have to call stop 2 times to entirely close the running program

local mainFrame = basalt.createFrame("myFirstFrame"):show()
local aProgram = mainFrame:addProgram("myFirstProgram"):execute("rom/programs/shell.lua"):show()
mainFrame:addButton("myFirstButton"):setText("close"):onClick(function() aProgram:stop() end):show()

args:-
returns: the object

Wiki Navigation

Home
Clone this wiki locally