diff options
Diffstat (limited to 'textscreen/txt_widget.c')
-rw-r--r-- | textscreen/txt_widget.c | 27 |
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; + } +} + |