From eea5ee0e3f8cef627492b8043462d67e800ad69c Mon Sep 17 00:00:00 2001 From: array-in-a-matrix Date: Fri, 5 Nov 2021 01:04:53 -0400 Subject: [PATCH] changed ui to a dialog --- tui.lua | 39 ++++++++++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/tui.lua b/tui.lua index f2b932f..7a80b6c 100644 --- a/tui.lua +++ b/tui.lua @@ -1,14 +1,47 @@ +-- requires local ltui = require("ltui") +local label = ltui.label +local button = ltui.button local application = ltui.application local event = ltui.event local rect = ltui.rect -local window = ltui.window -local demo = application() +local inputdialog = ltui.inputdialog +-- the demo application +local demo = application() + +-- init demo function demo:init() + + -- init name application.init(self, "demo") + + -- init background self:background_set("blue") - self:insert(window:new("window.main", rect {1, 1, self:width() - 1, self:height() - 1}, "main window", true)) + + -- init input dialog + self:insert(self:dialog_input(), {centerx = true, centery = true}) end +-- input dialog +function demo:dialog_input() + local dialog_input = self._DIALOG_INPUT + if not dialog_input then + dialog_input = inputdialog:new("dialog.input", rect{0, 0, math.floor(self:width() / 2), math.floor(self:height() / 3)}) + 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._DIALOG_INPUT = dialog_input + end + return dialog_input +end + +-- on resize +function demo:on_resize() + self:dialog_input():bounds_set(rect{0, 0, math.floor(self:width() / 2), math.floor(self:height() / 3)}) + self:center(self:dialog_input(), {centerx = true, centery = true}) + application.on_resize(self) +end + +-- run demo demo:run()