LTUI es una biblioteca de interfaz de interfaz de usuario de terminal de caracteres multiplataforma basada en lua.
Este marco se deriva del requisito de configuración del menú gráfico en xmake , similar al menuconf del kernel de Linux para configurar los parámetros de compilación, por lo que en base a curses y lua, se implementa un conjunto de biblioteca de interfaz de usuario de terminal de caracteres multiplataforma.
Y el estilo de estilo básicamente se refiere a kconfig-frontends por completo, por supuesto, los usuarios también pueden personalizar diferentes estilos de interfaz de usuario por sí mismos.
Además, LTUI es completamente multiplataforma, y el terminal terminal en Windows también es totalmente compatible. En Windows, ltui usará pdcurses para dibujar ventanas.
actualizar contenido
En la nueva versión, hemos mejorado el soporte del mouse y hemos dado cuenta de la respuesta de clic a los eventos del mouse de todos los controles. Aquí estamos muy agradecidos por la contribución de @laelnasan .
Además, agregamos un componente de barra de desplazamiento para el soporte de desplazamiento, y también agregamos soporte de desplazamiento a los componentes choicebox y menuconf.
Soporte de desplazamiento de Choicebox
soporte de desplazamiento de menuconf
Instalar y usar
$ luarocks install ltui
Si desea ejecutar la prueba incorporada, debe instalar el programa lua o luajit para cargar y ejecutar el programa de prueba en el repositorio de código fuente de ltui:
$ lua tests/dialog.lua
$ lua tests/window.lua
$ lua tests/desktop.lua
$ lua tests/inputdialog.lua
$ lua tests/mconfdialog.lua
o
$ luajit tests/dialog.lua
$ luajit tests/window.lua
$ luajit tests/desktop.lua
$ luajit tests/inputdialog.lua
$ luajit tests/mconfdialog.lua
Compilación de código fuente
Por lo general, luarocks se puede usar después de instalarlo. Si desea depurar localmente, también puede ejecutar la prueba directamente después de compilar el código fuente. Primero, debemos instalar la herramienta de compilación multiplataforma: xmake
$ xmake
xmake descargará automáticamente lua, ncurses y otras dependencias relacionadas, y luego podemos xmake run
cargar directamente los programas de prueba relacionados:
$ xmake run test dialog
$ xmake run test window
$ xmake run test desktop
$ xmake run test inputdialog
$ xmake run test mconfdialog
solicitud
local ltui = require("ltui")
local application = ltui.application
local event = ltui.event
local rect = ltui.rect
local window = ltui.window
local demo = application()
function demo:init()
application.init(self, "demo")
self:background_set("blue")
self:insert(window:new("window.main", rect {
1, 1, self:width() - 1, self:height() - 1}, "main window", true))
end
demo:run()
etiqueta
local lab = label:new("title", rect {
0, 0, 12, 1}, "hello ltui!"):textattr_set("white")
Botón
local btn = button:new("yes", rect {
0, 1, 7, 2}, "< Yes >"):textattr_set("white")
Cuadro de entrada
function demo:init()
-- ...
local dialog_input = inputdialog:new("dialog.input", rect {
0, 0, 50, 8})
dialog_input:text():text_set("please input text:")
dialog_input:button_add("no", "< No >", function (v) dialog_input:quit() end)
dialog_input:button_add("yes", "< Yes >", function (v) dialog_input:quit() end)
self:insert(dialog_input, {
centerx = true, centery = true})
end
Componente
vista | Caja de diálogo | otro |
---|---|---|
vista | diálogo | evento |
panel | cuadro de diálogo | acción |
etiqueta | diálogo de texto | lienzo |
botón | entrada de dialogo | carreras |
frontera | mconfdialog | programa |
ventana | diálogo de elección | solicitud |
Barra de menús | punto | |
menuconf | rect | |
mensaje de texto | objeto | |
textarea | ||
barra de estado | ||
caja de elección | ||
barra de desplazamiento | ||
escritorio |