Updated some formatting

Updated formatting for object
This commit is contained in:
Robert Jelic
2022-10-20 21:05:29 +02:00
parent 4352d36831
commit ab72f244ed
42 changed files with 381 additions and 122 deletions

View File

@@ -1,4 +1,7 @@
# Object
## disable
Disables the object's event listeners
This will disable the object. Which means it doesn't listen to any events anymore.
This will disable the object. Which means it doesn't listen to any events anymore.

View File

@@ -1,4 +1,7 @@
# Object
## enable
Enables the object's event listeners
If the object's is disabled, it will stop listening to incoming events, this will reenable it.
If the object's is disabled, it will stop listening to incoming events, this will reenable it.

View File

@@ -1,16 +1,24 @@
# Object
## getAbsolutePosition
Converts the relative coordinates into absolute coordinates
#### Parameters:
### Parameters
1. `number|nil` x
2. `number|nil` y
#### Returns:
### Returns
1. `object` The object in use
#### Usage:
### Usage
* Creates a frame and a button and prints the button's absolute position to the debug console
```lua
local mainFrame = basalt.createFrame():setPosition(3,3)
local aButton = mainFrame:addButton():setSize(8,1):setPosition(4,2)
basalt.debug(aButton:getAbsolutePosition()) -- returns 7,5 (frame coords + own coords) instead of 4,2
```
```

View File

@@ -1,16 +1,23 @@
# Object
## getAnchorPosition
Converts the x and y coordinates into the anchor coordinates of the object
#### Parameters:
### Parameters
1. `number|nil` x
2. `number|nil` y, if nothing it uses the object's x, y
#### Returns:
#### Returns
1. `number` x
2. `number` y
#### Usage:
#### Usage
* Prints the anchor position to the debug console
```lua
local mainFrame = basalt.createFrame():setSize(15,15)
local aButton = mainFrame:addButton()
@@ -18,4 +25,4 @@ local aButton = mainFrame:addButton()
:setSize(8,1)
:setPosition(1,1)
basalt.debug(aButton:getAnchorPosition()) -- returns 7,14 (framesize - own size) instead of 1,1
```
```

View File

@@ -1,5 +1,9 @@
# Object
## getBackground
Returns the current background color
#### Returns:
### Returns
1. `number` color

View File

@@ -1,5 +1,9 @@
# Object
## getForeground
Returns the current foreground color
#### Returns:
### Returns
1. `number` color

View File

@@ -1,11 +1,17 @@
# Object
## getName
Returns the given name of the object
#### Returns:
### Returns
1. `string` name
#### Usage:
#### Usage
* Prints name of object to debug window
```lua
local main = basalt.createFrame()
basalt.debug(main:getName()) -- returns the uuid
@@ -14,4 +20,4 @@ basalt.debug(main:getName()) -- returns the uuid
```lua
local main = basalt.createFrame("myFirstMainFrame")
basalt.debug(main:getName()) -- returns myFirstMainFrame
```
```

View File

@@ -1,6 +1,10 @@
# Object
## getPosition
Returns the object's position
#### Returns:
### Returns
1. `number` x
2. `number` y

View File

@@ -1,6 +1,10 @@
# Object
## getSize
Returns the object's size
#### Returns:
### Returns
1. `number` w
2. `number` h

View File

@@ -1,12 +1,19 @@
# Object
## getValue
Returns the currently saved value
#### Returns:
### Returns
1. `any` Object's value
#### Usage:
### Usage
* Prints the value of the checkbox to the debug console
```lua
local mainFrame = basalt.createFrame()
local aCheckbox = mainFrame:addCheckbox():setValue(true)
basalt.debug(aCheckbox:getValue()) -- returns true
```
```

View File

@@ -1,15 +1,22 @@
# Object
## hide
Hides the object
#### Returns:
### Returns
1. `object` The object in use
#### Usage:
#### Usage
* Hides a frame
```lua
local mainFrame = basalt.createFrame()
local button = mainFrame:addButton():setText("Close"):onClick(function() mainFrame:hide() end)
```
```xml
<button visible="false" />
```
```

View File

