- New Objects (Flexbox, Graph, Treeview) - Pluginsystem to add/remove functionality - Reworked the entire Object system, instead of one big Object Class we have multiple classes: Object, VisualObject, ChangeableObject - Instead of one big Frame Class we have multiple Frame Classes: BaseFrame, Frame, MovableFrame, ScrollableFrame, MonitorFrame, Flexbox - Removed the Animation Object, and added a animation plugin instead - Removed the Graphic Object and merged it's functionality with the image object - Updated currently existing objects
39 lines
1002 B
Markdown
39 lines
1002 B
Markdown
## setEnviroment
|
|
|
|
### Description
|
|
|
|
Changes the default environment to a custom environment
|
|
|
|
### Parameters
|
|
|
|
1. `table` - Enviroment table
|
|
|
|
### Returns
|
|
|
|
1. `object` object in use
|
|
|
|
### Usage
|
|
|
|
* Set a custom environment for a program:
|
|
|
|
```lua
|
|
local basalt = require("basalt")
|
|
|
|
local mainFrame = basalt.createFrame()
|
|
local aProgram = mainFrame:addProgram()
|
|
|
|
local customEnvironment = {
|
|
print = function(...)
|
|
local args = {...}
|
|
basalt.debug("Custom print:", unpack(args))
|
|
end
|
|
}
|
|
|
|
aProgram:setEnvironment(customEnvironment) -- Set the custom environment
|
|
aProgram:execute(function()
|
|
print("Hello, World!")
|
|
end)
|
|
```
|
|
|
|
In this example, a Program object is created and added to the mainFrame. A custom environment table is created with a custom `print` function. The custom environment is then set for the program using the `setEnvironment` method. When the program is executed, it will use the custom `print` function from the custom environment instead of the default print function.
|