diff --git a/include/gwin/gwin.h b/include/gwin/gwin.h index c7b20008..d1192bc7 100644 --- a/include/gwin/gwin.h +++ b/include/gwin/gwin.h @@ -87,6 +87,15 @@ GHandle gwinCreateWindow(GWindowObject *gw, coord_t x, coord_t y, coord_t width, */ void gwinDestroyWindow(GHandle gh); +/** + * @brief Enable or disable a widget (of any type). + * + * @param[in] gh The window handle + * + * @api + */ +void gwinSetEnabled(GHandle gh, bool_t enabled); + /** * @brief Get the X coordinate of the window * @details Returns the X coordinate of the origin of the window. @@ -138,6 +147,20 @@ void gwinDestroyWindow(GHandle gh); */ #define gwinSetBgColor(gh, bgclr) (gh)->bgcolor = (bgclr) +/** + * @brief Enable a window of any type + * + * @param[in] gh The window handle + */ +#define gwinEnable(gh) gwinSetEnabled(gh, TRUE) + +/** + * @brief Disable a window of any type + * + * @param[in] gh The window handle + */ +#define gwinDisable(gh) gwinSetEnabled(gh, FALSE) + /* Set up for text */ #if GDISP_NEED_TEXT || defined(__DOXYGEN__) diff --git a/src/gwin/gwin.c b/src/gwin/gwin.c index 70cc12ee..b6340c2d 100644 --- a/src/gwin/gwin.c +++ b/src/gwin/gwin.c @@ -55,6 +55,10 @@ GHandle gwinCreateWindow(GWindowObject *gw, coord_t x, coord_t y, coord_t width, return (GHandle)gw; } +void gwinSetEnabled(GHandle gh, bool_t enabled) { + +} + void gwinDestroyWindow(GHandle gh) { // Clean up any type specific dynamic memory allocations switch(gh->type) {