Merge branch 'main' of https://github.com/Pyroxenium/Basalt2
This commit is contained in:
605
config.lua
605
config.lua
@@ -1,370 +1,385 @@
|
||||
return {
|
||||
["metadata"] = {
|
||||
["generated"] = "Mon Mar 3 22:44:55 2025",
|
||||
["version"] = "2.0",
|
||||
},
|
||||
["categories"] = {
|
||||
["core"] = {
|
||||
["files"] = {
|
||||
["propertySystem"] = {
|
||||
["path"] = "propertySystem.lua",
|
||||
["default"] = true,
|
||||
["size"] = 15225,
|
||||
["requires"] = {
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
["main"] = {
|
||||
["path"] = "main.lua",
|
||||
["default"] = true,
|
||||
["size"] = 8158,
|
||||
["requires"] = {
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
["init"] = {
|
||||
["path"] = "init.lua",
|
||||
["default"] = true,
|
||||
["size"] = 519,
|
||||
["requires"] = {
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
["render"] = {
|
||||
["path"] = "render.lua",
|
||||
["default"] = true,
|
||||
["size"] = 10935,
|
||||
["requires"] = {
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
["log"] = {
|
||||
["path"] = "log.lua",
|
||||
["default"] = true,
|
||||
["size"] = 3142,
|
||||
["requires"] = {
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
["elementManager"] = {
|
||||
["path"] = "elementManager.lua",
|
||||
["default"] = true,
|
||||
["size"] = 6297,
|
||||
["requires"] = {
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
["errorManager"] = {
|
||||
["path"] = "errorManager.lua",
|
||||
["default"] = true,
|
||||
["size"] = 3789,
|
||||
["requires"] = {
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
},
|
||||
["description"] = "Core Files",
|
||||
},
|
||||
["elements"] = {
|
||||
["files"] = {
|
||||
["Program"] = {
|
||||
["path"] = "elements/Program.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["size"] = 6295,
|
||||
["BaseElement"] = {
|
||||
["path"] = "elements/BaseElement.lua",
|
||||
["default"] = true,
|
||||
},
|
||||
["Dropdown"] = {
|
||||
["path"] = "elements/Dropdown.lua",
|
||||
["description"] = "A dropdown menu that shows a list of selectable items",
|
||||
["size"] = 8911,
|
||||
["requires"] = {
|
||||
[1] = "List",
|
||||
},
|
||||
["size"] = 5896,
|
||||
["default"] = false,
|
||||
},
|
||||
["Container"] = {
|
||||
["path"] = "elements/Container.lua",
|
||||
["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"] = 23180,
|
||||
["default"] = true,
|
||||
},
|
||||
["Menu"] = {
|
||||
["path"] = "elements/Menu.lua",
|
||||
["description"] = "A horizontal menu bar with selectable items.",
|
||||
["requires"] = {
|
||||
[1] = "List",
|
||||
},
|
||||
["size"] = 4657,
|
||||
["default"] = true,
|
||||
["description"] = "The base class for all UI elements in Basalt.",
|
||||
},
|
||||
["ProgressBar"] = {
|
||||
["path"] = "elements/ProgressBar.lua",
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 2272,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["size"] = 2272,
|
||||
["default"] = true,
|
||||
},
|
||||
["BaseFrame"] = {
|
||||
["path"] = "elements/BaseFrame.lua",
|
||||
["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",
|
||||
},
|
||||
["size"] = 5868,
|
||||
["default"] = true,
|
||||
["description"] = "",
|
||||
},
|
||||
["Tree"] = {
|
||||
["path"] = "elements/Tree.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["default"] = true,
|
||||
["size"] = 7885,
|
||||
["default"] = true,
|
||||
},
|
||||
["Scrollbar"] = {
|
||||
["path"] = "elements/Scrollbar.lua",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["size"] = 9164,
|
||||
["default"] = true,
|
||||
},
|
||||
["Button"] = {
|
||||
["path"] = "elements/Button.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["size"] = 1632,
|
||||
["default"] = true,
|
||||
},
|
||||
["Checkbox"] = {
|
||||
["path"] = "elements/Checkbox.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["size"] = 2872,
|
||||
["default"] = true,
|
||||
},
|
||||
["Table"] = {
|
||||
["path"] = "elements/Table.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["size"] = 7586,
|
||||
["default"] = true,
|
||||
},
|
||||
["BigFont"] = {
|
||||
["path"] = "elements/BigFont.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["size"] = 20332,
|
||||
["default"] = false,
|
||||
},
|
||||
["List"] = {
|
||||
["path"] = "elements/List.lua",
|
||||
["description"] = "A scrollable list of selectable items",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["size"] = 8643,
|
||||
["default"] = true,
|
||||
},
|
||||
["Input"] = {
|
||||
["path"] = "elements/Input.lua",
|
||||
["description"] = "A text input field with various features",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["size"] = 7997,
|
||||
["default"] = true,
|
||||
},
|
||||
["Label"] = {
|
||||
["path"] = "elements/Label.lua",
|
||||
["description"] = "A simple text display element that automatically resizes its width based on the text content.",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["size"] = 3069,
|
||||
["default"] = true,
|
||||
},
|
||||
["Image"] = {
|
||||
["path"] = "elements/Image.lua",
|
||||
["description"] = "An element that displays an image in bimg format",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["size"] = 13312,
|
||||
["default"] = false,
|
||||
},
|
||||
["Slider"] = {
|
||||
["path"] = "elements/Slider.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["size"] = 4676,
|
||||
["default"] = true,
|
||||
},
|
||||
["Frame"] = {
|
||||
["path"] = "elements/Frame.lua",
|
||||
["description"] = "A frame element that serves as a grouping container for other elements.",
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
["size"] = 4435,
|
||||
["default"] = true,
|
||||
},
|
||||
["Flexbox"] = {
|
||||
["path"] = "elements/Flexbox.lua",
|
||||
["description"] = "A flexbox container that arranges its children in a flexible layout.",
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
["size"] = 11530,
|
||||
["default"] = true,
|
||||
},
|
||||
["TextBox"] = {
|
||||
["path"] = "elements/TextBox.lua",
|
||||
["description"] = "A multi-line text editor component with cursor support and text manipulation features",
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["size"] = 10904,
|
||||
["default"] = false,
|
||||
},
|
||||
["VisualElement"] = {
|
||||
["path"] = "elements/VisualElement.lua",
|
||||
["description"] = "The Visual Element class which is the base class for all visual UI elements",
|
||||
["default"] = true,
|
||||
["size"] = 17105,
|
||||
["requires"] = {
|
||||
[1] = "BaseElement",
|
||||
},
|
||||
["size"] = 17105,
|
||||
["default"] = true,
|
||||
["description"] = "The Visual Element class which is the base class for all visual UI elements",
|
||||
},
|
||||
["BaseElement"] = {
|
||||
["path"] = "elements/BaseElement.lua",
|
||||
["description"] = "The base class for all UI elements in Basalt.",
|
||||
["requires"] = {
|
||||
},
|
||||
["size"] = 8911,
|
||||
["Input"] = {
|
||||
["path"] = "elements/Input.lua",
|
||||
["default"] = true,
|
||||
},
|
||||
["Graph"] = {
|
||||
["path"] = "elements/Graph.lua",
|
||||
["description"] = "---@configDefault false",
|
||||
["size"] = 7997,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["size"] = 2014,
|
||||
["description"] = "A text input field with various features",
|
||||
},
|
||||
["Frame"] = {
|
||||
["path"] = "elements/Frame.lua",
|
||||
["default"] = true,
|
||||
["size"] = 4435,
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
["description"] = "A frame element that serves as a grouping container for other elements.",
|
||||
},
|
||||
["BaseFrame"] = {
|
||||
["path"] = "elements/BaseFrame.lua",
|
||||
["default"] = true,
|
||||
["size"] = 5868,
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
["description"] = "This is the base frame class. It is the root element of all elements and the only element without a parent.",
|
||||
},
|
||||
["Image"] = {
|
||||
["path"] = "elements/Image.lua",
|
||||
["default"] = false,
|
||||
["size"] = 13312,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["description"] = "An element that displays an image in bimg format",
|
||||
},
|
||||
["Dropdown"] = {
|
||||
["path"] = "elements/Dropdown.lua",
|
||||
["default"] = false,
|
||||
["size"] = 5896,
|
||||
["requires"] = {
|
||||
[1] = "List",
|
||||
},
|
||||
["description"] = "A dropdown menu that shows a list of selectable items",
|
||||
},
|
||||
["Flexbox"] = {
|
||||
["path"] = "elements/Flexbox.lua",
|
||||
["default"] = true,
|
||||
["size"] = 11530,
|
||||
["requires"] = {
|
||||
[1] = "Container",
|
||||
},
|
||||
["description"] = "A flexbox container that arranges its children in a flexible layout.",
|
||||
},
|
||||
["Table"] = {
|
||||
["path"] = "elements/Table.lua",
|
||||
["default"] = true,
|
||||
["size"] = 7586,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
["Program"] = {
|
||||
["path"] = "elements/Program.lua",
|
||||
["default"] = true,
|
||||
["size"] = 6295,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
["TextBox"] = {
|
||||
["path"] = "elements/TextBox.lua",
|
||||
["default"] = false,
|
||||
["size"] = 10904,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["description"] = "A multi-line text editor component with cursor support and text manipulation features",
|
||||
},
|
||||
["LineChart"] = {
|
||||
["path"] = "elements/LineChart.lua",
|
||||
["default"] = false,
|
||||
["size"] = 2707,
|
||||
["requires"] = {
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
["Menu"] = {
|
||||
["path"] = "elements/Menu.lua",
|
||||
["default"] = true,
|
||||
["size"] = 4657,
|
||||
["requires"] = {
|
||||
[1] = "List",
|
||||
},
|
||||
["description"] = "A horizontal menu bar with selectable items.",
|
||||
},
|
||||
["BarChart"] = {
|
||||
["path"] = "elements/BarChart.lua",
|
||||
["default"] = false,
|
||||
["size"] = 2634,
|
||||
["requires"] = {
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
["Slider"] = {
|
||||
["path"] = "elements/Slider.lua",
|
||||
["default"] = true,
|
||||
["size"] = 4676,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
["Checkbox"] = {
|
||||
["path"] = "elements/Checkbox.lua",
|
||||
["default"] = true,
|
||||
["size"] = 2872,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
["Label"] = {
|
||||
["path"] = "elements/Label.lua",
|
||||
["default"] = true,
|
||||
["size"] = 3069,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["description"] = "A simple text display element that automatically resizes its width based on the text content.",
|
||||
},
|
||||
["Graph"] = {
|
||||
["path"] = "elements/Graph.lua",
|
||||
["default"] = false,
|
||||
["size"] = 5940,
|
||||
["requires"] = {
|
||||
},
|
||||
["description"] = "A point based graph element",
|
||||
},
|
||||
["BigFont"] = {
|
||||
["path"] = "elements/BigFont.lua",
|
||||
["default"] = false,
|
||||
["size"] = 20332,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
["Button"] = {
|
||||
["path"] = "elements/Button.lua",
|
||||
["default"] = true,
|
||||
["size"] = 1632,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
["Container"] = {
|
||||
["path"] = "elements/Container.lua",
|
||||
["default"] = true,
|
||||
["size"] = 23180,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["description"] = "The container class. It is a visual element that can contain other elements. It is the base class for all containers",
|
||||
},
|
||||
["List"] = {
|
||||
["path"] = "elements/List.lua",
|
||||
["default"] = true,
|
||||
["size"] = 8643,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["description"] = "A scrollable list of selectable items",
|
||||
},
|
||||
["Scrollbar"] = {
|
||||
["path"] = "elements/Scrollbar.lua",
|
||||
["default"] = true,
|
||||
["size"] = 9164,
|
||||
["requires"] = {
|
||||
[1] = "VisualElement",
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
},
|
||||
["description"] = "UI Elements",
|
||||
},
|
||||
["libraries"] = {
|
||||
["files"] = {
|
||||
["expect"] = {
|
||||
["path"] = "libraries/expect.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
},
|
||||
["size"] = 846,
|
||||
["default"] = true,
|
||||
},
|
||||
["colorHex"] = {
|
||||
["path"] = "libraries/colorHex.lua",
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 132,
|
||||
["requires"] = {
|
||||
},
|
||||
["size"] = 132,
|
||||
["description"] = "",
|
||||
},
|
||||
["expect"] = {
|
||||
["path"] = "libraries/expect.lua",
|
||||
["default"] = true,
|
||||
["size"] = 846,
|
||||
["requires"] = {
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
["utils"] = {
|
||||
["path"] = "libraries/utils.lua",
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 2661,
|
||||
["requires"] = {
|
||||
},
|
||||
["size"] = 2661,
|
||||
["default"] = true,
|
||||
["description"] = "",
|
||||
},
|
||||
},
|
||||
["description"] = "Libraries",
|
||||
},
|
||||
["plugins"] = {
|
||||
["files"] = {
|
||||
["state"] = {
|
||||
["path"] = "plugins/state.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
},
|
||||
["size"] = 5867,
|
||||
["default"] = true,
|
||||
},
|
||||
["reactive"] = {
|
||||
["path"] = "plugins/reactive.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
},
|
||||
["size"] = 6962,
|
||||
["default"] = true,
|
||||
},
|
||||
["animation"] = {
|
||||
["path"] = "plugins/animation.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
},
|
||||
["size"] = 14116,
|
||||
["default"] = true,
|
||||
},
|
||||
["benchmark"] = {
|
||||
["path"] = "plugins/benchmark.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
},
|
||||
["default"] = true,
|
||||
["size"] = 12515,
|
||||
["default"] = true,
|
||||
},
|
||||
["xml"] = {
|
||||
["path"] = "plugins/xml.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
},
|
||||
["size"] = 17568,
|
||||
["default"] = true,
|
||||
["description"] = "",
|
||||
},
|
||||
["theme"] = {
|
||||
["path"] = "plugins/theme.lua",
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 5885,
|
||||
["requires"] = {
|
||||
},
|
||||
["size"] = 5885,
|
||||
["description"] = "",
|
||||
},
|
||||
["state"] = {
|
||||
["path"] = "plugins/state.lua",
|
||||
["default"] = true,
|
||||
["size"] = 5867,
|
||||
["requires"] = {
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
["reactive"] = {
|
||||
["path"] = "plugins/reactive.lua",
|
||||
["default"] = true,
|
||||
["size"] = 6962,
|
||||
["requires"] = {
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
["animation"] = {
|
||||
["path"] = "plugins/animation.lua",
|
||||
["default"] = true,
|
||||
["size"] = 14116,
|
||||
["requires"] = {
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
["debug"] = {
|
||||
["path"] = "plugins/debug.lua",
|
||||
["description"] = "",
|
||||
["default"] = true,
|
||||
["size"] = 6175,
|
||||
["requires"] = {
|
||||
},
|
||||
["size"] = 6175,
|
||||
["description"] = "",
|
||||
},
|
||||
["xml"] = {
|
||||
["path"] = "plugins/xml.lua",
|
||||
["default"] = true,
|
||||
["size"] = 17568,
|
||||
["requires"] = {
|
||||
},
|
||||
["description"] = "",
|
||||
},
|
||||
},
|
||||
["description"] = "Plugins",
|
||||
},
|
||||
["core"] = {
|
||||
["files"] = {
|
||||
["render"] = {
|
||||
["path"] = "render.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
},
|
||||
["size"] = 10935,
|
||||
["default"] = true,
|
||||
},
|
||||
["propertySystem"] = {
|
||||
["path"] = "propertySystem.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
},
|
||||
["size"] = 15225,
|
||||
["default"] = true,
|
||||
},
|
||||
["errorManager"] = {
|
||||
["path"] = "errorManager.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
},
|
||||
["size"] = 3789,
|
||||
["default"] = true,
|
||||
},
|
||||
["init"] = {
|
||||
["path"] = "init.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
},
|
||||
["size"] = 519,
|
||||
["default"] = true,
|
||||
},
|
||||
["elementManager"] = {
|
||||
["path"] = "elementManager.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
},
|
||||
["size"] = 6297,
|
||||
["default"] = true,
|
||||
},
|
||||
["main"] = {
|
||||
["path"] = "main.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
},
|
||||
["size"] = 8158,
|
||||
["default"] = true,
|
||||
},
|
||||
["log"] = {
|
||||
["path"] = "log.lua",
|
||||
["description"] = "",
|
||||
["requires"] = {
|
||||
},
|
||||
["size"] = 3142,
|
||||
["default"] = true,
|
||||
},
|
||||
},
|
||||
["description"] = "Core Files",
|
||||
},
|
||||
},
|
||||
["metadata"] = {
|
||||
["generated"] = "Tue Mar 4 00:54:15 2025",
|
||||
["version"] = "2.0",
|
||||
},
|
||||
}
|
||||
@@ -7,6 +7,7 @@ local baseRequire = require
|
||||
require = function(path) if(project[path..".lua"])then if(loadedProject[path]==nil)then loadedProject[path] = project[path..".lua"]() end return loadedProject[path] end return baseRequire(path) end
|
||||
minified_elementDirectory["BigFont"] = {}
|
||||
minified_elementDirectory["TextBox"] = {}
|
||||
minified_elementDirectory["LineChart"] = {}
|
||||
minified_elementDirectory["Container"] = {}
|
||||
minified_elementDirectory["Image"] = {}
|
||||
minified_elementDirectory["Flexbox"] = {}
|
||||
@@ -27,6 +28,7 @@ minified_elementDirectory["Slider"] = {}
|
||||
minified_elementDirectory["ProgressBar"] = {}
|
||||
minified_elementDirectory["List"] = {}
|
||||
minified_elementDirectory["Dropdown"] = {}
|
||||
minified_elementDirectory["BarChart"] = {}
|
||||
minified_elementDirectory["Menu"] = {}
|
||||
minified_pluginDirectory["xml"] = {}
|
||||
minified_pluginDirectory["state"] = {}
|
||||
@@ -440,6 +442,28 @@ if self.get("focused")then local bd=self.get("cursorX")-ac;local cd=
|
||||
self.get("cursorY")-bc;if
|
||||
bd>=1 and bd<=cc and cd>=1 and cd<=dc then
|
||||
self:setCursor(bd,cd,true,self.get("cursorColor")or self.get("foreground"))end end end;return _b end
|
||||
project["elements/LineChart.lua"] = function(...) local ba=require("elementManager")
|
||||
local ca=ba.getElement("VisualElement")local da=ba.getElement("Graph")
|
||||
local _b=require("libraries/colorHex")local ab=setmetatable({},da)ab.__index=ab;function ab.new()
|
||||
local cb=setmetatable({},ab):__init()return cb end;function ab:init(cb,db)da.init(self,cb,db)
|
||||
self.set("type","LineChart")return self end
|
||||
local function bb(cb,db,_c,ac,bc,cc,dc,_d)local ad=ac-db;local bd=bc-_c
|
||||
local cd=math.max(math.abs(ad),math.abs(bd))
|
||||
for i=0,cd do local dd=cd==0 and 0 or i/cd
|
||||
local __a=math.floor(db+ad*dd)local a_a=math.floor(_c+bd*dd)
|
||||
if
|
||||
|
||||
__a>=1 and __a<=cb.get("width")and a_a>=1 and a_a<=cb.get("height")then cb:blit(__a,a_a,cc,_b[dc],_b[_d])end end end
|
||||
function ab:render()ca.render(self)local cb=self.get("width")
|
||||
local db=self.get("height")local _c=self.get("minValue")local ac=self.get("maxValue")
|
||||
local bc=self.get("series")
|
||||
for cc,dc in pairs(bc)do
|
||||
if(dc.visible)then local _d,ad;local bd=#dc.data
|
||||
local cd=(cb-1)/math.max((bd-1),1)
|
||||
for dd,__a in ipairs(dc.data)do local a_a=math.floor(( (dd-1)*cd)+1)local b_a=
|
||||
(__a-_c)/ (ac-_c)
|
||||
local c_a=math.floor(db- (b_a* (db-1)))c_a=math.max(1,math.min(c_a,db))if _d then
|
||||
bb(self,_d,ad,a_a,c_a,dc.symbol,dc.bgColor,dc.fgColor)end;_d,ad=a_a,c_a end end end end;return ab end
|
||||
project["elements/Container.lua"] = function(...) local ca=require("elementManager")
|
||||
local da=ca.getElement("VisualElement")local _b=require("libraries/expect")
|
||||
local ab=require("libraries/utils").split;local bb=setmetatable({},da)bb.__index=bb
|
||||
@@ -1214,27 +1238,47 @@ nil;self._values=nil;self.basalt=nil;self.parent=nil
|
||||
self.__index=nil;setmetatable(self,nil)end
|
||||
function aa:updateRender()if(self.parent)then self.parent:updateRender()else
|
||||
self._renderUpdate=true end end;return aa end
|
||||
project["elements/Graph.lua"] = function(...) local d=require("elementManager")
|
||||
local _a=d.getElement("elements/VisualElement")local aa=setmetatable({},_a)aa.__index=aa
|
||||
aa.defineProperty(aa,"data",{default={},type="table",canTriggerRender=true})
|
||||
aa.defineProperty(aa,"minValue",{default=0,type="number",canTriggerRender=true})
|
||||
aa.defineProperty(aa,"maxValue",{default=100,type="number",canTriggerRender=true})
|
||||
aa.defineProperty(aa,"graphColor",{default=colors.yellow,type="color",canTriggerRender=true})
|
||||
aa.defineProperty(aa,"graphSymbol",{default="\127",type="string",canTriggerRender=true})
|
||||
function aa.new()local ba=setmetatable({},aa):__init()return ba end;function aa:init(ba,ca)_a.init(self,ba,ca)self.set("type","Graph")
|
||||
return self end
|
||||
function aa:setPoint(ba,ca)
|
||||
local da=self.get("data")da[ba]=ca;self:updateRender()end;function aa:addPoint(ba)local ca=self.get("data")table.insert(ca,ba)while#ca>
|
||||
self.get("width")do table.remove(ca,1)end
|
||||
self:updateRender()end
|
||||
function aa:render()
|
||||
_a.render(self)local ba=self.get("data")local ca=self.get("width")
|
||||
local da=self.get("height")local _b=self.get("minValue")local ab=self.get("maxValue")
|
||||
local bb=self.get("graphSymbol")local cb=self.get("graphColor")
|
||||
for x=1,ca do
|
||||
if ba[x]then
|
||||
local db=(ba[x]-_b)/ (ab-_b)local _c=math.floor(da- (db* (da-1)))
|
||||
_c=math.max(1,math.min(_c,da))self:textFg(x,_c,bb,cb)end end end;return aa end
|
||||
project["elements/Graph.lua"] = function(...) local _a=require("elementManager")
|
||||
local aa=_a.getElement("VisualElement")local ba=require("libraries/colorHex")
|
||||
local ca=setmetatable({},aa)ca.__index=ca
|
||||
ca.defineProperty(ca,"minValue",{default=0,type="number",canTriggerRender=true})
|
||||
ca.defineProperty(ca,"maxValue",{default=100,type="number",canTriggerRender=true})
|
||||
ca.defineProperty(ca,"series",{default={},type="table",canTriggerRender=true})
|
||||
function ca.new()local da=setmetatable({},ca):__init()return da end
|
||||
function ca:init(da,_b)aa.init(self,da,_b)self.set("type","Graph")
|
||||
self.set("width",20)self.set("height",10)return self end
|
||||
function ca:addSeries(da,_b,ab,bb,cb)local db=self.get("series")
|
||||
table.insert(db,{name=da,symbol=_b or" ",bgColor=ab or colors.white,fgColor=
|
||||
bb or colors.black,pointCount=cb or self.get("width"),data={},visible=true})self:updateRender()return self end
|
||||
function ca:removeSeries(da)local _b=self.get("series")for ab,bb in ipairs(_b)do if bb.name==da then
|
||||
table.remove(_b,ab)break end end
|
||||
self:updateRender()return self end
|
||||
function ca:getSeries(da)local _b=self.get("series")for ab,bb in ipairs(_b)do
|
||||
if bb.name==da then return bb end end;return nil end
|
||||
function ca:changeSeriesVisibility(da,_b)local ab=self.get("series")for bb,cb in ipairs(ab)do if cb.name==da then
|
||||
cb.visible=_b;break end end
|
||||
self:updateRender()return self end
|
||||
function ca:addPoint(da,_b)local ab=self.get("series")
|
||||
for bb,cb in ipairs(ab)do if cb.name==da then
|
||||
table.insert(cb.data,_b)
|
||||
while#cb.data>cb.pointCount do table.remove(cb.data,1)end;break end end;self:updateRender()return self end
|
||||
function ca:focusSeries(da)local _b=self.get("series")
|
||||
for ab,bb in ipairs(_b)do if bb.name==da then
|
||||
table.remove(_b,ab)table.insert(_b,bb)break end end;self:updateRender()return self end
|
||||
function ca:setSeriesPointCount(da,_b)local ab=self.get("series")
|
||||
for bb,cb in ipairs(ab)do if cb.name==da then
|
||||
cb.pointCount=_b;while#cb.data>_b do table.remove(cb.data,1)end
|
||||
break end end;self:updateRender()return self end
|
||||
function ca:render()aa.render(self)local da=self.get("width")
|
||||
local _b=self.get("height")local ab=self.get("minValue")local bb=self.get("maxValue")
|
||||
local cb=self.get("series")
|
||||
for db,_c in pairs(cb)do
|
||||
if(_c.visible)then local ac=#_c.data
|
||||
local bc=(da-1)/math.max((ac-1),1)
|
||||
for cc,dc in ipairs(_c.data)do local _d=math.floor(( (cc-1)*bc)+1)local ad=
|
||||
(dc-ab)/ (bb-ab)
|
||||
local bd=math.floor(_b- (ad* (_b-1)))bd=math.max(1,math.min(bd,_b))
|
||||
self:blit(_d,bd,_c.symbol,ba[_c.bgColor],ba[_c.fgColor])end end end end;return ca end
|
||||
project["elements/Frame.lua"] = function(...) local _a=require("elementManager")
|
||||
local aa=_a.getElement("VisualElement")local ba=_a.getElement("Container")local ca=setmetatable({},ba)
|
||||
ca.__index=ca
|
||||
@@ -1551,6 +1595,25 @@ local cc=bc and
|
||||
local dc=
|
||||
bc and(_c.selectedForeground or self.get("selectedForeground"))or(_c.foreground or self.get("foreground"))self:textBg(1,i+1,string.rep(" ",cb),cc)self:textFg(1,
|
||||
i+1,ac,dc)end end end end end;return ca end
|
||||
project["elements/BarChart.lua"] = function(...) local aa=require("elementManager")
|
||||
local ba=aa.getElement("VisualElement")local ca=aa.getElement("Graph")
|
||||
local da=require("libraries/colorHex")local _b=setmetatable({},ca)_b.__index=_b;function _b.new()
|
||||
local ab=setmetatable({},_b):__init()return ab end;function _b:init(ab,bb)ca.init(self,ab,bb)
|
||||
self.set("type","BarChart")return self end
|
||||
function _b:render()
|
||||
ba.render(self)local ab=self.get("width")local bb=self.get("height")
|
||||
local cb=self.get("minValue")local db=self.get("maxValue")local _c=self.get("series")local ac=0
|
||||
local bc={}
|
||||
for ad,bd in pairs(_c)do if(bd.visible)then
|
||||
if#bd.data>0 then ac=ac+1;table.insert(bc,bd)end end end;local cc=ac;local dc=1
|
||||
local _d=math.min(bc[1]and bc[1].pointCount or 0,math.floor((ab+dc)/ (
|
||||
cc+dc)))
|
||||
for groupIndex=1,_d do local ad=( (groupIndex-1)* (cc+dc))+1
|
||||
for bd,cd in ipairs(bc)do
|
||||
local dd=cd.data[groupIndex]
|
||||
if dd then local __a=ad+ (bd-1)local a_a=(dd-cb)/ (db-cb)
|
||||
local b_a=math.floor(bb- (a_a* (bb-1)))b_a=math.max(1,math.min(b_a,bb))for barY=b_a,bb do
|
||||
self:blit(__a,barY,cd.symbol,da[cd.fgColor],da[cd.bgColor])end end end end end;return _b end
|
||||
project["elements/Menu.lua"] = function(...) local _a=require("elements/VisualElement")
|
||||
local aa=require("elements/List")local ba=require("libraries/colorHex")
|
||||
local ca=setmetatable({},aa)ca.__index=ca
|
||||
|
||||
@@ -415,14 +415,6 @@ function Container:addFrame()
|
||||
return self
|
||||
end
|
||||
|
||||
--- Adds a new Graph to the container
|
||||
---@generic Element: Container
|
||||
---@param self Element
|
||||
---@return Graph
|
||||
function Container:addGraph()
|
||||
return self
|
||||
end
|
||||
|
||||
--- Adds a new Image to the container
|
||||
---@generic Element: Container
|
||||
---@param self Element
|
||||
|
||||
Reference in New Issue
Block a user