@@ -1,13 +1,19 @@
# Object
## isFocused
Returns if the object is currently the focused object of the parent frame
#### Returns:
### Returns
1. `boolean` Whether the object is focused
#### Usage:
#### Usage
* Prints whether the button is focused to the debug console
```lua
local mainFrame = basalt.createFrame()
local aButton = mainFrame:addButton()
basalt.debug(aButton:isFocused()) -- shows true or false as a debug message
```
```

View File

@@ -1,12 +1,19 @@
# Object
## isVisible
Returns if the object is currently visible
#### Returns:
### Returns
1. `boolean`
#### Usage:
#### Usage
* Prints boolean visibility of object to debug console
```lua
local mainFrame = basalt.createFrame()
local aButton = mainFrame:addButton():setSize(5,8)
basalt.debug(aButton:isVisible()) -- returns true
```
```

View File

@@ -1,5 +1,9 @@
# onChange
`onChange(self)`<br>
# Object - Event
## onChange
`onChange(self)`
This is a custom event which gets triggered as soon as the function :setValue() is called. This function is also called by basalt, for example if you change the input, textfield or checkbox (or all the different types of lists) objects.
Here is a example on how to add a onChange event to your input, and also another example for your checkbox:
@@ -25,4 +29,4 @@ end
aInput:onChange(checkInput)
aCheckbox:onChange(checkCheckbox)
```
```

View File

@@ -1,6 +1,9 @@
# onChar
# Object - Event
## onChar
`onChar(self, event, char)`
`onChar(self, event, char)`<br>
The computercraft event which triggers this method is `char`.
The char event always happens after the key event (just like in cc:tweaked)

View File

@@ -1,5 +1,7 @@
# onClick
`onClick(self, event, button, x, y)`<br>
`onClick(self, event, button, x, y)`
The computercraft event which triggers this method is `mouse_click` and `monitor_touch`.
Here is a example on how to add a onClick event to your button:
@@ -20,6 +22,7 @@ button:onClick(buttonOnClick)
```
Here is also a example on how you could create double clicks:
```lua
local basalt = require("basalt")
local doubleClickMaxTime = 0.25 -- in seconds
@@ -44,4 +47,4 @@ end
createDoubleClick(button, debugSomething) -- this is how you will create a double click.
basalt.autoUpdate()
```
```

View File

@@ -1,5 +1,9 @@
# onClickUp
`onClickUp(self, event, button, x, y)`<br>
# Object - Event
## onClickUp
`onClickUp(self, event, button, x, y)`
The computercraft event which triggers this method is `mouse_up`.
Here is a example on how to add a onClickUp event to your button:
@@ -22,4 +26,4 @@ function buttonOnRelease(self, button, x, y)
basalt.debug("Button got released!")
end
button:onClickUp(buttonOnRelease)
```
```

View File

@@ -1,8 +1,13 @@
# onDrag
`onDrag(self, event, button, x, y, xOffset, yOffset)`<br>
# Object - Event
## onDrag
`onDrag(self, event, button, x, y, xOffset, yOffset)`
The computercraft event which triggers this method is `mouse_drag`.
This is a example on how you would create a movable button:
```lua
local basalt = require("basalt")
@@ -21,6 +26,7 @@ basalt.autoUpdate()
```
Another example on how you could change the frame's offset by dragging around.
```lua
local basalt = require("basalt")
@@ -43,6 +49,7 @@ basalt.autoUpdate()
```
Also very interesting is a button where you are able to resize the frame just by dragging the button.
```lua
local basalt = require("basalt")
@@ -57,7 +64,7 @@ local dragButton = sub:addButton()
:setSize(1,1)
:setText("/")
:onDrag(function(self, button, x, y, xOffset, yOffset)
sub:setSize(-xOffset, -yOffset, true)
sub:setSize(-xOffset, -yOffset, true)
end)
basalt.autoUpdate()

View File

@@ -1,4 +1,6 @@
# onEvent
# Object - Event
## onEvent
`onEvent(self, event, ...)`
@@ -17,4 +19,4 @@ main:onEvent(function(event, side, channel, replyChannel, message, distance)
basalt.debug("Mesage received: "..tostring(message))
end
end)
```
```

View File

@@ -1,5 +1,9 @@
# onGetFocus
`onGetFocus(self)`<br>
# Object - Event
## onGetFocus
`onGetFocus(self)`
This event gets triggered as soon as the object is the currently focused object.
```lua

