This commit is contained in:
Robert Jelic
2025-03-14 03:46:56 +01:00
2 changed files with 372 additions and 339 deletions

View File

@@ -1,386 +1,395 @@
return {
["metadata"] = {
["generated"] = "Tue Mar 11 23:42:14 2025",
["version"] = "2.0",
},
["categories"] = {
["elements"] = {
["files"] = {
["Table"] = {
["description"] = "",
["size"] = 7586,
["requires"] = {
[1] = "VisualElement",
},
["path"] = "elements/Table.lua",
["default"] = true,
},
["Button"] = {
["description"] = "",
["size"] = 1632,
["requires"] = {
[1] = "VisualElement",
},
["path"] = "elements/Button.lua",
["default"] = true,
},
["Slider"] = {
["description"] = "",
["size"] = 4676,
["requires"] = {
[1] = "VisualElement",
},
["path"] = "elements/Slider.lua",
["default"] = true,
},
["LineChart"] = {
["description"] = "",
["size"] = 2707,
["requires"] = {
},
["path"] = "elements/LineChart.lua",
["default"] = false,
},
["BaseFrame"] = {
["description"] = "This is the base frame class. It is the root element of all elements and the only element without a parent.",
["size"] = 5868,
["requires"] = {
[1] = "Container",
},
["path"] = "elements/BaseFrame.lua",
["default"] = true,
},
["BaseElement"] = {
["description"] = "The base class for all UI elements in Basalt.",
["size"] = 8911,
["requires"] = {
},
["path"] = "elements/BaseElement.lua",
["default"] = true,
},
["Checkbox"] = {
["description"] = "",
["size"] = 2872,
["requires"] = {
[1] = "VisualElement",
},
["path"] = "elements/Checkbox.lua",
["default"] = true,
},
["Frame"] = {
["description"] = "A frame element that serves as a grouping container for other elements.",
["size"] = 4435,
["requires"] = {
[1] = "Container",
},
["path"] = "elements/Frame.lua",
["default"] = true,
},
["Graph"] = {
["description"] = "A point based graph element",
["size"] = 5940,
["requires"] = {
},
["path"] = "elements/Graph.lua",
["default"] = false,
},
["ProgressBar"] = {
["description"] = "",
["size"] = 2272,
["requires"] = {
[1] = "VisualElement",
},
["path"] = "elements/ProgressBar.lua",
["default"] = true,
},
["VisualElement"] = {
["description"] = "The Visual Element class which is the base class for all visual UI elements",
["size"] = 17150,
["requires"] = {
[1] = "BaseElement",
},
["path"] = "elements/VisualElement.lua",
["default"] = true,
},
["Tree"] = {
["description"] = "",
["size"] = 7885,
["requires"] = {
[1] = "VisualElement",
},
["path"] = "elements/Tree.lua",
["default"] = true,
},
["BarChart"] = {
["description"] = "",
["size"] = 2634,
["requires"] = {
},
["path"] = "elements/BarChart.lua",
["default"] = false,
},
["Container"] = {
["description"] = "The container class. It is a visual element that can contain other elements. It is the base class for all containers",
["size"] = 23195,
["requires"] = {
[1] = "VisualElement",
},
["path"] = "elements/Container.lua",
["default"] = true,
},
["Scrollbar"] = {
["description"] = "",
["size"] = 9164,
["requires"] = {
[1] = "VisualElement",
},
["path"] = "elements/Scrollbar.lua",
["default"] = true,
},
["Label"] = {
["description"] = "A simple text display element that automatically resizes its width based on the text content.",
["size"] = 3069,
["requires"] = {
[1] = "VisualElement",
},
["path"] = "elements/Label.lua",
["default"] = true,
},
["BigFont"] = {
["description"] = "",
["size"] = 20670,
["requires"] = {
[1] = "VisualElement",
},
["path"] = "elements/BigFont.lua",
["default"] = false,
},
["List"] = {
["description"] = "A scrollable list of selectable items",
["size"] = 8645,
["requires"] = {
[1] = "VisualElement",
},
["path"] = "elements/List.lua",
["default"] = true,
},
["Program"] = {
["description"] = "",
["size"] = 6295,
["requires"] = {
[1] = "VisualElement",
},
["path"] = "elements/Program.lua",
["default"] = true,
},
["Menu"] = {
["description"] = "A horizontal menu bar with selectable items.",
["size"] = 4657,
["requires"] = {
[1] = "List",
},
["path"] = "elements/Menu.lua",
["default"] = true,
},
["TextBox"] = {
["description"] = "A multi-line text editor component with cursor support and text manipulation features",
["size"] = 10904,
["requires"] = {
[1] = "VisualElement",
},
["path"] = "elements/TextBox.lua",
["default"] = false,
},
["Flexbox"] = {
["description"] = "A flexbox container that arranges its children in a flexible layout.",
["size"] = 11530,
["requires"] = {
[1] = "Container",
},
["path"] = "elements/Flexbox.lua",
["default"] = true,
},
["Input"] = {
["description"] = "A text input field with various features",
["size"] = 7997,
["requires"] = {
[1] = "VisualElement",
},
["path"] = "elements/Input.lua",
["default"] = true,
},
["Dropdown"] = {
["description"] = "A dropdown menu that shows a list of selectable items",
["size"] = 5845,
["requires"] = {
[1] = "List",
},
["path"] = "elements/Dropdown.lua",
["default"] = false,
},
["Image"] = {
["description"] = "An element that displays an image in bimg format",
["size"] = 13312,
["requires"] = {
[1] = "VisualElement",
},
["path"] = "elements/Image.lua",
["default"] = false,
},
},
["description"] = "UI Elements",
},
["plugins"] = {
["files"] = {
["state"] = {
["description"] = "",
["size"] = 5867,
["requires"] = {
},
["path"] = "plugins/state.lua",
["default"] = true,
},
["xml"] = {
["description"] = "",
["size"] = 8669,
["requires"] = {
},
["path"] = "plugins/xml.lua",
["default"] = true,
},
["theme"] = {
["description"] = "",
["size"] = 5885,
["requires"] = {
},
["path"] = "plugins/theme.lua",
["default"] = true,
},
["reactive"] = {
["description"] = "",
["size"] = 6962,
["requires"] = {
},
["path"] = "plugins/reactive.lua",
["default"] = true,
},
["benchmark"] = {
["description"] = "",
["size"] = 12496,
["requires"] = {
[1] = "VisualElement",
},
["path"] = "plugins/benchmark.lua",
["default"] = true,
},
["animation"] = {
["description"] = "",
["size"] = 14116,
["requires"] = {
},
["path"] = "plugins/animation.lua",
["default"] = true,
},
["debug"] = {
["description"] = "",
["size"] = 6175,
["requires"] = {
},
["path"] = "plugins/debug.lua",
["default"] = true,
},
},
["description"] = "Plugins",
},
["libraries"] = {
["files"] = {
["expect"] = {
["description"] = "",
["size"] = 846,
["requires"] = {
},
["path"] = "libraries/expect.lua",
["default"] = true,
},
["utils"] = {
["description"] = "",
["size"] = 2661,
["path"] = "libraries/utils.lua",
["description"] = "",
["default"] = true,
["requires"] = {
},
["path"] = "libraries/utils.lua",
},
["expect"] = {
["size"] = 846,
["path"] = "libraries/expect.lua",
["description"] = "",
["default"] = true,
["requires"] = {
},
},
["colorHex"] = {
["description"] = "",
["size"] = 132,
["path"] = "libraries/colorHex.lua",
["description"] = "",
["default"] = true,
["requires"] = {
},
["path"] = "libraries/colorHex.lua",
["default"] = true,
},
},
["description"] = "Libraries",
},
["plugins"] = {
["files"] = {
["animation"] = {
["size"] = 14116,
["path"] = "plugins/animation.lua",
["description"] = "",
["default"] = true,
["requires"] = {
},
},
["debug"] = {
["size"] = 6175,
["path"] = "plugins/debug.lua",
["description"] = "",
["default"] = true,
["requires"] = {
},
},
["reactive"] = {
["size"] = 6962,
["path"] = "plugins/reactive.lua",
["description"] = "",
["default"] = true,
["requires"] = {
},
},
["benchmark"] = {
["size"] = 12496,
["path"] = "plugins/benchmark.lua",
["description"] = "",
["default"] = true,
["requires"] = {
[1] = "VisualElement",
},
},
["theme"] = {
["size"] = 5885,
["path"] = "plugins/theme.lua",
["description"] = "",
["default"] = true,
["requires"] = {
},
},
["state"] = {
["size"] = 5867,
["path"] = "plugins/state.lua",
["description"] = "",
["default"] = true,
["requires"] = {
},
},
["xml"] = {
["size"] = 8669,
["path"] = "plugins/xml.lua",
["description"] = "",
["default"] = true,
["requires"] = {
},
},
},
["description"] = "Plugins",
},
["core"] = {
["files"] = {
["main"] = {
["render"] = {
["size"] = 11100,
["path"] = "render.lua",
["description"] = "",
["size"] = 9007,
["default"] = true,
["requires"] = {
},
["path"] = "main.lua",
["default"] = true,
},
["init"] = {
["description"] = "",
["size"] = 519,
["requires"] = {
},
["path"] = "init.lua",
["default"] = true,
},
["elementManager"] = {
["description"] = "",
["size"] = 6297,
["path"] = "elementManager.lua",
["description"] = "",
["default"] = true,
["requires"] = {
},
["path"] = "elementManager.lua",
["default"] = true,
},
["propertySystem"] = {
["description"] = "",
["size"] = 15225,
["requires"] = {
},
["path"] = "propertySystem.lua",
["default"] = true,
},
["render"] = {
["description"] = "",
["size"] = 11100,
["default"] = true,
["requires"] = {
},
["path"] = "render.lua",
["default"] = true,
},
["log"] = {
["description"] = "",
["size"] = 3142,
["requires"] = {
},
["path"] = "log.lua",
["default"] = true,
},
["errorManager"] = {
["description"] = "",
["size"] = 3789,
["path"] = "errorManager.lua",
["description"] = "",
["default"] = true,
["requires"] = {
},
["path"] = "errorManager.lua",
},
["main"] = {
["size"] = 9007,
["path"] = "main.lua",
["description"] = "",
["default"] = true,
["requires"] = {
},
},
["init"] = {
["size"] = 519,
["path"] = "init.lua",
["description"] = "",
["default"] = true,
["requires"] = {
},
},
["log"] = {
["size"] = 3142,
["path"] = "log.lua",
["description"] = "",
["default"] = true,
["requires"] = {
},
},
},
["description"] = "Core Files",
},
["elements"] = {
["files"] = {
["BaseFrame"] = {
["size"] = 5868,
["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.",
["default"] = true,
["requires"] = {
[1] = "Container",
},
},
["Input"] = {
["size"] = 7997,
["path"] = "elements/Input.lua",
["description"] = "A text input field with various features",
["default"] = true,
["requires"] = {
[1] = "VisualElement",
},
},
["BigFont"] = {
["size"] = 20670,
["path"] = "elements/BigFont.lua",
["description"] = "",
["default"] = false,
["requires"] = {
[1] = "VisualElement",
},
},
["Dropdown"] = {
["size"] = 5845,
["path"] = "elements/Dropdown.lua",
["description"] = "A dropdown menu that shows a list of selectable items",
["default"] = false,
["requires"] = {
[1] = "List",
},
},
["VisualElement"] = {
["size"] = 17150,
["path"] = "elements/VisualElement.lua",
["description"] = "The Visual Element class which is the base class for all visual UI elements",
["default"] = true,
["requires"] = {
[1] = "BaseElement",
},
},
["ProgressBar"] = {
["size"] = 2272,
["path"] = "elements/ProgressBar.lua",
["description"] = "",
["default"] = true,
["requires"] = {
[1] = "VisualElement",
},
},
["Graph"] = {
["size"] = 5940,
["path"] = "elements/Graph.lua",
["description"] = "A point based graph element",
["default"] = false,
["requires"] = {
},
},
["Tree"] = {
["size"] = 7885,
["path"] = "elements/Tree.lua",
["description"] = "",
["default"] = true,
["requires"] = {
[1] = "VisualElement",
},
},
["Table"] = {
["size"] = 7586,
["path"] = "elements/Table.lua",
["description"] = "",
["default"] = true,
["requires"] = {
[1] = "VisualElement",
},
},
["Slider"] = {
["size"] = 4676,
["path"] = "elements/Slider.lua",
["description"] = "",
["default"] = true,
["requires"] = {
[1] = "VisualElement",
},
},
["Container"] = {
["size"] = 23195,
["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",
["default"] = true,
["requires"] = {
[1] = "VisualElement",
},
},
["Label"] = {
["size"] = 3069,
["path"] = "elements/Label.lua",
["description"] = "A simple text display element that automatically resizes its width based on the text content.",
["default"] = true,
["requires"] = {
[1] = "VisualElement",
},
},
["Display"] = {
["size"] = 2713,
["path"] = "elements/Display.lua",
["description"] = "",
["default"] = false,
["requires"] = {
[1] = "VisualElement",
},
},
["Image"] = {
["size"] = 13312,
["path"] = "elements/Image.lua",
["description"] = "An element that displays an image in bimg format",
["default"] = false,
["requires"] = {
[1] = "VisualElement",
},
},
["Menu"] = {
["size"] = 4657,
["path"] = "elements/Menu.lua",
["description"] = "A horizontal menu bar with selectable items.",
["default"] = true,
["requires"] = {
[1] = "List",
},
},
["Scrollbar"] = {
["size"] = 9164,
["path"] = "elements/Scrollbar.lua",
["description"] = "",
["default"] = true,
["requires"] = {
[1] = "VisualElement",
},
},
["Flexbox"] = {
["size"] = 11530,
["path"] = "elements/Flexbox.lua",
["description"] = "A flexbox container that arranges its children in a flexible layout.",
["default"] = true,
["requires"] = {
[1] = "Container",
},
},
["Program"] = {
["size"] = 6295,
["path"] = "elements/Program.lua",
["description"] = "",
["default"] = true,
["requires"] = {
[1] = "VisualElement",
},
},
["TextBox"] = {
["size"] = 10904,
["path"] = "elements/TextBox.lua",
["description"] = "A multi-line text editor component with cursor support and text manipulation features",
["default"] = false,
["requires"] = {
[1] = "VisualElement",
},
},
["List"] = {
["size"] = 8645,
["path"] = "elements/List.lua",
["description"] = "A scrollable list of selectable items",
["default"] = true,
["requires"] = {
[1] = "VisualElement",
},
},
["BarChart"] = {
["size"] = 2634,
["path"] = "elements/BarChart.lua",
["description"] = "",
["default"] = false,
["requires"] = {
},
},
["Checkbox"] = {
["size"] = 2872,
["path"] = "elements/Checkbox.lua",
["description"] = "",
["default"] = true,
["requires"] = {
[1] = "VisualElement",
},
},
["LineChart"] = {
["size"] = 2707,
["path"] = "elements/LineChart.lua",
["description"] = "",
["default"] = false,
["requires"] = {
},
},
["BaseElement"] = {
["size"] = 8911,
["path"] = "elements/BaseElement.lua",
["description"] = "The base class for all UI elements in Basalt.",
["default"] = true,
["requires"] = {
},
},
["Button"] = {
["size"] = 1632,
["path"] = "elements/Button.lua",
["description"] = "",
["default"] = true,
["requires"] = {
[1] = "VisualElement",
},
},
["Frame"] = {
["size"] = 4435,
["path"] = "elements/Frame.lua",
["description"] = "A frame element that serves as a grouping container for other elements.",
["default"] = true,
["requires"] = {
[1] = "Container",
},
},
},
["description"] = "UI Elements",
},
},
["metadata"] = {
["generated"] = "Thu Mar 13 19:46:50 2025",
["version"] = "2.0",
},
}

View File

@@ -26,6 +26,7 @@ minified_elementDirectory["Program"] = {}
minified_elementDirectory["Table"] = {}
minified_elementDirectory["Slider"] = {}
minified_elementDirectory["ProgressBar"] = {}
minified_elementDirectory["Display"] = {}
minified_elementDirectory["List"] = {}
minified_elementDirectory["Dropdown"] = {}
minified_elementDirectory["BarChart"] = {}
@@ -1492,6 +1493,29 @@ self:textBg(1,i,string.rep(" ",ba),self.get("progressColor"))end;if self.get("sh
tostring(aa).."%"
local da=math.floor((_a-#ca)/2)+1
self:textFg(da,1,ca,self.get("foreground"))end end;return d end
project["elements/Display.lua"] = function(...) local aa=require("elementManager")
local ba=aa.getElement("VisualElement")
local ca=require("libraries/utils").getCenteredPosition;local da=require("libraries/utils").deepcopy
local _b=setmetatable({},ba)_b.__index=_b;function _b.new()
local ab=setmetatable({},_b):__init()ab.set("width",25)ab.set("height",8)ab.set("z",5)
return ab end
function _b:init(ab,bb)
ba.init(self,ab,bb)self.set("type","Display")
self._window=window.create(bb.getActiveFrame():getTerm(),1,1,self.get("width"),self.get("height"),false)local cb=self._window.reposition
self._window.reposition=function(db,_c,ac,bc,cc)
db.set("x",_c)db.set("y",ac)db.set("width",bc)db.set("height",cc)
cb(db,1,1,bc,cc)end
self._window.getPosition=function(db)return db.get("x"),db.get("y")end
self._window.setVisible=function(db,_c)db.set("visible",_c)end
self._window.isVisible=function(db)return db.get("visible")end
self:observe("width",function(db,_c)local ac=db.get("window")if ac then
ac.reposition(1,1,_c,db.get("height"))end end)
self:observe("height",function(db,_c)local ac=db.get("window")if ac then
ac.reposition(1,1,db.get("width"),_c)end end)end;function _b:getWindow()return self._window end
function _b:render()
ba.render(self)local ab=self._window;local bb,cb=ab.getSize()
if ab then for y=1,cb do local db,_c,ac=ab.getLine(y)
self:blit(1,y,db,_c,ac)end end end;return _b end
project["elements/List.lua"] = function(...) local c=require("elements/VisualElement")
local d=setmetatable({},c)d.__index=d
d.defineProperty(d,"items",{default={},type="table",canTriggerRender=true})