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 {
|
||||
["metadata"] = {
|
||||
["version"] = "2.0",
|
||||
["generated"] = "Mon Oct 6 19:46:10 2025",
|
||||
},
|
||||
["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"] = {
|
||||
["files"] = {
|
||||
["utils"] = {
|
||||
["default"] = true,
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "libraries/utils.lua",
|
||||
["size"] = 2661,
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["path"] = "libraries/utils.lua",
|
||||
},
|
||||
["expect"] = {
|
||||
["default"] = true,
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "libraries/expect.lua",
|
||||
["size"] = 846,
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["path"] = "libraries/expect.lua",
|
||||
},
|
||||
["colorHex"] = {
|
||||
["default"] = true,
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "libraries/colorHex.lua",
|
||||
["size"] = 132,
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["path"] = "libraries/colorHex.lua",
|
||||
},
|
||||
},
|
||||
["description"] = "Libraries",
|
||||
},
|
||||
["plugins"] = {
|
||||
["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"] = {
|
||||
["default"] = true,
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
["path"] = "plugins/state.lua",
|
||||
["size"] = 6896,
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
},
|
||||
["canvas"] = {
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "plugins/canvas.lua",
|
||||
["size"] = 7873,
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["path"] = "plugins/state.lua",
|
||||
},
|
||||
["xml"] = {
|
||||
["default"] = true,
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "plugins/xml.lua",
|
||||
["size"] = 9940,
|
||||
["description"] = "",
|
||||
["path"] = "plugins/xml.lua",
|
||||
},
|
||||
["reactive"] = {
|
||||
["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",
|
||||
},
|
||||
["elements"] = {
|
||||
["files"] = {
|
||||
["LineChart"] = {
|
||||
["requires"] = {
|
||||
},
|
||||
["path"] = "elements/LineChart.lua",
|
||||
["size"] = 3227,
|
||||
["description"] = "",
|
||||
["default"] = false,
|
||||
},
|
||||
["Slider"] = {
|
||||
["List"] = {
|
||||
["default"] = true,
|
||||
["description"] = "A scrollable list of selectable items",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/Slider.lua",
|
||||
["size"] = 4977,
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
},
|
||||
["ProgressBar"] = {
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/ProgressBar.lua",
|
||||
["size"] = 3397,
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 8758,
|
||||
["path"] = "elements/List.lua",
|
||||
},
|
||||
["BigFont"] = {
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/BigFont.lua",
|
||||
["size"] = 21649,
|
||||
["default"] = false,
|
||||
["description"] = "",
|
||||
["default"] = false,
|
||||
},
|
||||
["Display"] = {
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/Display.lua",
|
||||
["size"] = 5071,
|
||||
["description"] = "The Display is a special element which uses the CC Window API which you can use.",
|
||||
["default"] = false,
|
||||
["size"] = 21649,
|
||||
["path"] = "elements/BigFont.lua",
|
||||
},
|
||||
["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"] = {
|
||||
[1] = "List",
|
||||
},
|
||||
["path"] = "elements/Menu.lua",
|
||||
["size"] = 4679,
|
||||
["description"] = "A horizontal menu bar with selectable items.",
|
||||
["default"] = true,
|
||||
["size"] = 7642,
|
||||
["path"] = "elements/DropDown.lua",
|
||||
},
|
||||
["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"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/ScrollBar.lua",
|
||||
["size"] = 9665,
|
||||
["description"] = "A ScrollBar element that can be attached to other elements to control their scroll properties.",
|
||||
["size"] = 5071,
|
||||
["path"] = "elements/Display.lua",
|
||||
},
|
||||
["Container"] = {
|
||||
["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"] = {
|
||||
["default"] = true,
|
||||
["description"] = "The Button is a standard button element with click handling and state management.",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/Button.lua",
|
||||
["size"] = 2540,
|
||||
["description"] = "The Button is a standard button element with click handling and state management.",
|
||||
["path"] = "elements/Button.lua",
|
||||
},
|
||||
["TabControl"] = {
|
||||
["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"] = {
|
||||
["default"] = false,
|
||||
["description"] = "A ComboBox that combines dropdown selection with editable text input",
|
||||
["requires"] = {
|
||||
[1] = "DropDown",
|
||||
},
|
||||
["path"] = "elements/ComboBox.lua",
|
||||
["size"] = 15122,
|
||||
["description"] = "A ComboBox that combines dropdown selection with editable text input",
|
||||
["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,
|
||||
["path"] = "elements/ComboBox.lua",
|
||||
},
|
||||
["Switch"] = {
|
||||
["default"] = true,
|
||||
["description"] = "The Switch is a standard Switch element with click handling and state management.",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/Switch.lua",
|
||||
["size"] = 3269,
|
||||
["description"] = "The Switch is a standard Switch element with click handling and state management.",
|
||||
["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,
|
||||
["path"] = "elements/Switch.lua",
|
||||
},
|
||||
["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"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
["path"] = "elements/BaseFrame.lua",
|
||||
["size"] = 9017,
|
||||
["description"] = "This is the base frame class. It is the root element of all elements and the only element without a parent.",
|
||||
["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,
|
||||
["path"] = "elements/BaseFrame.lua",
|
||||
},
|
||||
["Timer"] = {
|
||||
["default"] = true,
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
[1] = "BaseElement",
|
||||
},
|
||||
["path"] = "elements/Timer.lua",
|
||||
["size"] = 2914,
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["path"] = "elements/Timer.lua",
|
||||
},
|
||||
["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"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["path"] = "elements/Image.lua",
|
||||
["size"] = 15125,
|
||||
["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,
|
||||
["size"] = 9665,
|
||||
["path"] = "elements/ScrollBar.lua",
|
||||
},
|
||||
},
|
||||
["description"] = "UI Elements",
|
||||
},
|
||||
},
|
||||
["metadata"] = {
|
||||
["generated"] = "Fri Oct 3 01:26:34 2025",
|
||||
["version"] = "2.0",
|
||||
["core"] = {
|
||||
["files"] = {
|
||||
["propertySystem"] = {
|
||||
["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
|
||||
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
|
||||
project["elements/Tree.lua"] = function(...) local _a=require("elements/VisualElement")local aa=string.sub
|
||||
local ba=setmetatable({},_a)ba.__index=ba
|
||||
ba.defineProperty(ba,"nodes",{default={},type="table",canTriggerRender=true,setter=function(da,_b)if#_b>0 then
|
||||
da.get("expandedNodes")[_b[1]]=true end;return _b end})
|
||||
ba.defineProperty(ba,"selectedNode",{default=nil,type="table",canTriggerRender=true})
|
||||
ba.defineProperty(ba,"expandedNodes",{default={},type="table",canTriggerRender=true})
|
||||
ba.defineProperty(ba,"scrollOffset",{default=0,type="number",canTriggerRender=true})
|
||||
ba.defineProperty(ba,"horizontalOffset",{default=0,type="number",canTriggerRender=true})
|
||||
ba.defineProperty(ba,"nodeColor",{default=colors.white,type="color"})
|
||||
ba.defineProperty(ba,"selectedColor",{default=colors.lightBlue,type="color"})ba.defineEvent(ba,"mouse_click")
|
||||
ba.defineEvent(ba,"mouse_scroll")function ba.new()local da=setmetatable({},ba):__init()
|
||||
da.class=ba;da.set("width",30)da.set("height",10)da.set("z",5)
|
||||
return da end
|
||||
function ba:init(da,_b)
|
||||
_a.init(self,da,_b)self.set("type","Tree")return self end;function ba:expandNode(da)self.get("expandedNodes")[da]=true
|
||||
project["elements/Tree.lua"] = function(...) local aa=require("elements/VisualElement")local ba=string.sub
|
||||
local ca=require("libraries/colorHex")local da=setmetatable({},aa)da.__index=da
|
||||
da.defineProperty(da,"nodes",{default={},type="table",canTriggerRender=true,setter=function(ab,bb)if#bb>0 then
|
||||
ab.get("expandedNodes")[bb[1]]=true end;return bb end})
|
||||
da.defineProperty(da,"selectedNode",{default=nil,type="table",canTriggerRender=true})
|
||||
da.defineProperty(da,"expandedNodes",{default={},type="table",canTriggerRender=true})
|
||||
da.defineProperty(da,"scrollOffset",{default=0,type="number",canTriggerRender=true})
|
||||
da.defineProperty(da,"horizontalOffset",{default=0,type="number",canTriggerRender=true})
|
||||
da.defineProperty(da,"selectedForegroundColor",{default=colors.white,type="color"})
|
||||
da.defineProperty(da,"selectedBackgroundColor",{default=colors.lightBlue,type="color"})da.defineEvent(da,"mouse_click")
|
||||
da.defineEvent(da,"mouse_scroll")function da.new()local ab=setmetatable({},da):__init()
|
||||
ab.class=da;ab.set("width",30)ab.set("height",10)ab.set("z",5)
|
||||
return ab end
|
||||
function da:init(ab,bb)
|
||||
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
|
||||
function ba:collapseNode(da)self.get("expandedNodes")[da]=
|
||||
nil;self:updateRender()return self end;function ba:toggleNode(da)if self.get("expandedNodes")[da]then
|
||||
self:collapseNode(da)else self:expandNode(da)end
|
||||
function da:collapseNode(ab)self.get("expandedNodes")[ab]=
|
||||
nil;self:updateRender()return self end;function da:toggleNode(ab)if self.get("expandedNodes")[ab]then
|
||||
self:collapseNode(ab)else self:expandNode(ab)end
|
||||
return self end
|
||||
local function ca(da,_b,ab,bb)bb=bb or{}ab=
|
||||
ab or 0;for cb,db in ipairs(da)do table.insert(bb,{node=db,level=ab})
|
||||
local function _b(ab,bb,cb,db)db=db or{}cb=
|
||||
cb or 0;for _c,ac in ipairs(ab)do table.insert(db,{node=ac,level=cb})
|
||||
if
|
||||
_b[db]and db.children then ca(db.children,_b,ab+1,bb)end end;return bb end
|
||||
function ba:mouse_click(da,_b,ab)
|
||||
if _a.mouse_click(self,da,_b,ab)then
|
||||
local bb,cb=self:getRelativePosition(_b,ab)
|
||||
local db=ca(self.get("nodes"),self.get("expandedNodes"))local _c=cb+self.get("scrollOffset")
|
||||
if db[_c]then local ac=db[_c]
|
||||
local bc=ac.node
|
||||
if bb<=ac.level*2 +2 then self:toggleNode(bc)end;self.set("selectedNode",bc)
|
||||
self:fireEvent("node_select",bc)end;return true end;return false end
|
||||
function ba:onSelect(da)self:registerCallback("node_select",da)return self end
|
||||
function ba:mouse_scroll(da,_b,ab)
|
||||
if _a.mouse_scroll(self,da,_b,ab)then
|
||||
local bb=ca(self.get("nodes"),self.get("expandedNodes"))
|
||||
local cb=math.max(0,#bb-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
|
||||
function ba:getNodeSize()local da,_b=0,0
|
||||
local ab=ca(self.get("nodes"),self.get("expandedNodes"))for bb,cb in ipairs(ab)do
|
||||
da=math.max(da,cb.level+#cb.node.text)end;_b=#ab;return da,_b end
|
||||
function ba:render()_a.render(self)
|
||||
local da=ca(self.get("nodes"),self.get("expandedNodes"))local _b=self.get("height")local ab=self.get("selectedNode")
|
||||
local bb=self.get("expandedNodes")local cb=self.get("scrollOffset")
|
||||
local db=self.get("horizontalOffset")
|
||||
for y=1,_b do local _c=da[y+cb]
|
||||
if _c then local ac=_c.node;local bc=_c.level
|
||||
local cc=string.rep(" ",bc)local dc=" "if ac.children and#ac.children>0 then
|
||||
dc=bb[ac]and"\31"or"\16"end
|
||||
local _d=
|
||||
ac==ab and self.get("selectedColor")or self.get("background")
|
||||
local ad=cc..dc.." ".. (ac.text or"Node")local bd=aa(ad,db+1,db+self.get("width"))
|
||||
self:textFg(1,y,
|
||||
bd..string.rep(" ",self.get("width")-#bd),self.get("foreground"))else
|
||||
self:textFg(1,y,string.rep(" ",self.get("width")),self.get("foreground"),self.get("background"))end end end;return ba end
|
||||
bb[ac]and ac.children then _b(ac.children,bb,cb+1,db)end end;return db end
|
||||
function da:mouse_click(ab,bb,cb)
|
||||
if aa.mouse_click(self,ab,bb,cb)then
|
||||
local db,_c=self:getRelativePosition(bb,cb)
|
||||
local ac=_b(self.get("nodes"),self.get("expandedNodes"))local bc=_c+self.get("scrollOffset")
|
||||
if ac[bc]then local cc=ac[bc]
|
||||
local dc=cc.node
|
||||
if db<=cc.level*2 +2 then self:toggleNode(dc)end;self.set("selectedNode",dc)
|
||||
self:fireEvent("node_select",dc)end;return true end;return false end
|
||||
function da:onSelect(ab)self:registerCallback("node_select",ab)return self end
|
||||
function da:mouse_scroll(ab,bb,cb)
|
||||
if aa.mouse_scroll(self,ab,bb,cb)then
|
||||
local db=_b(self.get("nodes"),self.get("expandedNodes"))
|
||||
local _c=math.max(0,#db-self.get("height"))
|
||||
local ac=math.min(_c,math.max(0,self.get("scrollOffset")+ab))self.set("scrollOffset",ac)return true end;return false end
|
||||
function da:getNodeSize()local ab,bb=0,0
|
||||
local cb=_b(self.get("nodes"),self.get("expandedNodes"))for db,_c in ipairs(cb)do
|
||||
ab=math.max(ab,_c.level+#_c.node.text)end;bb=#cb;return ab,bb end
|
||||
function da:render()aa.render(self)
|
||||
local ab=_b(self.get("nodes"),self.get("expandedNodes"))local bb=self.get("height")local cb=self.get("selectedNode")
|
||||
local db=self.get("expandedNodes")local _c=self.get("scrollOffset")
|
||||
local ac=self.get("horizontalOffset")
|
||||
for y=1,bb do local bc=ab[y+_c]
|
||||
if bc then local cc=bc.node;local dc=bc.level
|
||||
local _d=string.rep(" ",dc)local ad=" "if cc.children and#cc.children>0 then
|
||||
ad=db[cc]and"\31"or"\16"end;local bd=cc==cb
|
||||
local cd=bd and
|
||||
self.get("selectedBackgroundColor")or self.get("background")local dd=bd and self.get("selectedForegroundColor")or
|
||||
self.get("foreground")
|
||||
local __a=_d..ad.." ".. (
|
||||
cc.text or"Node")local a_a=ba(__a,ac+1,ac+self.get("width"))
|
||||
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")
|
||||
local aa=require("elements/List")local ba=require("libraries/colorHex")
|
||||
local ca=setmetatable({},aa)ca.__index=ca
|
||||
|
||||
Reference in New Issue
Block a user