diff --git a/Doxygenfile b/Doxygenfile index d5efd353..bd7abe0e 100644 --- a/Doxygenfile +++ b/Doxygenfile @@ -2015,7 +2015,7 @@ ALLEXTERNALS = NO # listed. # The default value is: YES. -EXTERNAL_GROUPS = YES +EXTERNAL_GROUPS = NO # If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in # the related pages index. If set to NO, only the current project's pages will diff --git a/src/gwin/gwin_button.h b/src/gwin/gwin_button.h index 90a7d106..9ab4d475 100644 --- a/src/gwin/gwin_button.h +++ b/src/gwin/gwin_button.h @@ -86,7 +86,7 @@ GHandle gwinGButtonCreate(GDisplay *g, GButtonObject *gb, const GWidgetInit *pIn bool_t gwinButtonIsPressed(GHandle gh); /** - * @defgroup Renderings_Button Button rendering functions + * @defgroup Renderings_Button Renderings * * @brief Built-in rendering functions for the button widget. * diff --git a/src/gwin/gwin_checkbox.h b/src/gwin/gwin_checkbox.h index d2d2c42c..cd66428a 100644 --- a/src/gwin/gwin_checkbox.h +++ b/src/gwin/gwin_checkbox.h @@ -99,7 +99,7 @@ void gwinCheckboxCheck(GHandle gh, bool_t isChecked); bool_t gwinCheckboxIsChecked(GHandle gh); /** - * @defgroup Renderings_Checkbox Checkbox rendering functions + * @defgroup Renderings_Checkbox Renderings * * @brief Built-in rendering functions for the checkbox widget. * diff --git a/src/gwin/gwin_container.h b/src/gwin/gwin_container.h index 5ae23cea..ff97a51e 100644 --- a/src/gwin/gwin_container.h +++ b/src/gwin/gwin_container.h @@ -120,7 +120,7 @@ GHandle gwinGContainerCreate(GDisplay *g, GContainerObject *gw, const GWidgetIni /** - * @defgroup Renderings_Container Container rendering functions + * @defgroup Renderings_Container Renderings * * @brief Built-in rendering functions for the container widget. * @@ -158,21 +158,26 @@ void gwinContainerDraw_Std(GWidgetObject *gw, void *param); */ void gwinContainerDraw_Transparent(GWidgetObject *gw, void *param); -/** - * @brief Renders the container and uses the specified image for the client area. - * - * @details The image will be tiled throghout the client area. Therefore, to archive the best looking result the - * supplied image needs to be of the same size as the client area size of the container widget (inner size). - * - * @param[in] gw The widget object (must be a container object). - * @param[in] param A parameter passed in from the user. Must be an image handle. See note below. - * - * @note The image must be already opened before calling @p gwinSetCustomDraw(). The handle is passed as the parameter - * to this function. - * - * @api - */ -void gwinContainerDraw_Image(GWidgetObject *gw, void *param); +#if GDISP_NEED_IMAGE || defined(__DOXYGEN__) + /** + * @brief Renders the container and uses the specified image for the client area. + * + * @details The image will be tiled throghout the client area. Therefore, to archive the best looking result the + * supplied image needs to be of the same size as the client area size of the container widget (inner size). + * + * @param[in] gw The widget object (must be a container object). + * @param[in] param A parameter passed in from the user. Must be an image handle. See note below. + * + * @note The image must be already opened before calling @p gwinSetCustomDraw(). The handle is passed as the parameter + * to this function. + * + * @pre GDISP_NEED_IMAGE must be set to TRUE + * + * @api + */ + void gwinContainerDraw_Image(GWidgetObject *gw, void *param); +#endif /* GDISP_NEED_IMAGE */ + /** @} */ #ifdef __cplusplus diff --git a/src/gwin/gwin_frame.h b/src/gwin/gwin_frame.h index 2e0cc1b2..0824787b 100644 --- a/src/gwin/gwin_frame.h +++ b/src/gwin/gwin_frame.h @@ -62,7 +62,7 @@ GHandle gwinGFrameCreate(GDisplay *g, GFrameObject *fo, GWidgetInit *pInit, uint #define gwinFrameCreate(fo, pInit, flags) gwinGFrameCreate(GDISP, fo, pInit, flags); /** - * @defgroup Renderings_Frame Frame rendering functions + * @defgroup Renderings_Frame Renderings * * @brief Built-in rendering functions for the frame widget. * @@ -103,21 +103,25 @@ void gwinFrameDraw_Std(GWidgetObject *gw, void *param); */ void gwinFrameDraw_Transparent(GWidgetObject *gw, void *param); -/** - * @brief Renders the frame widget and uses the specified image for the client area. - * - * @details The image will be tiled throghout the client area. Therefore, to archive the best looking result the - * supplied image needs to be of the same size as the client area size of the frame widget (inner size). - * - * @param[in] gw The widget object (must be a frame object). - * @param[in] param A parameter passed in from the user. Must be an image handle. See note below. - * - * @note The image must be already opened before calling @p gwinSetCustomDraw(). The handle is passed as the parameter - * to this function. - * - * @api - */ -void gwinFrameDraw_Image(GWidgetObject *gw, void *param); +#if GDISP_NEED_IMAGE || defined(__DOXYGEN__) + /** + * @brief Renders the frame widget and uses the specified image for the client area. + * + * @details The image will be tiled throghout the client area. Therefore, to archive the best looking result the + * supplied image needs to be of the same size as the client area size of the frame widget (inner size). + * + * @param[in] gw The widget object (must be a frame object). + * @param[in] param A parameter passed in from the user. Must be an image handle. See note below. + * + * @note The image must be already opened before calling @p gwinSetCustomDraw(). The handle is passed as the parameter + * to this function. + * + * @pre GDISP_NEED_IMAGE must be set to TRUE + * + * @api + */ + void gwinFrameDraw_Image(GWidgetObject *gw, void *param); +#endif /* GDISP_NEED_IMAGE */ /** @} */ #ifdef __cplusplus diff --git a/src/gwin/gwin_keyboard.h b/src/gwin/gwin_keyboard.h index 39f09c88..c10567e1 100644 --- a/src/gwin/gwin_keyboard.h +++ b/src/gwin/gwin_keyboard.h @@ -9,7 +9,7 @@ * @file src/gwin/gwin_keyboard.h * @brief GWIN Graphic window subsystem header file. * - * @defgroup Keyboard Keyboard + * @defgroup VirtualKeyboard VirtualKeyboard * @ingroup Widgets * * @details GWIN allows it to easily create buttons with different styles @@ -102,7 +102,7 @@ GSourceHandle gwinKeyboardGetEventSource(GHandle gh); void gwinKeyboardSetLayout(GHandle gh, struct GVKeyTable *layout); /** - * @defgroup Renderings_Keyboard Keyboard rendering functions + * @defgroup Renderings_Keyboard Renderings * * @brief Built-in rendering functions for the keyboard widget. * diff --git a/src/gwin/gwin_label.h b/src/gwin/gwin_label.h index 0123842b..2b784b3a 100644 --- a/src/gwin/gwin_label.h +++ b/src/gwin/gwin_label.h @@ -101,7 +101,7 @@ void gwinLabelSetBorder(GHandle gh, bool_t border); #endif /** - * @defgroup Renderings_Label Label rendering functions + * @defgroup Renderings_Label Renderings * * @brief Built-in rendering functions for the label widget. * diff --git a/src/gwin/gwin_list.h b/src/gwin/gwin_list.h index 8e69aa5d..43c7d2e2 100644 --- a/src/gwin/gwin_list.h +++ b/src/gwin/gwin_list.h @@ -327,7 +327,7 @@ void gwinListViewItem(GHandle gh, int item); #endif /** - * @defgroup Renderings_List List rendering functions + * @defgroup Renderings_List Renderings * * @brief Built-in rendering functions for the list widget. * diff --git a/src/gwin/gwin_progressbar.h b/src/gwin/gwin_progressbar.h index 7c28523c..166cabca 100644 --- a/src/gwin/gwin_progressbar.h +++ b/src/gwin/gwin_progressbar.h @@ -176,7 +176,7 @@ void gwinProgressbarDecrement(GHandle gh); #endif /* GWIN_PROGRESSBAR_AUTO */ /** - * @defgroup Renderings_Progressbar Progressbar rendering functions + * @defgroup Renderings_Progressbar Renderings * * @brief Built-in rendering functions for the progressbar widget. * diff --git a/src/gwin/gwin_radio.h b/src/gwin/gwin_radio.h index 41a565f0..051e0739 100644 --- a/src/gwin/gwin_radio.h +++ b/src/gwin/gwin_radio.h @@ -116,7 +116,7 @@ bool_t gwinRadioIsPressed(GHandle gh); GHandle gwinRadioGetActive(uint16_t group); /** - * @defgroup Renderings_Radiobutton RadioButton rendering functions + * @defgroup Renderings_Radiobutton Renderings * * @brief Built-in rendering functions for the radiobutton widget. * diff --git a/src/gwin/gwin_slider.h b/src/gwin/gwin_slider.h index 969990b7..6f988410 100644 --- a/src/gwin/gwin_slider.h +++ b/src/gwin/gwin_slider.h @@ -143,7 +143,7 @@ void gwinSliderSetPosition(GHandle gh, int pos); void gwinSliderSendExtendedEvents(GHandle gh, bool_t enabled); /** - * @defgroup Renderings_Slider Slider rendering functions + * @defgroup Renderings_Slider Renderings * * @brief Built-in rendering functions for the slider widget. * diff --git a/src/gwin/gwin_tabset.h b/src/gwin/gwin_tabset.h index f1d98adb..7d970c5d 100644 --- a/src/gwin/gwin_tabset.h +++ b/src/gwin/gwin_tabset.h @@ -62,140 +62,173 @@ typedef struct GTabsetObject { extern "C" { #endif - /** - * @brief Create a tabset widget - * - * @details This widget provides a set of tabs. - * - * @param[in] g The GDisplay to display this window on - * @param[in] fo The GTabsetObject structure to initialize. If this is NULL the structure is dynamically allocated. - * @param[in] pInit The initialization parameters - * @param[in] flags Some flags, see notes. - * - * @note Possible flags are: GWIN_TABSET_BORDER - * - * @return NULL if there is no resulting widget. A valid GHandle otherwise. - * - * @api - */ - GHandle gwinGTabsetCreate(GDisplay *g, GTabsetObject *fo, GWidgetInit *pInit, uint32_t flags); - #define gwinTabsetCreate(fo, pInit, flags) gwinGTabsetCreate(GDISP, fo, pInit, flags); +/** + * @brief Create a tabset widget + * + * @details This widget provides a set of tabs. + * + * @param[in] g The GDisplay to display this window on + * @param[in] fo The GTabsetObject structure to initialize. If this is NULL the structure is dynamically allocated. + * @param[in] pInit The initialization parameters + * @param[in] flags Some flags, see notes. + * + * @note Possible flags are: GWIN_TABSET_BORDER + * + * @return NULL if there is no resulting widget. A valid GHandle otherwise. + * + * @api + */ +GHandle gwinGTabsetCreate(GDisplay *g, GTabsetObject *fo, GWidgetInit *pInit, uint32_t flags); +#define gwinTabsetCreate(fo, pInit, flags) gwinGTabsetCreate(GDISP, fo, pInit, flags); - /** - * @brief Add a tab-page to the tabset - * @returns The GHandle of the tab-page container. - * - * @param[in] gh The tabset handle - * @param[in] title The text to set. This must be a constant string unless useAlloc is set. - * @param[in] useAlloc If TRUE the string specified will be copied into dynamically allocated memory. - * - * @api - */ - GHandle gwinTabsetAddTab(GHandle gh, const char *title, bool_t useAlloc); +/** + * @brief Add a tab-page to the tabset + * @returns The GHandle of the tab-page container. + * + * @param[in] gh The tabset handle + * @param[in] title The text to set. This must be a constant string unless useAlloc is set. + * @param[in] useAlloc If TRUE the string specified will be copied into dynamically allocated memory. + * + * @api + */ +GHandle gwinTabsetAddTab(GHandle gh, const char *title, bool_t useAlloc); - /** - * @brief Delete a tab-page. - * @details Any widgets on the page will also be destroyed - * - * @param[in] gh The tab-page handle - * - * @note The index position of all tabs after this tab in the tabset are automatically renumbered. - * - * @api - */ - #define gwinTabsetDeleteTab(gh) gwinDestroy(gh) +/** + * @brief Delete a tab-page. + * @details Any widgets on the page will also be destroyed + * + * @param[in] gh The tab-page handle + * + * @note The index position of all tabs after this tab in the tabset are automatically renumbered. + * + * @api + */ +#define gwinTabsetDeleteTab(gh) gwinDestroy(gh) - /** - * @brief Count the number of tabs in the tabset - * @returns The number of tabs or zero if none exist. - * - * @param[in] gh The tabset handle - * - * @api - */ - int gwinTabsetCountTabs(GHandle gh); +/** + * @brief Count the number of tabs in the tabset + * @returns The number of tabs or zero if none exist. + * + * @param[in] gh The tabset handle + * + * @api + */ +int gwinTabsetCountTabs(GHandle gh); - /** - * @brief Get the GHandle of a tab based on its position - * @returns The GHandle of the tab-page container or NULL if that tab-page doesn't exist. - * - * @param[in] gh The tabset handle - * @param[in] index The tab-page handle to return (0 to number of pages - 1) - * - * @api - */ - GHandle gwinTabsetGetTabByIndex(GHandle gh, int index); +/** + * @brief Get the GHandle of a tab based on its position + * @returns The GHandle of the tab-page container or NULL if that tab-page doesn't exist. + * + * @param[in] gh The tabset handle + * @param[in] index The tab-page handle to return (0 to number of pages - 1) + * + * @api + */ +GHandle gwinTabsetGetTabByIndex(GHandle gh, int index); - /** - * @brief Get the GHandle of a tab based on its title - * @returns The GHandle of the tab-page container or NULL if that tab-page doesn't exist. - * - * @param[in] gh The tabset handle - * @param[in] title The title to search for - * - * @api - */ - GHandle gwinTabsetGetTabByTitle(GHandle gh, const char *title); +/** + * @brief Get the GHandle of a tab based on its title + * @returns The GHandle of the tab-page container or NULL if that tab-page doesn't exist. + * + * @param[in] gh The tabset handle + * @param[in] title The title to search for + * + * @api + */ +GHandle gwinTabsetGetTabByTitle(GHandle gh, const char *title); - /** - * @brief Set the title of a tab-page. - * - * @param[in] gh The tab-page handle (NB: Use the page handle NOT the tabset handle) - * @param[in] title The text to set. This must be a constant string unless useAlloc is set. - * @param[in] useAlloc If TRUE the string specified will be copied into dynamically allocated memory. - * - * @note This function should be used to change the text associated with a tab-page - * rather than @p gwinSetText(). - * - * @api - */ - void gwinTabsetSetTitle(GHandle gh, const char *title, bool_t useAlloc); +/** + * @brief Set the title of a tab-page. + * + * @param[in] gh The tab-page handle (NB: Use the page handle NOT the tabset handle) + * @param[in] title The text to set. This must be a constant string unless useAlloc is set. + * @param[in] useAlloc If TRUE the string specified will be copied into dynamically allocated memory. + * + * @note This function should be used to change the text associated with a tab-page + * rather than @p gwinSetText(). + * + * @api + */ +void gwinTabsetSetTitle(GHandle gh, const char *title, bool_t useAlloc); - /** - * @brief Get the title of a tab-page. - * @return The title of the tab. - * - * @param[in] gh The tab-page handle (NB: Use the page handle NOT the tabset handle) - * - * @api - */ - #define gwinTabsetGetTitle(gh) gwinGetText(gh) +/** + * @brief Get the title of a tab-page. + * @return The title of the tab. + * + * @param[in] gh The tab-page handle (NB: Use the page handle NOT the tabset handle) + * + * @api + */ +#define gwinTabsetGetTitle(gh) gwinGetText(gh) - /** - * @brief Set the active tab in a tabset. - * - * @param[in] gh The tab-page handle (NB: Use the page handle NOT the tabset handle) - * - * @api - */ - void gwinTabsetSetTab(GHandle gh); +/** + * @brief Set the active tab in a tabset. + * + * @param[in] gh The tab-page handle (NB: Use the page handle NOT the tabset handle) + * + * @api + */ +void gwinTabsetSetTab(GHandle gh); +/** + * @defgroup Renderings_Tabset Renderings + * + * @brief Built-in rendering functions for the tabset widget. + * + * @details These function may be passed to @p gwinSetCustomDraw() to get different tabset drawing styles. + * + * @note In your custom tabset drawing function you may optionally call these + * standard functions and then draw your extra details on top. + * @note These custom drawing routines don't have to worry about setting clipping as the framework + * sets clipping to the object window prior to calling these routines. + * + * @{ + */ + +/** + * @brief The default rendering function for the tabset widget. + * + * @details Fills the client area with the background color. + * + * @param[in] gw The widget object (must be a container object). + * @param[in] param A parameter passed in from the user. Ignored by this function. + * + * @api + */ +void gwinTabsetDraw_Std(GWidgetObject *gw, void *param); + +/** + * @brief Renders the tabset but leaves the client area transparent. + * + * @details Will not fill the client area at all. + * + * @param[in] gw The widget object (must be a container object). + * @param[in] param A parameter passed in from the user. Ignored by this function. + * + * @api + */ +void gwinTabsetDraw_Transparent(GWidgetObject *gw, void *param); + +#if GDISP_NEED_IMAGE || defined(__DOXYGEN__) /** - * @brief The custom draw routines for a frame window - * @details These function may be passed to @p gwinSetCustomDraw() to get different frame drawing styles + * @brief Renders the tabset and uses the specified image for the client area. * - * @param[in] gw The widget object (in this case a frame) - * @param[in] param A parameter passed in from the user + * @details The image will be tiled throghout the client area. Therefore, to archive the best looking result the + * supplied image needs to be of the same size as the client area size of the tabset widget (inner size). * - * @note In your own custom drawing function you may optionally call these - * standard functions and then draw your extra details on top. + * @param[in] gw The widget object (must be a tabset object). + * @param[in] param A parameter passed in from the user. Must be an image handle. See note below. * - * @note gwinTabsetDraw_Std() will fill the client area with the background color.
- * gwinTabsetDraw_Transparent() will not fill the client area at all.
- * gwinTabsetDraw_Image() will tile the image throughout the client area.
- * All these drawing functions draw the frame itself the same way. + * @note The image must be already opened before calling @p gwinSetCustomDraw(). The handle is passed as the parameter + * to this function. * - * @note The standard functions below ignore the param parameter except for @p gwinTabsetDraw_Image(). - * @note The image custom draw function @p gwinTabsetDraw_Image() uses param to pass in the gdispImage pointer. - * The image must be already opened before calling @p gwinSetCustomDraw(). + * @pre GDISP_NEED_IMAGE must be set to TRUE * * @api - * @{ */ - void gwinTabsetDraw_Std(GWidgetObject *gw, void *param); - void gwinTabsetDraw_Transparent(GWidgetObject *gw, void *param); void gwinTabsetDraw_Image(GWidgetObject *gw, void *param); - /** @} */ +#endif /* GDISP_NEED_IMAGE */ +/** @} */ #ifdef __cplusplus } diff --git a/src/gwin/gwin_textedit.h b/src/gwin/gwin_textedit.h index 8b3336e2..cffe8fb7 100644 --- a/src/gwin/gwin_textedit.h +++ b/src/gwin/gwin_textedit.h @@ -61,7 +61,7 @@ GHandle gwinGTexteditCreate(GDisplay* g, GTexteditObject* wt, GWidgetInit* pInit #define gwinTexteditCreate(wt, pInit, maxSize) gwinGTexteditCreate(GDISP, wt, pInit, maxSize) /** - * @defgroup Renderings_Textedit Textedit rendering functions + * @defgroup Renderings_Textedit Renderings * * @brief Built-in rendering functions for the textedit widget. *