summaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorJulian Hurst <julian.hurst@digdash.com>2025-03-12 15:07:24 +0100
committerJulian Hurst <julian.hurst@digdash.com>2025-03-12 15:07:24 +0100
commita8d7b95b05d586f3b65fbf9757fab39c8098aee9 (patch)
treebd34e7539f2068f49a13c6c742b47f2db6c13b3e /cmd
parent48c5f4a17840b8418cb64f6e1667da86d804ba02 (diff)
downloadhare-tui-a8d7b95b05d586f3b65fbf9757fab39c8098aee9.tar.gz
Support styling
Diffstat (limited to 'cmd')
-rw-r--r--cmd/list.ha6
-rw-r--r--cmd/list_nostyle.ha16
-rw-r--r--cmd/list_strictsz.ha10
-rw-r--r--cmd/text.ha36
4 files changed, 62 insertions, 6 deletions
diff --git a/cmd/list.ha b/cmd/list.ha
index 8729dd9..0148adb 100644
--- a/cmd/list.ha
+++ b/cmd/list.ha
@@ -10,7 +10,11 @@ use time;
export fn main() void = {
const out = tui::init()!;
defer io::close(out)!;
- let li = list::newlist(out, (1, 1), widget::nosize, "hello", "world")!;
+ let li = list::newlist(out, (1, 1), void, &widget::style {
+ border = true,
+ colorfg = widget::color::REDFG,
+ colorbg = widget::color::REDBG,
+ },"hello", "world", "bye", "world")!;
let l = layout::newvlayout(&li);
l.layout.print(&l);
};
diff --git a/cmd/list_nostyle.ha b/cmd/list_nostyle.ha
new file mode 100644
index 0000000..4e77955
--- /dev/null
+++ b/cmd/list_nostyle.ha
@@ -0,0 +1,16 @@
+use tui;
+use tui::layout;
+use tui::widget;
+use tui::widget::list;
+use unix::tty;
+use io;
+use fmt;
+use time;
+
+export fn main() void = {
+ const out = tui::init()!;
+ defer io::close(out)!;
+ let li = list::newlist(out, (1, 1), void, void,"hello", "world", "bye", "world")!;
+ let l = layout::newvlayout(&li);
+ l.layout.print(&l);
+};
diff --git a/cmd/list_strictsz.ha b/cmd/list_strictsz.ha
index 1a7ea1c..13c2808 100644
--- a/cmd/list_strictsz.ha
+++ b/cmd/list_strictsz.ha
@@ -11,9 +11,13 @@ export fn main() void = {
const out = tui::init()!;
defer io::close(out)!;
let li = list::newlist(out, (1, 1), tty::ttysize {
- rows = 2,
- columns = 2,
- }, "hello", "world")!;
+ rows = 3,
+ columns = 4,
+ }, &widget::style {
+ border = true,
+ colorfg = widget::color::BLUEFG,
+ colorbg = widget::color::BLUEBG,
+ }, "hello", "world", "bye", "world")!;
let l = layout::newvlayout(&li);
l.layout.print(&l);
};
diff --git a/cmd/text.ha b/cmd/text.ha
index 6e6e102..3ec0f2a 100644
--- a/cmd/text.ha
+++ b/cmd/text.ha
@@ -1,5 +1,6 @@
use tui;
use tui::layout;
+use tui::widget;
use tui::widget::text;
use io;
use fmt;
@@ -8,10 +9,41 @@ use time;
export fn main() void = {
const out = tui::init()!;
defer io::close(out)!;
- let txt = text::newtext(out, "hello world", (50, 20));
+ let txt = text::newtext(out, "hello world", (50, 20), &widget::style {
+ border = true,
+ colorfg = widget::color::REDFG,
+ colorbg = widget::color::REDBG,
+ });
let l = layout::newvlayout(&txt);
l.layout.print(&l);
- time::sleep(5 * time::SECOND);
+
+ time::sleep(1 * time::SECOND);
+ let st = txt.widget.style as *widget::style;
+ st.colorfg = widget::color::GREENFG;
text::settext(&txt, "bye world");
l.layout.print(&l);
+
+ time::sleep(1 * time::SECOND);
+ st.colorfg = widget::color::BROWNFG;
+ l.layout.print(&l);
+
+ time::sleep(1 * time::SECOND);
+ st.colorfg = widget::color::BLUEFG;
+ l.layout.print(&l);
+
+ time::sleep(1 * time::SECOND);
+ st.colorfg = widget::color::MAGENTAFG;
+ l.layout.print(&l);
+
+ time::sleep(1 * time::SECOND);
+ st.colorfg = widget::color::CYANFG;
+ l.layout.print(&l);
+
+ time::sleep(1 * time::SECOND);
+ st.colorfg = widget::color::WHITEFG;
+ l.layout.print(&l);
+
+ time::sleep(1 * time::SECOND);
+ st.colorfg = widget::color::DEFAULTFG;
+ l.layout.print(&l);
};