aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gwin/slider.c4
-rw-r--r--src/gwin/sys_defs.h18
2 files changed, 22 insertions, 0 deletions
diff --git a/src/gwin/slider.c b/src/gwin/slider.c
index 4c91ede6..ace90365 100644
--- a/src/gwin/slider.c
+++ b/src/gwin/slider.c
@@ -262,6 +262,10 @@ void gwinSliderSetPosition(GHandle gh, int pos) {
if (gh->vmt != (gwinVMT *)&sliderVMT)
return;
+ // do not change the position if disabled
+ if (!gwinGetEnabled(gh))
+ return;
+
if (gsw->min <= gsw->max) {
if (pos < gsw->min) gsw->pos = gsw->min;
else if (pos > gsw->max) gsw->pos = gsw->max;
diff --git a/src/gwin/sys_defs.h b/src/gwin/sys_defs.h
index ac2c98c7..f4e1c2f7 100644
--- a/src/gwin/sys_defs.h
+++ b/src/gwin/sys_defs.h
@@ -337,6 +337,24 @@ extern "C" {
void gwinSetEnabled(GHandle gh, bool_t enabled);
/**
+ * @brief Enables a widget
+ *
+ * @param[in] gh The window handle
+ *
+ * @api
+ */
+ #define gwinEnable(gh) gwinSetEnabled(gh, TRUE);
+
+ /**
+ * @brief Disables a widget
+ *
+ * @param[in] gh The window handle
+ *
+ * @api
+ */
+ #define gwinDisable(gh) gwinSetEnabled(gh, FALSE);
+
+ /**
* @brief Gets the enabled state of a window
* @return TRUE if enabled
*