aboutsummaryrefslogtreecommitdiff
path: root/libui
diff options
context:
space:
mode:
authorJulian Hurst <ark@mansus.space>2022-05-17 17:25:25 +0200
committerJulian Hurst <ark@mansus.space>2022-05-17 17:25:25 +0200
commit952ab4404ffcbb43b6a95e640c6de4fb08de5c0a (patch)
tree276cb10d071e4dcb7c7be51377d0ca325d69ea38 /libui
parent5e1a84d707b0ef7f8a80868870a7f2fc12f75a31 (diff)
downloadilhare-952ab4404ffcbb43b6a95e640c6de4fb08de5c0a.tar.gz
Move ttyui to widget
Diffstat (limited to 'libui')
-rw-r--r--libui/layout/layout.ha2
-rw-r--r--libui/widget/list/list.ha5
-rw-r--r--libui/widget/widget.ha2
3 files changed, 6 insertions, 3 deletions
diff --git a/libui/layout/layout.ha b/libui/layout/layout.ha
index ef6bf71..c15626f 100644
--- a/libui/layout/layout.ha
+++ b/libui/layout/layout.ha
@@ -1,3 +1,4 @@
+use libui;
use libui::widget;
use io;
use unix::tty;
@@ -18,6 +19,7 @@ export fn newlayout(widgets: *widget::widget...) layout = {
// Display all the widgets contained in the given layout.
export fn print(layout: layout) (void | widget::error) = {
+ libui::clear(layout.widgets[0].ui);
for (let i = 0z; i < len(layout.widgets); i += 1) {
match (layout.widgets[i].print) {
case null =>
diff --git a/libui/widget/list/list.ha b/libui/widget/list/list.ha
index 6506ce1..e4b3209 100644
--- a/libui/widget/list/list.ha
+++ b/libui/widget/list/list.ha
@@ -13,7 +13,6 @@ use set;
export type listwidget = struct {
widget: widget::widget,
- ui: libui::ttyui,
items: []str,
marked: set::set,
cursor: size,
@@ -51,9 +50,9 @@ export fn newlist(ui: libui::ttyui, items: str...) listwidget = {
widget = widget::widget {
print = &print,
finish = &finish,
+ ui = ui,
...
},
- ui = ui,
items = items,
marked = set::set {...},
cursor = 0z,
@@ -134,7 +133,7 @@ export fn print(list: *widget::widget) (void | widget::error) = {
// unsupported?
//io::copy(list.ui.f, &st)?;
let s = strio::string(&st);
- libui::print(list.ui, s);
+ libui::print(list.widget.ui, s);
io::close(&st)?;
};
diff --git a/libui/widget/widget.ha b/libui/widget/widget.ha
index 1f23aac..3bccd2f 100644
--- a/libui/widget/widget.ha
+++ b/libui/widget/widget.ha
@@ -1,3 +1,4 @@
+use libui;
use io;
use unix::tty;
@@ -50,6 +51,7 @@ export type widget = struct {
print: nullable *print,
finish: nullable *finish,
listeners: []listener,
+ ui: libui::ttyui,
};
// Add a listener to the given widget.