summaryrefslogtreecommitdiff
path: root/indra/newview/scripts/lua/require/UI.lua
AgeCommit message (Collapse)Author
2024-09-06Remove Lua floaters from menu_viewer.xml; re-add if Lua enabled.Nat Goodspeed
Add a menus.lua autorun script that waits until login, then adds the Lua floaters back into the Develop->Consoles menu where they were originally. Extend UI.addMenuItem() and addMenuSeparator() to support pos argument.
2024-09-04`result_view()`'s table's `close()` method need not be further wrapped.Nat Goodspeed
`LL.setdtor(desc, table, func)` eventually calls `func(table)`. So the `close()` method on the table returned by `result_view()` can be directly passed to `setdtor()`, instead of wrapped in a new anonymous function whose only job is to pass the table to it. Moreover, there's no need for the table returned by LLInventory.lua's `result()` function to lazily instantiate the `result_view()` for `categories` or `items`: neither `result_view` will fetch a slice unless asked. Just return `{categories=result_view(...), items=result_view(...), close=...}`. This dramatically simplifies the `result()` function. Since that table also defines a `close()` function, that too can be passed directly to `setdtor()` without being wrapped in a new anonymous function.
2024-09-03Use Lua result-set logic for "LLFloaterReg"s "getFloaterNames" op.Nat Goodspeed
This is the query that produced so many results that, before we lifted the infinite-loop interrupt limit, inspect(result) hit the limit and terminated.
2024-08-23Encapsulate the lazy submodule idiom as util.submoduledir().Nat Goodspeed
2024-08-23Look for lazy UI submodules in a require/UI subdirectory.Nat Goodspeed
This way encourages "UI = require 'UI'; UI.Floater" instead of just "Floater = require 'Floater'". Moreover, now we don't need UI to maintain a list of allowed submodules; that's effected by membership in the subdirectory.
2024-08-23Allow UI to have lazily-loaded submodules.Nat Goodspeed
Equip UI with an __index metamethod. When someone references an unknown key/field in UI, require() that module and cache it for future reference. Add util.setmetamethods() as a way to find or create a metatable on a specified table containing specified metamethods. Exercise the new functionality by referencing UI.popup in test_popup.lua.
2024-08-07Rename 'UI' 'getParents' op to 'getTopMenus', add UI.lua function.Nat Goodspeed
Also update the 'UI' help text to reflect its more general nature. Mention 0-relative rank in the xxToolbarBtn operation help text.
2024-08-06code clean upMnikolenko Productengine
2024-08-05Allow getting the list of floater names, hide top menu items; add demo scriptMnikolenko Productengine
2024-08-02Lua api for showing/hiding floater; rename demo scriptsMnikolenko Productengine
2024-08-02Lua api for adjusting toolbarsMnikolenko Productengine
2024-08-01Add UI.callables() and corresponding entry point.Nat Goodspeed
2024-07-17Lua api for adding new menu items to the Top menuMaxim Nikolenko
2024-07-10Simplify passing keys to leap.requestMnikolenko Productengine
2024-07-08Lua api for Snapshot and demo scriptMnikolenko Productengine
2024-06-14Move Lua modules for 'require' to indra/newview/scripts/lua/require.Nat Goodspeed
Make viewer_manifest.py copy them into the viewer install image. Make the require() function look for them there.