View File

@@ -1,6 +1,9 @@
# onHover
# Object - Event
## onHover
`onHover(self, event, button, x, y)`
`onHover(self, event, button, x, y)`<br>
The computercraft event which triggers this method is `mouse_move` - only available in [CraftOS-PC](https://www.craftos-pc.cc).
Here is a example on how to add a onHover event to your button:

View File

@@ -1,5 +1,9 @@
# onKey
`onKey(self, event, key)`<br>
# Object - Event
## onKey
`onKey(self, event, key)`
The computercraft event which triggers this method is `key` and `char`.
Here is a example on how to add a onKey event to your frame:
@@ -19,4 +23,4 @@ function openSubFrame(self, event, key)
end
end
main:onKey(openSubFrame)
```
```

View File

@@ -1,5 +1,9 @@
# onKeyUp
`onKeyUp(self, event, key)`<br>
# Object - Event
## onKeyUp
`onKeyUp(self, event, key)`
The computercraft event which triggers this method is `key_up`.
Here is a example on how to add a onKeyUp event to your frame:
@@ -18,4 +22,4 @@ function openSubFrame(self, event, key)
end
end
main:onKeyUp(openSubFrame)
```
```

View File

@@ -1,6 +1,9 @@
# onLeave
# Object - Event
## onLeave
`onLeave(self, event, button, x, y)`
`onLeave(self, event, button, x, y)`<br>
The computercraft event which triggers this method is `mouse_move` - only available in [CraftOS-PC](https://www.craftos-pc.cc).
Here is a example on how to add a onLeave event to your button:

View File

@@ -1,5 +1,9 @@
# onLoseFocus
`onLoseFocus(self)`<br>
# Object - Event
## onLoseFocus
`onLoseFocus(self)`
This event gets triggered as soon as the object loses its focus.
```lua
@@ -13,4 +17,4 @@ local aButton = main:addButton()
basalt.debug("Please come back...")
end
)
```
```

View File

@@ -1,5 +1,9 @@
# onRelease
`onRelease(self, event, button, x, y)`<br>
# Object - Event
## onRelease
`onRelease(self, event, button, x, y)`
The computercraft event which triggers this method is `mouse_up`.
The difference between onRelease and :onClickUp is that :onRelease is called even when the mouse is no longer over the object, while :onClickUp is only called when the mouse is over the object.
@@ -24,4 +28,4 @@ function buttonOnRelease(self, button, x, y)
basalt.debug("Button got released!")
end
button:onRelease(buttonOnRelease)
```
```

View File

@@ -0,0 +1,22 @@
# Object - Event
## onReposition
`onReposition(self)`
This is a custom event which gets triggered as soon as the object gets repositioned (for example by dynamic value).
Here is a example on how to add a onReposition event to your button:
```lua
local basalt = require("basalt")
local main = basalt.createFrame()
local aButton = main:addButton():setPosition(3,3)
local function onButtonReposition(self)
self:setSize(self:getWidth() - self:getX(), 3)
end
aButton:onReposition(onButtonReposition)
```

View File

@@ -1,6 +1,9 @@
# onResize
# Object - Event
## onResize
`onResize(self)`
`onResize(self)`<br>
This is a custom event which gets triggered as soon as the parent frame gets resized.
Here is a example on how to add a onResize event to your button:

View File

@@ -1,5 +1,9 @@
# onScroll
`onScroll(self, event, direction, x, y)`<br>
# Object - Event
## onScroll
`onScroll(self, event, direction, x, y)`
The computercraft event which triggers this method is `mouse_scroll`.
Here is a example on how to add a onScroll event to your button:
@@ -17,4 +21,4 @@ function buttonOnScroll(self, direction, x, y)
basalt.debug("Someone scrolls on me!")
end
button:onScroll(buttonOnScroll)
```
```

View File

@@ -1,11 +1,15 @@
# Object
## remove
Removes the object from it's parent frame. This won't 'destroy' the object, It will continue to exist as long as you still have pointers to it.
Here is a example on how a button will be fully removed from the memory:
```lua
local main = basalt.createFrame()
local button = main:addButton():setPosition(2,2):setText("Close")
button:remove()
button = nil
```
```

View File

@@ -1,14 +1,21 @@
# Object
## setAnchor
Sets the anchor of the object
#### Parameters:
### Parameters
1. `string` Anchor sides `("topLeft" "top", "topRight", "right", "bottomRight", "bottom", "bottomLeft", "left", "center")`
#### Returns:
### Returns
1. `object` The object in use
#### Usage:
### Usage
* Sets the button to have an anchor of `bottomRight`
```lua
local mainFrame = basalt.createFrame():show()
local aButton = mainFrame:addButton()
@@ -16,6 +23,7 @@ local aButton = mainFrame:addButton()
:setSize(8,1)
:setPosition(-8,1)
```
```xml
<button anchor="bottomRight" />
```
```

View File

@@ -1,16 +1,27 @@
## setBackground
Changes the object background color, if you set the value to false the background wont be visible. For example you could see trough a frame.
#### Parameters:
1. `number|color` Background color
# Object
## setBackground
Changes the object background color, if you set the value to false the background wont be visible. For example you could see trough a frame.
### Parameters
1. `number|color` Background color
1. `char` background symbol you want to draw (optional)
1. `number|color` Background symbol color (optional)
### Returns
#### Returns:
1. `object` The object in use
#### Usage:
* Creates a frame, and sets its background color to `colors.gray`
### Usage
* Creates a frame, and sets its background color to `colors.gray`, also sets a background symbol with color black.
```lua
local mainFrame = basalt.createFrame():setBackground(colors.gray)
local mainFrame = basalt.createFrame():setBackground(colors.gray, "#", colors.black)
```
```xml
<button bg="gray" />
```
```

View File

@@ -1,16 +1,24 @@
# Object
## setBorder
Sets the border of that objects, if false the border will be removed<br>
Sets the border of that objects, if false the border will be removed
Default: false
#### Parameters:
### Parameters
1. `number|color` Border color
2. `string` optional - sides. If you don't set sides, all 4 sides will have a border
#### Returns:
### Returns
1. `object` The object in use
#### Usage:
### Usage
* Sets the border to green and shows it:
```lua
local mainFrame = basalt.createFrame()
local subFrame = mainFrame:addFrame()
@@ -18,6 +26,7 @@ local subFrame = mainFrame:addFrame()
:setSize(18,6)
:setBorder(colors.green, "left", "right", "bottom")
```
```xml
<frame width="18" height="6" borderColor="green" movable="true" />
```
```

View File

@@ -1,13 +1,20 @@
## setFocus
# Object
## setFocus
Sets the object to be the focused object.
If you click on an object, it's normally automatically the focused object. For example, if you call :show() on a frame, and you want this particular frame to be in
the foreground, you should also use :setFocus()
#### Returns:
### Returns
1. `object` The object in use
#### Usage:
### Usage
* Sets the button to the focused object
```lua
local mainFrame = basalt.createFrame()
local aButton = mainFrame:addButton():setFocus()
```
```

View File

@@ -1,16 +1,25 @@
# Object
## setForeground
Changes the object text color
#### Parameters:
### Parameters
1. `number|color` Foreground color
#### Returns:
### Returns
1. `object` The object in use
#### Usage:
### Usage
* Creates a frame, and sets its foreground color to `colors.green`
```lua
local mainFrame = basalt.createFrame():setForeground(colors.green)
```
```xml
<button fg="green" />
```
```

View File

@@ -1,13 +1,21 @@
# Object
## setParent
Sets the parent frame of the object
#### Parameters:
### Parameters
1. `frame` The to-be parent frame
#### Returns:
### Returns
1. `object` The object in use
#### Usage:
### Usage
* Sets the parent frame of the random frame, adding it to the main frame when the button is clicked"
```lua
local mainFrame = basalt.createFrame()
local aRandomFrame = basalt.createFrame()
@@ -16,4 +24,4 @@ local aButton = mainFrame:addButton():onClick(
aRandomFrame:setParent(mainFrame)
end
)
```
```

View File

@@ -1,28 +1,39 @@
# Object
## setPosition
Changes the position relative to its parent frame
#### Parameters:
### Parameters
1. `number|string` x coordinate as number or dynamicvalue as string
2. `number|string` y coordinate as number or dynamicvalue as string
3. `boolean` Whether it will add/remove to the current coordinates instead of setting them
#### Returns:
### Returns
1. `object` The object in use
#### Usage:
### Usage
* Sets the Buttons position to an x coordinate of 2 with a y coordinate of 3
```lua
local mainFrame = basalt.createFrame()
mainFrame:addButton():setPosition(2,3)
```
```xml
<button x="2" y="3" />
```
if you prefer to use dynamic values:
```lua
local mainFrame = basalt.createFrame()
mainFrame:addButton():setPosition("parent.w * 0.5", 23)
```
```xml
<button x="parent.w * 0.5" y="3" />
```
```

View File

@@ -1,14 +1,21 @@
# Object
## setShadow
Sets the shadow color - default: false
#### Parameters:
### Parameters
1. `number|color` Shadow color
#### Returns:
#### Returns
1. `object` The object in use
#### Usage:
#### Usage
* Sets the shadow to green and shows it:
```lua
local mainFrame = basalt.createFrame()
local subFrame = mainFrame:addFrame()
@@ -16,7 +23,9 @@ local subFrame = mainFrame:addFrame()
:setSize(18,6)
:setShadow(colors.green)
```
Or:
Or:
```xml
<frame width="18" height="6" shadowColor="green" movable="true" />
```
```

View File

@@ -1,18 +1,27 @@
# Object
## setSize
Changes the object size
#### Parameters:
### Parameters
1. `number|string` width as number or dynamicvalue as string
2. `number|string` height as number or dynamicvalue as string
#### Returns:
### Returns
1. `object` The object in use
#### Usage:
### Usage
* Sets the frame to have a width of 15 and a height of 12
```lua
local mainFrame = basalt.createFrame()
local subFrame = mainFrame:addFrame():setSize(15,12)
```
```xml
<frame width="15" height="12" />
```
```

View File

@@ -1,17 +1,26 @@
# Object
## setValue
Sets the value of that object (input, label, checkbox, textfield, scrollbar,...)
#### Parameters:
### Parameters
1. `any` Value to set the object to
#### Returns:
### Returns
1. `object` The object in use
#### Usage:
### Usage
* Creates a checkbox and ticks it
```lua
local mainFrame = basalt.createFrame()
local aCheckbox = mainFrame:addCheckbox():setValue(true)
```
```xml
<checkbox value="true" />
```
```

View File

@@ -1,19 +1,28 @@
# Object
## setZIndex
Sets the z-index. Higher value means higher draw/event priority. You can also add multiple objects to the same z-index, if so the last added object will have the highest priority.
#### Parameters:
### Parameters
1. `number` z-index
#### Returns:
### Returns
1. `object` The object in use
#### Usage:
### Usage
* Sets the buttons z-index to `1` and the labels z-index to `2`
```lua
local mainFrame = basalt.createFrame()
local aButton = mainFrame:addButton():setZIndex(1):setPosition(2,2)
local aLabel = mainFrame:addButton():setZIndex(2):setPosition(2,2):setText("I am a label!")
```
```xml
<button x="2" y="2" zIndex="1" />
<label x="2" y="2" text="I am a label!" zIndex="2" />
```
```

View File

@@ -1,15 +1,23 @@
# Object
## show
Shows the object (only if the parent frame is already visible)
#### Returns:
### Returns
1. `object` The object in use
#### Usage:
### Usage
* Shows a frame
```lua
local mainFrame = basalt.createFrame()
local button = mainFrame:addButton()
button:show()
```
```xml
<button visible="true" />
```
```