Merge branch 'gh-pages' of https://github.com/Pyroxenium/Basalt2 into gh-pages
This commit is contained in:
@@ -7,17 +7,19 @@ This is the base frame class. It is the root element of all elements and the onl
|
||||
|---|---|---|
|
||||
|_render|`Render`|The render object|
|
||||
|_renderUpdate|`boolean`|Whether the render object needs to be updated|
|
||||
|_peripheralName|`string`|The name of a peripheral|
|
||||
|
||||
## Properties
|
||||
|
||||
|Property|Type|Default|Description|
|
||||
|---|---|---|---|
|
||||
|text|term|nil|The terminal object to render to
|
||||
|term|term|peripheral|term.current()|The terminal or (monitor) peripheral object to render to
|
||||
|
||||
## Functions
|
||||
|
||||
|Method|Returns|Description|
|
||||
|---|---|---|
|
||||
|[BaseFrame:dispatchEvent](#baseframe-dispatchevent)|-|
|
||||
|[BaseFrame:setCursor](#baseframe-setcursor)|-|Sets the cursor position
|
||||
|
||||
|
||||
@@ -30,6 +32,8 @@ This is the base frame class. It is the root element of all elements and the onl
|
||||
|BaseFrame:init|table|Initializes the Frame instance
|
||||
|BaseFrame:key|-|Handles key events
|
||||
|BaseFrame:key_up|-|Handles key up events
|
||||
|BaseFrame:monitor_touch|-|Handles monitor touch events
|
||||
|BaseFrame:mouse_click|-|Handles mouse click events
|
||||
|BaseFrame:mouse_up|-|Handles mouse up events
|
||||
|BaseFrame:multiBlit|-|Renders a multiBlit to the render Object
|
||||
|BaseFrame:render|-|Renders the Frame
|
||||
@@ -37,6 +41,8 @@ This is the base frame class. It is the root element of all elements and the onl
|
||||
|BaseFrame:textBg|-|Renders a text with a background color to the render Object
|
||||
|BaseFrame:textFg|-|Renders a text with a foreground color to the render Object
|
||||
|
||||
## BaseFrame:dispatchEvent()
|
||||
|
||||
## BaseFrame:setCursor(x, y, blink)
|
||||
Sets the cursor position
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ The Display is a special element where you can use the window (term) API to draw
|
||||
|Method|Returns|Description|
|
||||
|---|---|---|
|
||||
|[Display:getWindow](#display-getwindow)|table|Returns the current window object
|
||||
|[Display:write](#display-write)|Display|Writes text to the display
|
||||
|
||||
|
||||
## Protected Functions
|
||||
@@ -21,4 +22,17 @@ Returns the current window object
|
||||
### Returns
|
||||
* `table` `window` The current window object
|
||||
|
||||
## Display:write(x, y, text, fg?, bg?)
|
||||
Writes text to the display at the given position with the given foreground and background colors
|
||||
|
||||
### Parameters
|
||||
* `x` `number` The x position to write to
|
||||
* `y` `number` The y position to write to
|
||||
* `text` `string` The text to write
|
||||
* `fg` *(optional)* `colors` The foreground color (optional)
|
||||
* `bg` *(optional)* `colors` The background color (optional)
|
||||
|
||||
### Returns
|
||||
* `Display` `self` The display instance
|
||||
|
||||
|
||||
|
||||
@@ -32,11 +32,14 @@ What this code does is it loads basalt into the project, and you can access it b
|
||||
|[basalt.getActiveFrame](#basalt-getactiveframe)|BaseFrame?|Returns the active frame
|
||||
|[basalt.getElementClass](#basalt-getelementclass)|table|Returns an element class
|
||||
|[basalt.getElementManager](#basalt-getelementmanager)|table|Returns the element manager
|
||||
|[basalt.getErrorManager](#basalt-geterrormanager)|table|Returns the error manager
|
||||
|[basalt.getFocus](#basalt-getfocus)|BaseFrame?|Returns the focused frame
|
||||
|[basalt.getMainFrame](#basalt-getmainframe)|BaseFrame|Gets or creates the main frame
|
||||
|[basalt.removeSchedule](#basalt-removeschedule)|boolean|Removes a scheduled update
|
||||
|[basalt.run](#basalt-run)|-|Starts the Basalt runtime
|
||||
|[basalt.schedule](#basalt-schedule)|thread|Schedules a function to run in a coroutine
|
||||
|[basalt.setActiveFrame](#basalt-setactiveframe)|-|Sets the active frame
|
||||
|[basalt.setFocus](#basalt-setfocus)|-|Sets a frame as focused
|
||||
|[basalt.stop](#basalt-stop)|-|Stops the Basalt runtime
|
||||
|[basalt.update](#basalt-update)|-|Runs basalt once
|
||||
|
||||
@@ -62,11 +65,6 @@ Creates and returns a new BaseFrame
|
||||
### Returns
|
||||
* `BaseFrame` `BaseFrame` The created frame instance
|
||||
|
||||
### Usage
|
||||
```lua
|
||||
local mainFrame = basalt.createFrame()
|
||||
```
|
||||
|
||||
## basalt.getAPI(name)
|
||||
Returns a Plugin API
|
||||
|
||||
@@ -76,17 +74,15 @@ Returns a Plugin API
|
||||
### Returns
|
||||
* `table` `Plugin` The plugin API
|
||||
|
||||
## basalt.getActiveFrame()
|
||||
## basalt.getActiveFrame(t?)
|
||||
Returns the active frame
|
||||
|
||||
### Parameters
|
||||
* `t` *(optional)* `term` The term to get the active frame for (default: current term)
|
||||
|
||||
### Returns
|
||||
* `BaseFrame?` `BaseFrame` The frame to set as active
|
||||
|
||||
### Usage
|
||||
```lua
|
||||
local frame = basalt.getActiveFrame()
|
||||
```
|
||||
|
||||
## basalt.getElementClass(name)
|
||||
Returns an element's class without creating a instance
|
||||
|
||||
@@ -102,10 +98,17 @@ Returns the element manager instance
|
||||
### Returns
|
||||
* `table` `ElementManager` The element manager
|
||||
|
||||
### Usage
|
||||
```lua
|
||||
local manager = basalt.getElementManager()
|
||||
```
|
||||
## basalt.getErrorManager()
|
||||
Returns the error manager instance
|
||||
|
||||
### Returns
|
||||
* `table` `ErrorManager` The error manager
|
||||
|
||||
## basalt.getFocus()
|
||||
Returns the focused frame
|
||||
|
||||
### Returns
|
||||
* `BaseFrame?` `BaseFrame` The focused frame
|
||||
|
||||
## basalt.getMainFrame()
|
||||
Gets or creates the main frame
|
||||
@@ -113,11 +116,6 @@ Gets or creates the main frame
|
||||
### Returns
|
||||
* `BaseFrame` `BaseFrame` The main frame instance
|
||||
|
||||
### Usage
|
||||
```lua
|
||||
local frame = basalt.getMainFrame()
|
||||
```
|
||||
|
||||
## basalt.removeSchedule(func)
|
||||
Removes a scheduled update
|
||||
|
||||
@@ -127,23 +125,12 @@ Removes a scheduled update
|
||||
### Returns
|
||||
* `boolean` `success` Whether the scheduled function was removed
|
||||
|
||||
### Usage
|
||||
```lua
|
||||
basalt.removeSchedule(scheduleId)
|
||||
```
|
||||
|
||||
## basalt.run(isActive?)
|
||||
Starts the Basalt runtime
|
||||
|
||||
### Parameters
|
||||
* `isActive` *(optional)* `boolean` Whether to start active (default: true)
|
||||
|
||||
### Usage
|
||||
```lua
|
||||
basalt.run()
|
||||
basalt.run(false)
|
||||
```
|
||||
|
||||
## basalt.schedule(func)
|
||||
Schedules a function to run in a coroutine
|
||||
|
||||
@@ -153,39 +140,26 @@ Schedules a function to run in a coroutine
|
||||
### Returns
|
||||
* `thread` `func` The scheduled function
|
||||
|
||||
### Usage
|
||||
```lua
|
||||
local id = basalt.scheduleUpdate(myFunction)
|
||||
```
|
||||
|
||||
## basalt.setActiveFrame(frame)
|
||||
## basalt.setActiveFrame(frame, setActive?)
|
||||
Sets the active frame
|
||||
|
||||
### Parameters
|
||||
* `frame` `BaseFrame` The frame to set as active
|
||||
* `setActive` *(optional)* `boolean` Whether to set the frame as active (default: true)
|
||||
|
||||
### Usage
|
||||
```lua
|
||||
basalt.setActiveFrame(myFrame)
|
||||
```
|
||||
## basalt.setFocus(frame)
|
||||
Sets a frame as focused
|
||||
|
||||
### Parameters
|
||||
* `frame` `BaseFrame` The frame to set as focused
|
||||
|
||||
## basalt.stop()
|
||||
Stops the Basalt runtime
|
||||
|
||||
### Usage
|
||||
```lua
|
||||
basalt.stop()
|
||||
```
|
||||
|
||||
## basalt.update(...)
|
||||
Runs basalt once, can be used to update the UI manually, but you have to feed it the events
|
||||
|
||||
### Parameters
|
||||
* `...` *(vararg)* `any` The event to run with
|
||||
|
||||
### Usage
|
||||
```lua
|
||||
basalt.update()
|
||||
```
|
||||
|
||||
|
||||
|
||||
@@ -6,25 +6,27 @@ persistent states, computed states, and state sharing between elements.
|
||||
|
||||
|Method|Returns|Description|
|
||||
|---|---|---|
|
||||
|[BaseElement:computed](#baseelement-computed)|BaseElement|Creates a computed state
|
||||
|[BaseElement:bind](#baseelement-bind)|BaseElement|
|
||||
|[BaseElement:computed](#baseelement-computed)|-|
|
||||
|[BaseElement:getState](#baseelement-getstate)|any|Gets a state value
|
||||
|[BaseElement:initializeState](#baseelement-initializestate)|BaseElement|Initializes a new state
|
||||
|[BaseElement:onStateChange](#baseelement-onstatechange)|BaseElement|Watches for state changes
|
||||
|[BaseElement:removeStateChange](#baseelement-removestatechange)|BaseElement|Removes a state change observer
|
||||
|[BaseElement:setState](#baseelement-setstate)|BaseElement|Sets a state value
|
||||
|[BaseElement:shareState](#baseelement-sharestate)|BaseElement|Shares state between elements
|
||||
|
||||
|
||||
## BaseElement:computed(self, key, computeFn)
|
||||
Creates a computed state that derives its value from other states
|
||||
## BaseElement:bind(self, propertyName, stateName)
|
||||
Binds a property to a state
|
||||
|
||||
### Parameters
|
||||
* `self` `BaseElement` The element to create computed state for
|
||||
* `key` `string` The name of the computed state
|
||||
* `computeFn` `function` Function that computes the state value
|
||||
* `self` `BaseElement` The element to bind
|
||||
* `propertyName` `string` The property to bind
|
||||
* `stateName` `string` The state to bind to (optional, uses propertyName if not provided)
|
||||
|
||||
### Returns
|
||||
* `BaseElement` `self` The element instance
|
||||
|
||||
## BaseElement:computed()
|
||||
|
||||
## BaseElement:getState(self, name)
|
||||
Gets the value of a state
|
||||
|
||||
@@ -35,20 +37,6 @@ Gets the value of a state
|
||||
### Returns
|
||||
* `any` `value` The current state value
|
||||
|
||||
## BaseElement:initializeState(self, name, default, canTriggerRender?, persist?, path?)
|
||||
Initializes a new state for this element
|
||||
|
||||
### Parameters
|
||||
* `self` `BaseElement` The element to initialize state for
|
||||
* `name` `string` The name of the state
|
||||
* `default` `any` The default value of the state
|
||||
* `canTriggerRender` *(optional)* `boolean` Whether state changes trigger a render
|
||||
* `persist` *(optional)* `boolean` Whether to persist the state to disk
|
||||
* `path` *(optional)* `string` Custom file path for persistence
|
||||
|
||||
### Returns
|
||||
* `BaseElement` `self` The element instance
|
||||
|
||||
## BaseElement:onStateChange(self, stateName, callback)
|
||||
Registers a callback for state changes
|
||||
|
||||
@@ -60,6 +48,17 @@ Registers a callback for state changes
|
||||
### Returns
|
||||
* `BaseElement` `self` The element instance
|
||||
|
||||
## BaseElement:removeStateChange(self, stateName, callback)
|
||||
Removes a state change observer
|
||||
|
||||
### Parameters
|
||||
* `self` `BaseElement` The element to remove observer from
|
||||
* `stateName` `string` The state to remove observer from
|
||||
* `callback` `function` The callback function to remove
|
||||
|
||||
### Returns
|
||||
* `BaseElement` `self` The element instance
|
||||
|
||||
## BaseElement:setState(self, name, value)
|
||||
Sets the value of a state
|
||||
|
||||
@@ -71,15 +70,33 @@ Sets the value of a state
|
||||
### Returns
|
||||
* `BaseElement` `self` The element instance
|
||||
|
||||
## BaseElement:shareState(self, stateKey...)
|
||||
Shares a state with other elements, keeping them in sync
|
||||
|
||||
---
|
||||
<br>
|
||||
|
||||
# BaseFrame : Container
|
||||
|
||||
## Functions
|
||||
|
||||
|Method|Returns|Description|
|
||||
|---|---|---|
|
||||
|[BaseFrame.setup](#baseframe-setup)|-|
|
||||
|[BaseFrame:initializeState](#baseframe-initializestate)|BaseFrame|Initializes a new state
|
||||
|
||||
|
||||
## BaseFrame.setup()
|
||||
|
||||
## BaseFrame:initializeState(self, name, default, persist?, path?)
|
||||
Initializes a new state for this element
|
||||
|
||||
### Parameters
|
||||
* `self` `BaseElement` The source element
|
||||
* `stateKey` `string` The state to share
|
||||
* `...` *(vararg)* `BaseElement` The target elements to share with
|
||||
* `self` `BaseFrame` The element to initialize state for
|
||||
* `name` `string` The name of the state
|
||||
* `default` `any` The default value of the state
|
||||
* `persist` *(optional)* `boolean` Whether to persist the state to disk
|
||||
* `path` *(optional)* `string` Custom file path for persistence
|
||||
|
||||
### Returns
|
||||
* `BaseElement` `self` The source element
|
||||
* `BaseFrame` `self` The element instance
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user