Merge branch 'main' of https://github.com/Pyroxenium/Basalt2
This commit is contained in:
7884
BasaltLS.lua
7884
BasaltLS.lua
File diff suppressed because it is too large
Load Diff
678
config.lua
678
config.lua
@@ -1,439 +1,439 @@
|
|||||||
return {
|
return {
|
||||||
|
["metadata"] = {
|
||||||
|
["version"] = "2.0",
|
||||||
|
["generated"] = "Mon Oct 6 19:46:10 2025",
|
||||||
|
},
|
||||||
["categories"] = {
|
["categories"] = {
|
||||||
["core"] = {
|
|
||||||
["files"] = {
|
|
||||||
["render"] = {
|
|
||||||
["requires"] = {
|
|
||||||
},
|
|
||||||
["path"] = "render.lua",
|
|
||||||
["size"] = 12422,
|
|
||||||
["description"] = "",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["main"] = {
|
|
||||||
["requires"] = {
|
|
||||||
},
|
|
||||||
["path"] = "main.lua",
|
|
||||||
["size"] = 14085,
|
|
||||||
["description"] = "",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["elementManager"] = {
|
|
||||||
["requires"] = {
|
|
||||||
},
|
|
||||||
["path"] = "elementManager.lua",
|
|
||||||
["size"] = 6297,
|
|
||||||
["description"] = "",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["errorManager"] = {
|
|
||||||
["requires"] = {
|
|
||||||
},
|
|
||||||
["path"] = "errorManager.lua",
|
|
||||||
["size"] = 3789,
|
|
||||||
["description"] = "",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["log"] = {
|
|
||||||
["requires"] = {
|
|
||||||
},
|
|
||||||
["path"] = "log.lua",
|
|
||||||
["size"] = 3142,
|
|
||||||
["description"] = "",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["init"] = {
|
|
||||||
["requires"] = {
|
|
||||||
},
|
|
||||||
["path"] = "init.lua",
|
|
||||||
["size"] = 622,
|
|
||||||
["description"] = "",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["propertySystem"] = {
|
|
||||||
["requires"] = {
|
|
||||||
},
|
|
||||||
["path"] = "propertySystem.lua",
|
|
||||||
["size"] = 15524,
|
|
||||||
["description"] = "",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
["description"] = "Core Files",
|
|
||||||
},
|
|
||||||
["libraries"] = {
|
["libraries"] = {
|
||||||
["files"] = {
|
["files"] = {
|
||||||
["utils"] = {
|
["utils"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
["requires"] = {
|
["requires"] = {
|
||||||
},
|
},
|
||||||
["path"] = "libraries/utils.lua",
|
|
||||||
["size"] = 2661,
|
["size"] = 2661,
|
||||||
["description"] = "",
|
["path"] = "libraries/utils.lua",
|
||||||
["default"] = true,
|
|
||||||
},
|
},
|
||||||
["expect"] = {
|
["expect"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
["requires"] = {
|
["requires"] = {
|
||||||
},
|
},
|
||||||
["path"] = "libraries/expect.lua",
|
|
||||||
["size"] = 846,
|
["size"] = 846,
|
||||||
["description"] = "",
|
["path"] = "libraries/expect.lua",
|
||||||
["default"] = true,
|
|
||||||
},
|
},
|
||||||
["colorHex"] = {
|
["colorHex"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
["requires"] = {
|
["requires"] = {
|
||||||
},
|
},
|
||||||
["path"] = "libraries/colorHex.lua",
|
|
||||||
["size"] = 132,
|
["size"] = 132,
|
||||||
["description"] = "",
|
["path"] = "libraries/colorHex.lua",
|
||||||
["default"] = true,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
["description"] = "Libraries",
|
["description"] = "Libraries",
|
||||||
},
|
},
|
||||||
["plugins"] = {
|
["plugins"] = {
|
||||||
["files"] = {
|
["files"] = {
|
||||||
["animation"] = {
|
|
||||||
["requires"] = {
|
|
||||||
},
|
|
||||||
["path"] = "plugins/animation.lua",
|
|
||||||
["size"] = 18421,
|
|
||||||
["description"] = "",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["debug"] = {
|
|
||||||
["requires"] = {
|
|
||||||
},
|
|
||||||
["path"] = "plugins/debug.lua",
|
|
||||||
["size"] = 6250,
|
|
||||||
["description"] = "",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["theme"] = {
|
|
||||||
["requires"] = {
|
|
||||||
},
|
|
||||||
["path"] = "plugins/theme.lua",
|
|
||||||
["size"] = 7042,
|
|
||||||
["description"] = "",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["benchmark"] = {
|
|
||||||
["requires"] = {
|
|
||||||
[1] = "VisualElement",
|
|
||||||
},
|
|
||||||
["path"] = "plugins/benchmark.lua",
|
|
||||||
["size"] = 12581,
|
|
||||||
["description"] = "",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["reactive"] = {
|
|
||||||
["requires"] = {
|
|
||||||
},
|
|
||||||
["path"] = "plugins/reactive.lua",
|
|
||||||
["size"] = 8619,
|
|
||||||
["description"] = "",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["state"] = {
|
["state"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
["requires"] = {
|
["requires"] = {
|
||||||
[1] = "Container",
|
[1] = "Container",
|
||||||
},
|
},
|
||||||
["path"] = "plugins/state.lua",
|
|
||||||
["size"] = 6896,
|
["size"] = 6896,
|
||||||
["description"] = "",
|
["path"] = "plugins/state.lua",
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["canvas"] = {
|
|
||||||
["requires"] = {
|
|
||||||
},
|
|
||||||
["path"] = "plugins/canvas.lua",
|
|
||||||
["size"] = 7873,
|
|
||||||
["description"] = "",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
},
|
||||||
["xml"] = {
|
["xml"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
["requires"] = {
|
["requires"] = {
|
||||||
},
|
},
|
||||||
["path"] = "plugins/xml.lua",
|
|
||||||
["size"] = 9940,
|
["size"] = 9940,
|
||||||
["description"] = "",
|
["path"] = "plugins/xml.lua",
|
||||||
|
},
|
||||||
|
["reactive"] = {
|
||||||
["default"] = true,
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
},
|
||||||
|
["size"] = 8619,
|
||||||
|
["path"] = "plugins/reactive.lua",
|
||||||
|
},
|
||||||
|
["debug"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
},
|
||||||
|
["size"] = 6250,
|
||||||
|
["path"] = "plugins/debug.lua",
|
||||||
|
},
|
||||||
|
["canvas"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
},
|
||||||
|
["size"] = 7873,
|
||||||
|
["path"] = "plugins/canvas.lua",
|
||||||
|
},
|
||||||
|
["theme"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
},
|
||||||
|
["size"] = 7042,
|
||||||
|
["path"] = "plugins/theme.lua",
|
||||||
|
},
|
||||||
|
["benchmark"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
[1] = "VisualElement",
|
||||||
|
},
|
||||||
|
["size"] = 12581,
|
||||||
|
["path"] = "plugins/benchmark.lua",
|
||||||
|
},
|
||||||
|
["animation"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
},
|
||||||
|
["size"] = 18421,
|
||||||
|
["path"] = "plugins/animation.lua",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
["description"] = "Plugins",
|
["description"] = "Plugins",
|
||||||
},
|
},
|
||||||
["elements"] = {
|
["elements"] = {
|
||||||
["files"] = {
|
["files"] = {
|
||||||
["LineChart"] = {
|
["List"] = {
|
||||||
["requires"] = {
|
["default"] = true,
|
||||||
},
|
["description"] = "A scrollable list of selectable items",
|
||||||
["path"] = "elements/LineChart.lua",
|
|
||||||
["size"] = 3227,
|
|
||||||
["description"] = "",
|
|
||||||
["default"] = false,
|
|
||||||
},
|
|
||||||
["Slider"] = {
|
|
||||||
["requires"] = {
|
["requires"] = {
|
||||||
[1] = "VisualElement",
|
[1] = "VisualElement",
|
||||||
},
|
},
|
||||||
["path"] = "elements/Slider.lua",
|
["size"] = 8758,
|
||||||
["size"] = 4977,
|
["path"] = "elements/List.lua",
|
||||||
["description"] = "",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["ProgressBar"] = {
|
|
||||||
["requires"] = {
|
|
||||||
[1] = "VisualElement",
|
|
||||||
},
|
|
||||||
["path"] = "elements/ProgressBar.lua",
|
|
||||||
["size"] = 3397,
|
|
||||||
["description"] = "",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
},
|
||||||
["BigFont"] = {
|
["BigFont"] = {
|
||||||
["requires"] = {
|
["default"] = false,
|
||||||
[1] = "VisualElement",
|
|
||||||
},
|
|
||||||
["path"] = "elements/BigFont.lua",
|
|
||||||
["size"] = 21649,
|
|
||||||
["description"] = "",
|
["description"] = "",
|
||||||
["default"] = false,
|
|
||||||
},
|
|
||||||
["Display"] = {
|
|
||||||
["requires"] = {
|
["requires"] = {
|
||||||
[1] = "VisualElement",
|
[1] = "VisualElement",
|
||||||
},
|
},
|
||||||
["path"] = "elements/Display.lua",
|
["size"] = 21649,
|
||||||
["size"] = 5071,
|
["path"] = "elements/BigFont.lua",
|
||||||
["description"] = "The Display is a special element which uses the CC Window API which you can use.",
|
|
||||||
["default"] = false,
|
|
||||||
},
|
},
|
||||||
["Menu"] = {
|
["FlexBox"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "A flexbox container that arranges its children in a flexible layout.",
|
||||||
|
["requires"] = {
|
||||||
|
[1] = "Container",
|
||||||
|
},
|
||||||
|
["size"] = 32431,
|
||||||
|
["path"] = "elements/FlexBox.lua",
|
||||||
|
},
|
||||||
|
["TextBox"] = {
|
||||||
|
["default"] = false,
|
||||||
|
["description"] = "A multi-line text editor component with cursor support and text manipulation features",
|
||||||
|
["requires"] = {
|
||||||
|
[1] = "VisualElement",
|
||||||
|
},
|
||||||
|
["size"] = 43466,
|
||||||
|
["path"] = "elements/TextBox.lua",
|
||||||
|
},
|
||||||
|
["VisualElement"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "The Visual Element class which is the base class for all visual UI elements",
|
||||||
|
["requires"] = {
|
||||||
|
[1] = "BaseElement",
|
||||||
|
},
|
||||||
|
["size"] = 22480,
|
||||||
|
["path"] = "elements/VisualElement.lua",
|
||||||
|
},
|
||||||
|
["LineChart"] = {
|
||||||
|
["default"] = false,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
},
|
||||||
|
["size"] = 3227,
|
||||||
|
["path"] = "elements/LineChart.lua",
|
||||||
|
},
|
||||||
|
["DropDown"] = {
|
||||||
|
["default"] = false,
|
||||||
|
["description"] = "A DropDown menu that shows a list of selectable items",
|
||||||
["requires"] = {
|
["requires"] = {
|
||||||
[1] = "List",
|
[1] = "List",
|
||||||
},
|
},
|
||||||
["path"] = "elements/Menu.lua",
|
["size"] = 7642,
|
||||||
["size"] = 4679,
|
["path"] = "elements/DropDown.lua",
|
||||||
["description"] = "A horizontal menu bar with selectable items.",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
},
|
||||||
["ScrollBar"] = {
|
["Graph"] = {
|
||||||
|
["default"] = false,
|
||||||
|
["description"] = "A point based graph element",
|
||||||
|
["requires"] = {
|
||||||
|
},
|
||||||
|
["size"] = 6989,
|
||||||
|
["path"] = "elements/Graph.lua",
|
||||||
|
},
|
||||||
|
["Frame"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "A frame element that serves as a grouping container for other elements.",
|
||||||
|
["requires"] = {
|
||||||
|
[1] = "Container",
|
||||||
|
},
|
||||||
|
["size"] = 6508,
|
||||||
|
["path"] = "elements/Frame.lua",
|
||||||
|
},
|
||||||
|
["Display"] = {
|
||||||
|
["default"] = false,
|
||||||
|
["description"] = "The Display is a special element which uses the CC Window API which you can use.",
|
||||||
["requires"] = {
|
["requires"] = {
|
||||||
[1] = "VisualElement",
|
[1] = "VisualElement",
|
||||||
},
|
},
|
||||||
["path"] = "elements/ScrollBar.lua",
|
["size"] = 5071,
|
||||||
["size"] = 9665,
|
["path"] = "elements/Display.lua",
|
||||||
["description"] = "A ScrollBar element that can be attached to other elements to control their scroll properties.",
|
},
|
||||||
|
["Container"] = {
|
||||||
["default"] = true,
|
["default"] = true,
|
||||||
|
["description"] = "The container class. It is a visual element that can contain other elements. It is the base class for all containers",
|
||||||
|
["requires"] = {
|
||||||
|
[1] = "VisualElement",
|
||||||
|
},
|
||||||
|
["size"] = 26148,
|
||||||
|
["path"] = "elements/Container.lua",
|
||||||
},
|
},
|
||||||
["Button"] = {
|
["Button"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "The Button is a standard button element with click handling and state management.",
|
||||||
["requires"] = {
|
["requires"] = {
|
||||||
[1] = "VisualElement",
|
[1] = "VisualElement",
|
||||||
},
|
},
|
||||||
["path"] = "elements/Button.lua",
|
|
||||||
["size"] = 2540,
|
["size"] = 2540,
|
||||||
["description"] = "The Button is a standard button element with click handling and state management.",
|
["path"] = "elements/Button.lua",
|
||||||
|
},
|
||||||
|
["TabControl"] = {
|
||||||
["default"] = true,
|
["default"] = true,
|
||||||
|
["description"] = "A TabControl element that provides tabbed interface with multiple content areas.",
|
||||||
|
["requires"] = {
|
||||||
|
[1] = "Container",
|
||||||
|
},
|
||||||
|
["size"] = 15348,
|
||||||
|
["path"] = "elements/TabControl.lua",
|
||||||
|
},
|
||||||
|
["Image"] = {
|
||||||
|
["default"] = false,
|
||||||
|
["description"] = "An element that displays an image in bimg format",
|
||||||
|
["requires"] = {
|
||||||
|
[1] = "VisualElement",
|
||||||
|
},
|
||||||
|
["size"] = 15125,
|
||||||
|
["path"] = "elements/Image.lua",
|
||||||
|
},
|
||||||
|
["Table"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
[1] = "VisualElement",
|
||||||
|
},
|
||||||
|
["size"] = 16214,
|
||||||
|
["path"] = "elements/Table.lua",
|
||||||
|
},
|
||||||
|
["Input"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "A text input field with various features",
|
||||||
|
["requires"] = {
|
||||||
|
[1] = "VisualElement",
|
||||||
|
},
|
||||||
|
["size"] = 9558,
|
||||||
|
["path"] = "elements/Input.lua",
|
||||||
|
},
|
||||||
|
["Slider"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
[1] = "VisualElement",
|
||||||
|
},
|
||||||
|
["size"] = 4977,
|
||||||
|
["path"] = "elements/Slider.lua",
|
||||||
|
},
|
||||||
|
["Menu"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "A horizontal menu bar with selectable items.",
|
||||||
|
["requires"] = {
|
||||||
|
[1] = "List",
|
||||||
|
},
|
||||||
|
["size"] = 4679,
|
||||||
|
["path"] = "elements/Menu.lua",
|
||||||
|
},
|
||||||
|
["BaseElement"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "The base class for all UI elements in Basalt.",
|
||||||
|
["requires"] = {
|
||||||
|
},
|
||||||
|
["size"] = 10012,
|
||||||
|
["path"] = "elements/BaseElement.lua",
|
||||||
|
},
|
||||||
|
["CheckBox"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "This is a checkbox. It is a visual element that can be checked.",
|
||||||
|
["requires"] = {
|
||||||
|
},
|
||||||
|
["size"] = 3731,
|
||||||
|
["path"] = "elements/CheckBox.lua",
|
||||||
|
},
|
||||||
|
["ProgressBar"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
[1] = "VisualElement",
|
||||||
|
},
|
||||||
|
["size"] = 3397,
|
||||||
|
["path"] = "elements/ProgressBar.lua",
|
||||||
|
},
|
||||||
|
["Tree"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
[1] = "VisualElement",
|
||||||
|
},
|
||||||
|
["size"] = 8457,
|
||||||
|
["path"] = "elements/Tree.lua",
|
||||||
|
},
|
||||||
|
["Label"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "A simple text display element that automatically resizes its width based on the text content.",
|
||||||
|
["requires"] = {
|
||||||
|
[1] = "VisualElement",
|
||||||
|
},
|
||||||
|
["size"] = 3092,
|
||||||
|
["path"] = "elements/Label.lua",
|
||||||
|
},
|
||||||
|
["Program"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
[1] = "VisualElement",
|
||||||
|
},
|
||||||
|
["size"] = 11430,
|
||||||
|
["path"] = "elements/Program.lua",
|
||||||
},
|
},
|
||||||
["ComboBox"] = {
|
["ComboBox"] = {
|
||||||
|
["default"] = false,
|
||||||
|
["description"] = "A ComboBox that combines dropdown selection with editable text input",
|
||||||
["requires"] = {
|
["requires"] = {
|
||||||
[1] = "DropDown",
|
[1] = "DropDown",
|
||||||
},
|
},
|
||||||
["path"] = "elements/ComboBox.lua",
|
|
||||||
["size"] = 15122,
|
["size"] = 15122,
|
||||||
["description"] = "A ComboBox that combines dropdown selection with editable text input",
|
["path"] = "elements/ComboBox.lua",
|
||||||
["default"] = false,
|
|
||||||
},
|
|
||||||
["Tree"] = {
|
|
||||||
["requires"] = {
|
|
||||||
[1] = "VisualElement",
|
|
||||||
},
|
|
||||||
["path"] = "elements/Tree.lua",
|
|
||||||
["size"] = 7942,
|
|
||||||
["description"] = "",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["Graph"] = {
|
|
||||||
["requires"] = {
|
|
||||||
},
|
|
||||||
["path"] = "elements/Graph.lua",
|
|
||||||
["size"] = 6989,
|
|
||||||
["description"] = "A point based graph element",
|
|
||||||
["default"] = false,
|
|
||||||
},
|
|
||||||
["List"] = {
|
|
||||||
["requires"] = {
|
|
||||||
[1] = "VisualElement",
|
|
||||||
},
|
|
||||||
["path"] = "elements/List.lua",
|
|
||||||
["size"] = 8758,
|
|
||||||
["description"] = "A scrollable list of selectable items",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["CheckBox"] = {
|
|
||||||
["requires"] = {
|
|
||||||
},
|
|
||||||
["path"] = "elements/CheckBox.lua",
|
|
||||||
["size"] = 3731,
|
|
||||||
["description"] = "This is a checkbox. It is a visual element that can be checked.",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["TabControl"] = {
|
|
||||||
["requires"] = {
|
|
||||||
[1] = "Container",
|
|
||||||
},
|
|
||||||
["path"] = "elements/TabControl.lua",
|
|
||||||
["size"] = 15348,
|
|
||||||
["description"] = "A TabControl element that provides tabbed interface with multiple content areas.",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["Label"] = {
|
|
||||||
["requires"] = {
|
|
||||||
[1] = "VisualElement",
|
|
||||||
},
|
|
||||||
["path"] = "elements/Label.lua",
|
|
||||||
["size"] = 3092,
|
|
||||||
["description"] = "A simple text display element that automatically resizes its width based on the text content.",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["Frame"] = {
|
|
||||||
["requires"] = {
|
|
||||||
[1] = "Container",
|
|
||||||
},
|
|
||||||
["path"] = "elements/Frame.lua",
|
|
||||||
["size"] = 6508,
|
|
||||||
["description"] = "A frame element that serves as a grouping container for other elements.",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["TextBox"] = {
|
|
||||||
["requires"] = {
|
|
||||||
[1] = "VisualElement",
|
|
||||||
},
|
|
||||||
["path"] = "elements/TextBox.lua",
|
|
||||||
["size"] = 43466,
|
|
||||||
["description"] = "A multi-line text editor component with cursor support and text manipulation features",
|
|
||||||
["default"] = false,
|
|
||||||
},
|
|
||||||
["FlexBox"] = {
|
|
||||||
["requires"] = {
|
|
||||||
[1] = "Container",
|
|
||||||
},
|
|
||||||
["path"] = "elements/FlexBox.lua",
|
|
||||||
["size"] = 32431,
|
|
||||||
["description"] = "A flexbox container that arranges its children in a flexible layout.",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["Input"] = {
|
|
||||||
["requires"] = {
|
|
||||||
[1] = "VisualElement",
|
|
||||||
},
|
|
||||||
["path"] = "elements/Input.lua",
|
|
||||||
["size"] = 9558,
|
|
||||||
["description"] = "A text input field with various features",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
},
|
||||||
["Switch"] = {
|
["Switch"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "The Switch is a standard Switch element with click handling and state management.",
|
||||||
["requires"] = {
|
["requires"] = {
|
||||||
[1] = "VisualElement",
|
[1] = "VisualElement",
|
||||||
},
|
},
|
||||||
["path"] = "elements/Switch.lua",
|
|
||||||
["size"] = 3269,
|
["size"] = 3269,
|
||||||
["description"] = "The Switch is a standard Switch element with click handling and state management.",
|
["path"] = "elements/Switch.lua",
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["VisualElement"] = {
|
|
||||||
["requires"] = {
|
|
||||||
[1] = "BaseElement",
|
|
||||||
},
|
|
||||||
["path"] = "elements/VisualElement.lua",
|
|
||||||
["size"] = 22480,
|
|
||||||
["description"] = "The Visual Element class which is the base class for all visual UI elements",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
},
|
||||||
["BaseFrame"] = {
|
["BaseFrame"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "This is the base frame class. It is the root element of all elements and the only element without a parent.",
|
||||||
["requires"] = {
|
["requires"] = {
|
||||||
[1] = "Container",
|
[1] = "Container",
|
||||||
},
|
},
|
||||||
["path"] = "elements/BaseFrame.lua",
|
|
||||||
["size"] = 9017,
|
["size"] = 9017,
|
||||||
["description"] = "This is the base frame class. It is the root element of all elements and the only element without a parent.",
|
["path"] = "elements/BaseFrame.lua",
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["Container"] = {
|
|
||||||
["requires"] = {
|
|
||||||
[1] = "VisualElement",
|
|
||||||
},
|
|
||||||
["path"] = "elements/Container.lua",
|
|
||||||
["size"] = 26148,
|
|
||||||
["description"] = "The container class. It is a visual element that can contain other elements. It is the base class for all containers",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["BarChart"] = {
|
|
||||||
["requires"] = {
|
|
||||||
},
|
|
||||||
["path"] = "elements/BarChart.lua",
|
|
||||||
["size"] = 3590,
|
|
||||||
["description"] = "",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
},
|
||||||
["Timer"] = {
|
["Timer"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
["requires"] = {
|
["requires"] = {
|
||||||
[1] = "BaseElement",
|
[1] = "BaseElement",
|
||||||
},
|
},
|
||||||
["path"] = "elements/Timer.lua",
|
|
||||||
["size"] = 2914,
|
["size"] = 2914,
|
||||||
["description"] = "",
|
["path"] = "elements/Timer.lua",
|
||||||
["default"] = true,
|
|
||||||
},
|
},
|
||||||
["Image"] = {
|
["BarChart"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
},
|
||||||
|
["size"] = 3590,
|
||||||
|
["path"] = "elements/BarChart.lua",
|
||||||
|
},
|
||||||
|
["ScrollBar"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "A ScrollBar element that can be attached to other elements to control their scroll properties.",
|
||||||
["requires"] = {
|
["requires"] = {
|
||||||
[1] = "VisualElement",
|
[1] = "VisualElement",
|
||||||
},
|
},
|
||||||
["path"] = "elements/Image.lua",
|
["size"] = 9665,
|
||||||
["size"] = 15125,
|
["path"] = "elements/ScrollBar.lua",
|
||||||
["description"] = "An element that displays an image in bimg format",
|
|
||||||
["default"] = false,
|
|
||||||
},
|
|
||||||
["Program"] = {
|
|
||||||
["requires"] = {
|
|
||||||
[1] = "VisualElement",
|
|
||||||
},
|
|
||||||
["path"] = "elements/Program.lua",
|
|
||||||
["size"] = 11430,
|
|
||||||
["description"] = "",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["DropDown"] = {
|
|
||||||
["requires"] = {
|
|
||||||
[1] = "List",
|
|
||||||
},
|
|
||||||
["path"] = "elements/DropDown.lua",
|
|
||||||
["size"] = 7642,
|
|
||||||
["description"] = "A DropDown menu that shows a list of selectable items",
|
|
||||||
["default"] = false,
|
|
||||||
},
|
|
||||||
["Table"] = {
|
|
||||||
["requires"] = {
|
|
||||||
[1] = "VisualElement",
|
|
||||||
},
|
|
||||||
["path"] = "elements/Table.lua",
|
|
||||||
["size"] = 16214,
|
|
||||||
["description"] = "",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
|
||||||
["BaseElement"] = {
|
|
||||||
["requires"] = {
|
|
||||||
},
|
|
||||||
["path"] = "elements/BaseElement.lua",
|
|
||||||
["size"] = 10012,
|
|
||||||
["description"] = "The base class for all UI elements in Basalt.",
|
|
||||||
["default"] = true,
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
["description"] = "UI Elements",
|
["description"] = "UI Elements",
|
||||||
},
|
},
|
||||||
},
|
["core"] = {
|
||||||
["metadata"] = {
|
["files"] = {
|
||||||
["generated"] = "Fri Oct 3 01:26:34 2025",
|
["propertySystem"] = {
|
||||||
["version"] = "2.0",
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
},
|
||||||
|
["size"] = 15524,
|
||||||
|
["path"] = "propertySystem.lua",
|
||||||
|
},
|
||||||
|
["errorManager"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
},
|
||||||
|
["size"] = 3789,
|
||||||
|
["path"] = "errorManager.lua",
|
||||||
|
},
|
||||||
|
["init"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
},
|
||||||
|
["size"] = 622,
|
||||||
|
["path"] = "init.lua",
|
||||||
|
},
|
||||||
|
["render"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
},
|
||||||
|
["size"] = 12422,
|
||||||
|
["path"] = "render.lua",
|
||||||
|
},
|
||||||
|
["log"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
},
|
||||||
|
["size"] = 3142,
|
||||||
|
["path"] = "log.lua",
|
||||||
|
},
|
||||||
|
["elementManager"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
},
|
||||||
|
["size"] = 6297,
|
||||||
|
["path"] = "elementManager.lua",
|
||||||
|
},
|
||||||
|
["main"] = {
|
||||||
|
["default"] = true,
|
||||||
|
["description"] = "",
|
||||||
|
["requires"] = {
|
||||||
|
},
|
||||||
|
["size"] = 14085,
|
||||||
|
["path"] = "main.lua",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
["description"] = "Core Files",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
@@ -1550,61 +1550,65 @@ if not self:isType("BaseFrame")then
|
|||||||
for bc,cc in
|
for bc,cc in
|
||||||
ipairs(self._values.children)do if cc.destroy then cc:destroy()end end;self:removeAllObservers()ab.destroy(self)return self else
|
ipairs(self._values.children)do if cc.destroy then cc:destroy()end end;self:removeAllObservers()ab.destroy(self)return self else
|
||||||
_b.header="Basalt Error"_b.error("Cannot destroy a BaseFrame.")end end;return db end
|
_b.header="Basalt Error"_b.error("Cannot destroy a BaseFrame.")end end;return db end
|
||||||
project["elements/Tree.lua"] = function(...) local _a=require("elements/VisualElement")local aa=string.sub
|
project["elements/Tree.lua"] = function(...) local aa=require("elements/VisualElement")local ba=string.sub
|
||||||
local ba=setmetatable({},_a)ba.__index=ba
|
local ca=require("libraries/colorHex")local da=setmetatable({},aa)da.__index=da
|
||||||
ba.defineProperty(ba,"nodes",{default={},type="table",canTriggerRender=true,setter=function(da,_b)if#_b>0 then
|
da.defineProperty(da,"nodes",{default={},type="table",canTriggerRender=true,setter=function(ab,bb)if#bb>0 then
|
||||||
da.get("expandedNodes")[_b[1]]=true end;return _b end})
|
ab.get("expandedNodes")[bb[1]]=true end;return bb end})
|
||||||
ba.defineProperty(ba,"selectedNode",{default=nil,type="table",canTriggerRender=true})
|
da.defineProperty(da,"selectedNode",{default=nil,type="table",canTriggerRender=true})
|
||||||
ba.defineProperty(ba,"expandedNodes",{default={},type="table",canTriggerRender=true})
|
da.defineProperty(da,"expandedNodes",{default={},type="table",canTriggerRender=true})
|
||||||
ba.defineProperty(ba,"scrollOffset",{default=0,type="number",canTriggerRender=true})
|
da.defineProperty(da,"scrollOffset",{default=0,type="number",canTriggerRender=true})
|
||||||
ba.defineProperty(ba,"horizontalOffset",{default=0,type="number",canTriggerRender=true})
|
da.defineProperty(da,"horizontalOffset",{default=0,type="number",canTriggerRender=true})
|
||||||
ba.defineProperty(ba,"nodeColor",{default=colors.white,type="color"})
|
da.defineProperty(da,"selectedForegroundColor",{default=colors.white,type="color"})
|
||||||
ba.defineProperty(ba,"selectedColor",{default=colors.lightBlue,type="color"})ba.defineEvent(ba,"mouse_click")
|
da.defineProperty(da,"selectedBackgroundColor",{default=colors.lightBlue,type="color"})da.defineEvent(da,"mouse_click")
|
||||||
ba.defineEvent(ba,"mouse_scroll")function ba.new()local da=setmetatable({},ba):__init()
|
da.defineEvent(da,"mouse_scroll")function da.new()local ab=setmetatable({},da):__init()
|
||||||
da.class=ba;da.set("width",30)da.set("height",10)da.set("z",5)
|
ab.class=da;ab.set("width",30)ab.set("height",10)ab.set("z",5)
|
||||||
return da end
|
return ab end
|
||||||
function ba:init(da,_b)
|
function da:init(ab,bb)
|
||||||
_a.init(self,da,_b)self.set("type","Tree")return self end;function ba:expandNode(da)self.get("expandedNodes")[da]=true
|
aa.init(self,ab,bb)self.set("type","Tree")return self end;function da:expandNode(ab)self.get("expandedNodes")[ab]=true
|
||||||
self:updateRender()return self end
|
self:updateRender()return self end
|
||||||
function ba:collapseNode(da)self.get("expandedNodes")[da]=
|
function da:collapseNode(ab)self.get("expandedNodes")[ab]=
|
||||||
nil;self:updateRender()return self end;function ba:toggleNode(da)if self.get("expandedNodes")[da]then
|
nil;self:updateRender()return self end;function da:toggleNode(ab)if self.get("expandedNodes")[ab]then
|
||||||
self:collapseNode(da)else self:expandNode(da)end
|
self:collapseNode(ab)else self:expandNode(ab)end
|
||||||
return self end
|
return self end
|
||||||
local function ca(da,_b,ab,bb)bb=bb or{}ab=
|
local function _b(ab,bb,cb,db)db=db or{}cb=
|
||||||
ab or 0;for cb,db in ipairs(da)do table.insert(bb,{node=db,level=ab})
|
cb or 0;for _c,ac in ipairs(ab)do table.insert(db,{node=ac,level=cb})
|
||||||
if
|
if
|
||||||
_b[db]and db.children then ca(db.children,_b,ab+1,bb)end end;return bb end
|
bb[ac]and ac.children then _b(ac.children,bb,cb+1,db)end end;return db end
|
||||||
function ba:mouse_click(da,_b,ab)
|
function da:mouse_click(ab,bb,cb)
|
||||||
if _a.mouse_click(self,da,_b,ab)then
|
if aa.mouse_click(self,ab,bb,cb)then
|
||||||
local bb,cb=self:getRelativePosition(_b,ab)
|
local db,_c=self:getRelativePosition(bb,cb)
|
||||||
local db=ca(self.get("nodes"),self.get("expandedNodes"))local _c=cb+self.get("scrollOffset")
|
local ac=_b(self.get("nodes"),self.get("expandedNodes"))local bc=_c+self.get("scrollOffset")
|
||||||
if db[_c]then local ac=db[_c]
|
if ac[bc]then local cc=ac[bc]
|
||||||
local bc=ac.node
|
local dc=cc.node
|
||||||
if bb<=ac.level*2 +2 then self:toggleNode(bc)end;self.set("selectedNode",bc)
|
if db<=cc.level*2 +2 then self:toggleNode(dc)end;self.set("selectedNode",dc)
|
||||||
self:fireEvent("node_select",bc)end;return true end;return false end
|
self:fireEvent("node_select",dc)end;return true end;return false end
|
||||||
function ba:onSelect(da)self:registerCallback("node_select",da)return self end
|
function da:onSelect(ab)self:registerCallback("node_select",ab)return self end
|
||||||
function ba:mouse_scroll(da,_b,ab)
|
function da:mouse_scroll(ab,bb,cb)
|
||||||
if _a.mouse_scroll(self,da,_b,ab)then
|
if aa.mouse_scroll(self,ab,bb,cb)then
|
||||||
local bb=ca(self.get("nodes"),self.get("expandedNodes"))
|
local db=_b(self.get("nodes"),self.get("expandedNodes"))
|
||||||
local cb=math.max(0,#bb-self.get("height"))
|
local _c=math.max(0,#db-self.get("height"))
|
||||||
local db=math.min(cb,math.max(0,self.get("scrollOffset")+da))self.set("scrollOffset",db)return true end;return false end
|
local ac=math.min(_c,math.max(0,self.get("scrollOffset")+ab))self.set("scrollOffset",ac)return true end;return false end
|
||||||
function ba:getNodeSize()local da,_b=0,0
|
function da:getNodeSize()local ab,bb=0,0
|
||||||
local ab=ca(self.get("nodes"),self.get("expandedNodes"))for bb,cb in ipairs(ab)do
|
local cb=_b(self.get("nodes"),self.get("expandedNodes"))for db,_c in ipairs(cb)do
|
||||||
da=math.max(da,cb.level+#cb.node.text)end;_b=#ab;return da,_b end
|
ab=math.max(ab,_c.level+#_c.node.text)end;bb=#cb;return ab,bb end
|
||||||
function ba:render()_a.render(self)
|
function da:render()aa.render(self)
|
||||||
local da=ca(self.get("nodes"),self.get("expandedNodes"))local _b=self.get("height")local ab=self.get("selectedNode")
|
local ab=_b(self.get("nodes"),self.get("expandedNodes"))local bb=self.get("height")local cb=self.get("selectedNode")
|
||||||
local bb=self.get("expandedNodes")local cb=self.get("scrollOffset")
|
local db=self.get("expandedNodes")local _c=self.get("scrollOffset")
|
||||||
local db=self.get("horizontalOffset")
|
local ac=self.get("horizontalOffset")
|
||||||
for y=1,_b do local _c=da[y+cb]
|
for y=1,bb do local bc=ab[y+_c]
|
||||||
if _c then local ac=_c.node;local bc=_c.level
|
if bc then local cc=bc.node;local dc=bc.level
|
||||||
local cc=string.rep(" ",bc)local dc=" "if ac.children and#ac.children>0 then
|
local _d=string.rep(" ",dc)local ad=" "if cc.children and#cc.children>0 then
|
||||||
dc=bb[ac]and"\31"or"\16"end
|
ad=db[cc]and"\31"or"\16"end;local bd=cc==cb
|
||||||
local _d=
|
local cd=bd and
|
||||||
ac==ab and self.get("selectedColor")or self.get("background")
|
self.get("selectedBackgroundColor")or self.get("background")local dd=bd and self.get("selectedForegroundColor")or
|
||||||
local ad=cc..dc.." ".. (ac.text or"Node")local bd=aa(ad,db+1,db+self.get("width"))
|
self.get("foreground")
|
||||||
self:textFg(1,y,
|
local __a=_d..ad.." ".. (
|
||||||
bd..string.rep(" ",self.get("width")-#bd),self.get("foreground"))else
|
cc.text or"Node")local a_a=ba(__a,ac+1,ac+self.get("width"))
|
||||||
self:textFg(1,y,string.rep(" ",self.get("width")),self.get("foreground"),self.get("background"))end end end;return ba end
|
local b_a=a_a..string.rep(" ",
|
||||||
|
self.get("width")-#a_a)
|
||||||
|
local c_a=ca[cd]:rep(#b_a)or ca[colors.black]:rep(#b_a)
|
||||||
|
local d_a=ca[dd]:rep(#b_a)or ca[colors.white]:rep(#b_a)self:blit(1,y,b_a,d_a,c_a)else
|
||||||
|
self:blit(1,y,string.rep(" ",self.get("width")),ca[self.get("foreground")]:rep(self.get("width")),ca[self.get("background")]:rep(self.get("width")))end end end;return da end
|
||||||
project["elements/DropDown.lua"] = function(...) local _a=require("elements/VisualElement")
|
project["elements/DropDown.lua"] = function(...) local _a=require("elements/VisualElement")
|
||||||
local aa=require("elements/List")local ba=require("libraries/colorHex")
|
local aa=require("elements/List")local ba=require("libraries/colorHex")
|
||||||
local ca=setmetatable({},aa)ca.__index=ca
|
local ca=setmetatable({},aa)ca.__index=ca
|
||||||
|
|||||||
Reference in New Issue
Block a user