summaryrefslogtreecommitdiff
path: root/textscreen/txt_widget.c
diff options
context:
space:
mode:
Diffstat (limited to 'textscreen/txt_widget.c')
-rw-r--r--textscreen/txt_widget.c27
1 files changed, 25 insertions, 2 deletions
diff --git a/textscreen/txt_widget.c b/textscreen/txt_widget.c
index 2300b32c..760943d5 100644
--- a/textscreen/txt_widget.c
+++ b/textscreen/txt_widget.c
@@ -83,9 +83,8 @@ void TXT_InitWidget(TXT_UNCAST_ARG(widget), txt_widget_class_t *widget_class)
widget->widget_class = widget_class;
widget->callback_table = TXT_NewCallbackTable();
- // Default values: visible and selectable
+ // Visible by default.
- widget->selectable = 1;
widget->visible = 1;
// Align left by default
@@ -214,3 +213,27 @@ void TXT_LayoutWidget(TXT_UNCAST_ARG(widget))
}
}
+int TXT_AlwaysSelectable(TXT_UNCAST_ARG(widget))
+{
+ return 1;
+}
+
+int TXT_NeverSelectable(TXT_UNCAST_ARG(widget))
+{
+ return 0;
+}
+
+int TXT_SelectableWidget(TXT_UNCAST_ARG(widget))
+{
+ TXT_CAST_ARG(txt_widget_t, widget);
+
+ if (widget->widget_class->selectable != NULL)
+ {
+ return widget->widget_class->selectable(widget);
+ }
+ else
+ {
+ return 0;
+ }
+}
+