aboutsummaryrefslogtreecommitdiff
path: root/examples_library
diff options
context:
space:
mode:
authorBraulio Rivas <brauliorivas@FreeBSD.org>2025-11-03 20:14:09 +0000
committerAlfonso S. Siciliano <asiciliano@FreeBSD.org>2025-11-03 20:14:09 +0000
commit5a70558d32b9680c10ab579c7491652e0838cee4 (patch)
treef7d70fcdbc604287f039ae1df30f1f7c419f3dfc /examples_library
parent653f765f05b8c7e3908ae92e9bf61522a50cefc9 (diff)
contrib/bsddialog: import 1.1vendor/bsddialog/1.1vendor/bsddialog
Add: slider dialog. Imported to enable testing and to complete the geomman(8) utility. Developed as part of the "Full Disk Administration Tool for FreeBSD" project, Braulio Rivas (brauliorivas@), Google Summer of Code 2025. Sponsored by: Google LLC (GSoC 2025)
Diffstat (limited to 'examples_library')
-rwxr-xr-xexamples_library/compile2
-rw-r--r--examples_library/slider.c44
2 files changed, 45 insertions, 1 deletions
diff --git a/examples_library/compile b/examples_library/compile
index 1a68313090f6..b5e08f740784 100755
--- a/examples_library/compile
+++ b/examples_library/compile
@@ -12,7 +12,7 @@ set -x
libpath=../lib
examples="menu checklist radiolist mixedlist theme infobox yesno msgbox \
-datebox form timebox rangebox pause calendar gauge mixedgauge textbox"
+datebox form timebox rangebox pause calendar gauge mixedgauge textbox slider"
rm -f $examples
diff --git a/examples_library/slider.c b/examples_library/slider.c
new file mode 100644
index 000000000000..2292f0e8efed
--- /dev/null
+++ b/examples_library/slider.c
@@ -0,0 +1,44 @@
+/*-
+ * SPDX-License-Identifier: CC0-1.0
+ *
+ * Written in 2025 by Alfonso Sabato Siciliano.
+ * To the extent possible under law, the author has dedicated all copyright
+ * and related and neighboring rights to this software to the public domain
+ * worldwide. This software is distributed without any warranty, see:
+ * <http://creativecommons.org/publicdomain/zero/1.0/>.
+ */
+
+#include <bsddialog.h>
+#include <stdio.h>
+
+int main()
+{
+ int output;
+ unsigned long start, end, blocks[2][2];
+ struct bsddialog_conf conf;
+
+ start = 20;
+ end = 70;
+ blocks[0][0] = 5;
+ blocks[0][1] = 10;
+ blocks[1][0] = 80;
+ blocks[1][1] = 90;
+
+ if (bsddialog_init() == BSDDIALOG_ERROR) {
+ printf("Error: %s\n", bsddialog_geterror());
+ return (1);
+ }
+ bsddialog_initconf(&conf);
+ conf.title = "slider";
+
+ output = bsddialog_slider(&conf, "Example", 0, 0, "GiB", 100, &start,
+ &end, false, 2, blocks);
+ bsddialog_end();
+ if (output == BSDDIALOG_ERROR) {
+ printf("Error: %s\n", bsddialog_geterror());
+ return (1);
+ }
+ printf("Start: %lu, End: %lu\n", start, end);
+
+ return (0);
+}