diff options
author | Gregory Nutt <gnutt@nuttx.org> | 2014-04-13 16:26:44 -0600 |
---|---|---|
committer | Gregory Nutt <gnutt@nuttx.org> | 2014-04-13 16:26:44 -0600 |
commit | 638c1a6dc07b438efa220c5345e94c3a963505ca (patch) | |
tree | 85feed8dbf4f2dd7a2eec83ed88606f14a2f02a2 /NxWidgets/libnxwidgets/include | |
parent | 43ec94a665e13552402ff4f102e0f65f6792cf29 (diff) | |
download | nuttx-638c1a6dc07b438efa220c5345e94c3a963505ca.tar.gz nuttx-638c1a6dc07b438efa220c5345e94c3a963505ca.tar.bz2 nuttx-638c1a6dc07b438efa220c5345e94c3a963505ca.zip |
More trailing whilespace removal
Diffstat (limited to 'NxWidgets/libnxwidgets/include')
63 files changed, 1272 insertions, 1272 deletions
diff --git a/NxWidgets/libnxwidgets/include/cbgwindow.hxx b/NxWidgets/libnxwidgets/include/cbgwindow.hxx index 21b75799d..0b73a01de 100644 --- a/NxWidgets/libnxwidgets/include/cbgwindow.hxx +++ b/NxWidgets/libnxwidgets/include/cbgwindow.hxx @@ -39,7 +39,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -55,7 +55,7 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ @@ -89,7 +89,7 @@ namespace NXWidgets CWidgetControl *m_widgetControl; /**< The controlling widget for the window */ public: - + /** * Constructor. Obtains the background window from server and wraps * the window as CBgWindow. Creates an uninitialized instance of the @@ -112,13 +112,13 @@ namespace NXWidgets * @param hNxServer Handle to the NX server. * @param widgetControl Controlling widget for this window. */ - + CBgWindow(NXHANDLE hNxServer, CWidgetControl *widgetControl); /** * Destructor. Returns the background window to the server. */ - + virtual ~CBgWindow(void); /** @@ -147,7 +147,7 @@ namespace NXWidgets * * @return True on success, false on any failure. */ - + bool requestPosition(void); /** @@ -174,7 +174,7 @@ namespace NXWidgets * @param pPos The new position of the window. * @return True on success, false on any failure. */ - + bool setPosition(FAR const struct nxgl_point_s *pPos); /** @@ -185,7 +185,7 @@ namespace NXWidgets * @param pSize The new size of the window. * @return True on success, false on any failure. */ - + bool setSize(FAR const struct nxgl_size_s *pSize); /** diff --git a/NxWidgets/libnxwidgets/include/cbitmap.hxx b/NxWidgets/libnxwidgets/include/cbitmap.hxx index 0fd133303..7e479d8ce 100644 --- a/NxWidgets/libnxwidgets/include/cbitmap.hxx +++ b/NxWidgets/libnxwidgets/include/cbitmap.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -87,11 +87,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -118,7 +118,7 @@ namespace NXWidgets { protected: const struct SBitmap *m_bitmap; /**< The bitmap that is being managed */ - + /** * Copy constructor is protected to prevent usage. */ diff --git a/NxWidgets/libnxwidgets/include/cbutton.hxx b/NxWidgets/libnxwidgets/include/cbutton.hxx index 45481387f..f2f192b3e 100644 --- a/NxWidgets/libnxwidgets/include/cbutton.hxx +++ b/NxWidgets/libnxwidgets/include/cbutton.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -87,11 +87,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -195,7 +195,7 @@ namespace NXWidgets */ virtual void onRelease(nxgl_coord_t x, nxgl_coord_t y); - + /** * Redraws the button. * diff --git a/NxWidgets/libnxwidgets/include/cbuttonarray.hxx b/NxWidgets/libnxwidgets/include/cbuttonarray.hxx index 435fa1080..b45e1ece1 100644 --- a/NxWidgets/libnxwidgets/include/cbuttonarray.hxx +++ b/NxWidgets/libnxwidgets/include/cbuttonarray.hxx @@ -39,7 +39,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -53,11 +53,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -140,7 +140,7 @@ namespace NXWidgets */ virtual void onPreRelease(nxgl_coord_t x, nxgl_coord_t y); - + /** * Redraws the button. * @@ -149,7 +149,7 @@ namespace NXWidgets */ virtual void onRelease(nxgl_coord_t x, nxgl_coord_t y); - + /** * Redraws the button. * diff --git a/NxWidgets/libnxwidgets/include/ccheckbox.hxx b/NxWidgets/libnxwidgets/include/ccheckbox.hxx index 109e7839e..f766108d3 100644 --- a/NxWidgets/libnxwidgets/include/ccheckbox.hxx +++ b/NxWidgets/libnxwidgets/include/ccheckbox.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -87,11 +87,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets diff --git a/NxWidgets/libnxwidgets/include/ccyclebutton.hxx b/NxWidgets/libnxwidgets/include/ccyclebutton.hxx index d8a32175e..90bcd8b37 100644 --- a/NxWidgets/libnxwidgets/include/ccyclebutton.hxx +++ b/NxWidgets/libnxwidgets/include/ccyclebutton.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -91,11 +91,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -111,7 +111,7 @@ namespace NXWidgets * through its available options. */ - class CCycleButton : public CButton, public IListDataEventHandler + class CCycleButton : public CButton, public IListDataEventHandler { protected: @@ -153,7 +153,7 @@ namespace NXWidgets */ virtual void onPreRelease(nxgl_coord_t x, nxgl_coord_t y); - + /** * Redraws the button. * @@ -211,7 +211,7 @@ namespace NXWidgets */ virtual ~CCycleButton(void) { } - + /** * Add a new option to the widget. * diff --git a/NxWidgets/libnxwidgets/include/cglyphsliderhorizontal.hxx b/NxWidgets/libnxwidgets/include/cglyphsliderhorizontal.hxx index 0540708ea..7f5ea5445 100644 --- a/NxWidgets/libnxwidgets/include/cglyphsliderhorizontal.hxx +++ b/NxWidgets/libnxwidgets/include/cglyphsliderhorizontal.hxx @@ -73,18 +73,18 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include "csliderhorizontal.hxx" #include "cglyphsliderhorizontalgrip.hxx" /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -111,7 +111,7 @@ namespace NXWidgets nxwidget_pixel_t m_fillColor; /**< Fill color for left side of "fuel gague" */ bool m_fill; /**< Set true if fill is active */ uint32_t m_barThickness; /**< Thickness (in pixels) of the bar */ - + /** * Get the maximum possible value that the slider can represent. Useful when * using the slider as a scrollbar, as the height of the grip prevents the full @@ -159,7 +159,7 @@ namespace NXWidgets */ virtual void onResize(nxgl_coord_t width, nxgl_coord_t height); - + /** * Moves the grip towards the mouse. * diff --git a/NxWidgets/libnxwidgets/include/cglyphsliderhorizontalgrip.hxx b/NxWidgets/libnxwidgets/include/cglyphsliderhorizontalgrip.hxx index 89e4fb3b9..69d3e1b56 100644 --- a/NxWidgets/libnxwidgets/include/cglyphsliderhorizontalgrip.hxx +++ b/NxWidgets/libnxwidgets/include/cglyphsliderhorizontalgrip.hxx @@ -73,18 +73,18 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include "csliderhorizontalgrip.hxx" #include "cimage.hxx" /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -134,7 +134,7 @@ namespace NXWidgets */ virtual void onResize(nxgl_coord_t width, nxgl_coord_t height); - + /** * Starts dragging the grip and redraws it. * @@ -175,7 +175,7 @@ namespace NXWidgets nxgl_coord_t vX, nxgl_coord_t vY); public: - + /** * Constructor. * diff --git a/NxWidgets/libnxwidgets/include/cgraphicsport.hxx b/NxWidgets/libnxwidgets/include/cgraphicsport.hxx index 006a56d51..c5148c8bc 100644 --- a/NxWidgets/libnxwidgets/include/cgraphicsport.hxx +++ b/NxWidgets/libnxwidgets/include/cgraphicsport.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -98,7 +98,7 @@ namespace NXWidgets class CNxString; class CRect; struct SBitmap; - + /** * CGraphicsPort is the interface between a NXwidget and NX layer. */ @@ -158,7 +158,7 @@ namespace NXWidgets */ const nxgl_coord_t getX(void) const; - + /** * Return the absolute y coordinate of the upper left hand corner of the * underlying window. @@ -363,7 +363,7 @@ namespace NXWidgets void drawText(struct nxgl_point_s *pos, CRect *bound, CNxFont *font, const CNxString &string, int startIndex, int length, nxgl_mxpixel_t color, nxgl_mxpixel_t background); - + /** * Draw an opaque bitmap to the window. * @@ -436,7 +436,7 @@ namespace NXWidgets void copy(nxgl_coord_t sourceX, nxgl_coord_t sourceY, nxgl_coord_t destX, nxgl_coord_t destY, nxgl_coord_t width, nxgl_coord_t height); - + /** * Move a region by a specified distance in two dimensions. * diff --git a/NxWidgets/libnxwidgets/include/ckeypad.hxx b/NxWidgets/libnxwidgets/include/ckeypad.hxx index 2f2a754d4..2cf51cfb4 100644 --- a/NxWidgets/libnxwidgets/include/ckeypad.hxx +++ b/NxWidgets/libnxwidgets/include/ckeypad.hxx @@ -39,7 +39,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -52,11 +52,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -83,7 +83,7 @@ namespace NXWidgets */ void configureKeypadMode(void); - + /** * Copy constructor is protected to prevent usage. */ diff --git a/NxWidgets/libnxwidgets/include/clatchbutton.hxx b/NxWidgets/libnxwidgets/include/clatchbutton.hxx index c0b37d64b..e7759efa5 100644 --- a/NxWidgets/libnxwidgets/include/clatchbutton.hxx +++ b/NxWidgets/libnxwidgets/include/clatchbutton.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -87,11 +87,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets diff --git a/NxWidgets/libnxwidgets/include/clatchbuttonarray.hxx b/NxWidgets/libnxwidgets/include/clatchbuttonarray.hxx index bffeb58a1..27bef1fd7 100644 --- a/NxWidgets/libnxwidgets/include/clatchbuttonarray.hxx +++ b/NxWidgets/libnxwidgets/include/clatchbuttonarray.hxx @@ -39,7 +39,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -53,11 +53,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets diff --git a/NxWidgets/libnxwidgets/include/clistbox.hxx b/NxWidgets/libnxwidgets/include/clistbox.hxx index 7afa76920..d4861af8c 100644 --- a/NxWidgets/libnxwidgets/include/clistbox.hxx +++ b/NxWidgets/libnxwidgets/include/clistbox.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -92,11 +92,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -147,7 +147,7 @@ namespace NXWidgets */ virtual void onClick(nxgl_coord_t x, nxgl_coord_t y); - + /** * Selects the clicked item and deselects all others. * @@ -175,7 +175,7 @@ namespace NXWidgets inline CListBox(const CListBox &listBox) : CScrollingPanel(listBox) { } public: - + /** * Constructor. * @@ -309,7 +309,7 @@ namespace NXWidgets */ virtual const CListBoxDataItem *getSelectedOption(void) const; - + /** * Sets whether multiple selections are possible or not. * diff --git a/NxWidgets/libnxwidgets/include/clistboxdataitem.hxx b/NxWidgets/libnxwidgets/include/clistboxdataitem.hxx index 9a1358d39..fdd667d92 100644 --- a/NxWidgets/libnxwidgets/include/clistboxdataitem.hxx +++ b/NxWidgets/libnxwidgets/include/clistboxdataitem.hxx @@ -1,180 +1,180 @@ -/****************************************************************************
- * include/clistboxdataitem.hxx
- * NxWidgets/libnxwidgets/
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX, NxWidgets, nor the names of its contributors
- * me be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************
- *
- * Portions of this package derive from Woopsi (http://woopsi.org/) and
- * portions are original efforts. It is difficult to determine at this
- * point what parts are original efforts and which parts derive from Woopsi.
- * However, in any event, the work of Antony Dzeryn will be acknowledged
- * in most NxWidget files. Thanks Antony!
- *
- * Copyright (c) 2007-2011, Antony Dzeryn
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the names "Woopsi", "Simian Zombie" nor the
- * names of its contributors may be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY Antony Dzeryn ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL Antony Dzeryn BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-#ifndef __INCLUDE_CLISTBOXDATAITEM_HXX
-#define __INCLUDE_CLISTBOXDATAITEM_HXX
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdint.h>
-#include <stdbool.h>
-
-#include <nuttx/nx/nxglib.h>
-
-#include "clistdataitem.hxx"
-#include "cnxstring.hxx"
-
-/****************************************************************************
- * Pre-Processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Implementation Classes
- ****************************************************************************/
-
-#if defined(__cplusplus)
-
-namespace NXWidgets
-{
- /**
- * Class representing a data item within a ListBox.
- */
-
- class CListBoxDataItem : public CListDataItem
- {
- private:
- nxwidget_pixel_t m_normalTextColor; /**< Color used for text when not selected. */
- nxwidget_pixel_t m_normalBackColor; /**< Color used for background when not selected. */
- nxwidget_pixel_t m_selectedTextColor; /**< Color used for text when selected. */
- nxwidget_pixel_t m_selectedBackColor; /**< Color used for background when selected. */
-
- public:
-
- /**
- * Constructor.
- *
- * @param text The text to display in the item.
- * @param value The value of the item.
- * @param normalTextColor Color to draw the text with when not selected.
- * @param normalBackColor Color to draw the background with when not selected.
- * @param selectedTextColor Color to draw the text with when selected.
- * @param selectedBackColor Color to draw the background with when selected.
- */
-
- CListBoxDataItem(const CNxString &text, const uint32_t value,
- const nxwidget_pixel_t normalTextColor,
- const nxwidget_pixel_t normalBackColor,
- const nxwidget_pixel_t selectedTextColor,
- const nxwidget_pixel_t selectedBackColor);
-
- /**
- * Get the color used for text when the item is unselected.
- *
- * @return The text color when the item is unselected.
- */
-
- inline nxwidget_pixel_t getNormalTextColor(void) const
- {
- return m_normalTextColor;
- }
-
- /**
- * Get the color used for the background when the item is unselected.
- *
- * @return The background color when the item is unselected.
- */
-
- inline nxwidget_pixel_t getNormalBackColor(void) const
- {
- return m_normalBackColor;
- }
-
- /**
- * Get the color used for text when the item is selected.
- *
- * @return The text color when the item is selected.
- */
-
- inline nxwidget_pixel_t getSelectedTextColor(void) const
- {
- return m_selectedTextColor;
- }
-
- /**
- * Get the color used for the background when the item is selected.
- *
- * @return The background color when the item is selected.
- */
-
- inline nxwidget_pixel_t getSelectedBackColor(void) const
- {
- return m_selectedBackColor;
- }
- };
-}
-
-#endif // __cplusplus
-
-#endif // __INCLUDE_CLISTBOXDATAITEM_HXX
-
+/**************************************************************************** + * include/clistboxdataitem.hxx + * NxWidgets/libnxwidgets/ + * + * Copyright (C) 2012 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX, NxWidgets, nor the names of its contributors + * me be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + **************************************************************************** + * + * Portions of this package derive from Woopsi (http://woopsi.org/) and + * portions are original efforts. It is difficult to determine at this + * point what parts are original efforts and which parts derive from Woopsi. + * However, in any event, the work of Antony Dzeryn will be acknowledged + * in most NxWidget files. Thanks Antony! + * + * Copyright (c) 2007-2011, Antony Dzeryn + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the names "Woopsi", "Simian Zombie" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY Antony Dzeryn ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Antony Dzeryn BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +#ifndef __INCLUDE_CLISTBOXDATAITEM_HXX +#define __INCLUDE_CLISTBOXDATAITEM_HXX + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include <nuttx/config.h> + +#include <stdint.h> +#include <stdbool.h> + +#include <nuttx/nx/nxglib.h> + +#include "clistdataitem.hxx" +#include "cnxstring.hxx" + +/**************************************************************************** + * Pre-Processor Definitions + ****************************************************************************/ + +/**************************************************************************** + * Implementation Classes + ****************************************************************************/ + +#if defined(__cplusplus) + +namespace NXWidgets +{ + /** + * Class representing a data item within a ListBox. + */ + + class CListBoxDataItem : public CListDataItem + { + private: + nxwidget_pixel_t m_normalTextColor; /**< Color used for text when not selected. */ + nxwidget_pixel_t m_normalBackColor; /**< Color used for background when not selected. */ + nxwidget_pixel_t m_selectedTextColor; /**< Color used for text when selected. */ + nxwidget_pixel_t m_selectedBackColor; /**< Color used for background when selected. */ + + public: + + /** + * Constructor. + * + * @param text The text to display in the item. + * @param value The value of the item. + * @param normalTextColor Color to draw the text with when not selected. + * @param normalBackColor Color to draw the background with when not selected. + * @param selectedTextColor Color to draw the text with when selected. + * @param selectedBackColor Color to draw the background with when selected. + */ + + CListBoxDataItem(const CNxString &text, const uint32_t value, + const nxwidget_pixel_t normalTextColor, + const nxwidget_pixel_t normalBackColor, + const nxwidget_pixel_t selectedTextColor, + const nxwidget_pixel_t selectedBackColor); + + /** + * Get the color used for text when the item is unselected. + * + * @return The text color when the item is unselected. + */ + + inline nxwidget_pixel_t getNormalTextColor(void) const + { + return m_normalTextColor; + } + + /** + * Get the color used for the background when the item is unselected. + * + * @return The background color when the item is unselected. + */ + + inline nxwidget_pixel_t getNormalBackColor(void) const + { + return m_normalBackColor; + } + + /** + * Get the color used for text when the item is selected. + * + * @return The text color when the item is selected. + */ + + inline nxwidget_pixel_t getSelectedTextColor(void) const + { + return m_selectedTextColor; + } + + /** + * Get the color used for the background when the item is selected. + * + * @return The background color when the item is selected. + */ + + inline nxwidget_pixel_t getSelectedBackColor(void) const + { + return m_selectedBackColor; + } + }; +} + +#endif // __cplusplus + +#endif // __INCLUDE_CLISTBOXDATAITEM_HXX + diff --git a/NxWidgets/libnxwidgets/include/clistdata.hxx b/NxWidgets/libnxwidgets/include/clistdata.hxx index d88abd9fc..81aa1f3f6 100644 --- a/NxWidgets/libnxwidgets/include/clistdata.hxx +++ b/NxWidgets/libnxwidgets/include/clistdata.hxx @@ -1,351 +1,351 @@ -/****************************************************************************
- * NxWidgets/libnxwidgets/include/clistdata.hxx
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX, NxWidgets, nor the names of its contributors
- * me be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************
- *
- * Portions of this package derive from Woopsi (http://woopsi.org/) and
- * portions are original efforts. It is difficult to determine at this
- * point what parts are original efforts and which parts derive from Woopsi.
- * However, in any event, the work of Antony Dzeryn will be acknowledged
- * in most NxWidget files. Thanks Antony!
- *
- * Copyright (c) 2007-2011, Antony Dzeryn
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the names "Woopsi", "Simian Zombie" nor the
- * names of its contributors may be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY Antony Dzeryn ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL Antony Dzeryn BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-#ifndef __INCLUDE_CLISTDATA_HXX
-#define __INCLUDE_CLISTDATA_HXX
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdint.h>
-#include <stdbool.h>
-
-#include <nuttx/nx/nxglib.h>
-
-#include "tnxarray.hxx"
-#include "ilistdataeventhandler.hxx"
-#include "clistdataitem.hxx"
-#include "cnxstring.hxx"
-
-/****************************************************************************
- * Pre-Processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Implementation Classes
- ****************************************************************************/
-
-#if defined(__cplusplus)
-
-namespace NXWidgets
-{
- /**
- * Class representing a list of items. Designed to be used by the
- * CListBox class, etc, to store its data. Fires events to notify
- * listeners when the list changes or a new selection is made.
- */
-
- class CListData
- {
- protected:
- TNxArray<CListDataItem*> m_items; /**< Collection of list data items. */
- TNxArray<IListDataEventHandler*> m_listDataEventhandlers; /**< Collection of event handlers. */
- bool m_allowMultipleSelections; /**< If true, multiple options can
- be selected. */
- bool m_sortInsertedItems; /**< Automatically sorts items on
- insertion if true. */
-
- /**
- * Quick sort the items using their compareTo() methods.
- *
- * @param start The index to start sorting at.
- * @param end The index to stop sorting at.
- */
-
- virtual void quickSort(const int start, const int end);
-
- /**
- * Swap the locations of two items in the array.
- *
- * @param index1 The index of the first item to swap.
- * @param index2 The index of the second item to swap.
- */
-
- virtual void swapItems(const int index1, const int index2);
-
- /**
- * Return the index that an item should be inserted at to maintain a sorted list of data.
- *
- * @param item The item to insert.
- * @return The index that the item should be imserted into at.
- */
-
- const int getSortedInsertionIndex(const CListDataItem *item) const;
-
- /**
- * Raise a data changed event.
- */
-
- void raiseDataChangedEvent(void);
-
- /**
- * Raise a selection changed event.
- */
-
- void raiseSelectionChangedEvent(void);
-
- public:
-
- /**
- * Constructor.
- */
- CListData(void);
-
- /**
- * Destructor.
- */
- virtual ~CListData(void);
-
- /**
- * Add a new item.
- *
- * @param text Text to show in the option.
- * @param value The value of the option.
- */
-
- virtual void addItem(const CNxString &text, const uint32_t value);
-
- /**
- * Add an existing item. CListData becomes the owner of the option and will delete it
- * when the list is deleted.
- *
- * @param item The item to add.
- */
-
- virtual void addItem(CListDataItem *item);
-
- /**
- * Remove an item by its index.
- *
- * @param index The index of the option to remove.
- */
-
- virtual void removeItem(const int index);
-
- /**
- * Select an item by its index.
- *
- * @param index The index of the item to select.
- */
-
- virtual void selectItem(const int index);
-
- /**
- * Deselect an item by its index.
- *
- * @param index The index of the item to select.
- */
-
- virtual void deselectItem(const int index);
-
- /**
- * Remove all items.
- */
-
- virtual void removeAllItems(void);
-
- /**
- * Get the selected index. Returns -1 if nothing is selected. If more than one
- * item is selected, the index of the first selected item is returned.
- *
- * @return The selected index.
- */
-
- virtual const int getSelectedIndex(void) const;
-
- /**
- * Sets the selected index. Specify -1 to select nothing. Resets any
- * other selected items to deselected.
- *
- * @param index The selected index.
- */
-
- virtual void setSelectedIndex(const int index);
-
- /**
- * Get the selected item. Returns NULL if nothing is selected.
- *
- * @return The selected option.
- */
-
- virtual const CListDataItem *getSelectedItem(void) const;
-
- /**
- * Sets whether multiple selections are possible or not.
- *
- * @param allowMultipleSelections True to allow multiple selections.
- */
-
- virtual inline void
- setAllowMultipleSelections(const bool allowMultipleSelections)
- {
- m_allowMultipleSelections = allowMultipleSelections;
- }
-
- /**
- * Get the specified item.
- *
- * @return The specified item.
- */
-
- virtual inline const CListDataItem *getItem(const int index) const
- {
- return m_items[index];
- }
-
- /**
- * Sort the items using their compareTo() methods.
- */
-
- virtual void sort(void);
-
- /**
- * Get the total number of items.
- *
- * @return The number of items.
- */
-
- virtual inline const int getItemCount(void) const
- {
- return m_items.size();
- }
-
- /**
- * Select all items. Does nothing if the list does not allow
- * multiple selections.
- */
-
- virtual void selectAllItems(void);
-
- /**
- * Deselect all items.
- */
-
- virtual void deselectAllItems(void);
-
- /**
- * Select or deselect an item by its index. Does not deselect any
- * other selected items. Set index to -1 to select nothing.
- *
- * @param index The index of the item to select.
- * @param selected True to select the item, false to deselect it.
- */
-
- virtual void setItemSelected(const int index, const bool selected);
-
- /**
- * Returns whether multiple selections are possible or not.
- *
- * @return True if multiple selections are allowed.
- */
-
- virtual inline const bool allowsMultipleSelections(void) const
- {
- return m_allowMultipleSelections;
- }
-
- /**
- * Sets whether or not items added to the list are automatically
- * sorted on insert or not.
- *
- * @param sortInsertedItems True to enable sort on insertion.
- */
-
- virtual inline void setSortInsertedItems(const bool sortInsertedItems)
- {
- m_sortInsertedItems = sortInsertedItems;
- }
-
- /**
- * Add an event handler.
- *
- * @param eventHandler The event handler to add.
- */
-
- inline void addListDataEventHandler(IListDataEventHandler *eventHandler)
- {
- m_listDataEventhandlers.push_back(eventHandler);
- }
-
- /**
- * Remove an event handler.
- *
- * @param eventHandler The event handler to remove.
- */
-
- void removeListDataEventHandler(IListDataEventHandler *eventHandler);
- };
-}
-
-#endif // __cplusplus
-
-#endif // __INCLUDE_CLISTDATA_HXX
+/**************************************************************************** + * NxWidgets/libnxwidgets/include/clistdata.hxx + * + * Copyright (C) 2012 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX, NxWidgets, nor the names of its contributors + * me be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + **************************************************************************** + * + * Portions of this package derive from Woopsi (http://woopsi.org/) and + * portions are original efforts. It is difficult to determine at this + * point what parts are original efforts and which parts derive from Woopsi. + * However, in any event, the work of Antony Dzeryn will be acknowledged + * in most NxWidget files. Thanks Antony! + * + * Copyright (c) 2007-2011, Antony Dzeryn + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the names "Woopsi", "Simian Zombie" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY Antony Dzeryn ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Antony Dzeryn BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +#ifndef __INCLUDE_CLISTDATA_HXX +#define __INCLUDE_CLISTDATA_HXX + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include <nuttx/config.h> + +#include <stdint.h> +#include <stdbool.h> + +#include <nuttx/nx/nxglib.h> + +#include "tnxarray.hxx" +#include "ilistdataeventhandler.hxx" +#include "clistdataitem.hxx" +#include "cnxstring.hxx" + +/**************************************************************************** + * Pre-Processor Definitions + ****************************************************************************/ + +/**************************************************************************** + * Implementation Classes + ****************************************************************************/ + +#if defined(__cplusplus) + +namespace NXWidgets +{ + /** + * Class representing a list of items. Designed to be used by the + * CListBox class, etc, to store its data. Fires events to notify + * listeners when the list changes or a new selection is made. + */ + + class CListData + { + protected: + TNxArray<CListDataItem*> m_items; /**< Collection of list data items. */ + TNxArray<IListDataEventHandler*> m_listDataEventhandlers; /**< Collection of event handlers. */ + bool m_allowMultipleSelections; /**< If true, multiple options can + be selected. */ + bool m_sortInsertedItems; /**< Automatically sorts items on + insertion if true. */ + + /** + * Quick sort the items using their compareTo() methods. + * + * @param start The index to start sorting at. + * @param end The index to stop sorting at. + */ + + virtual void quickSort(const int start, const int end); + + /** + * Swap the locations of two items in the array. + * + * @param index1 The index of the first item to swap. + * @param index2 The index of the second item to swap. + */ + + virtual void swapItems(const int index1, const int index2); + + /** + * Return the index that an item should be inserted at to maintain a sorted list of data. + * + * @param item The item to insert. + * @return The index that the item should be imserted into at. + */ + + const int getSortedInsertionIndex(const CListDataItem *item) const; + + /** + * Raise a data changed event. + */ + + void raiseDataChangedEvent(void); + + /** + * Raise a selection changed event. + */ + + void raiseSelectionChangedEvent(void); + + public: + + /** + * Constructor. + */ + CListData(void); + + /** + * Destructor. + */ + virtual ~CListData(void); + + /** + * Add a new item. + * + * @param text Text to show in the option. + * @param value The value of the option. + */ + + virtual void addItem(const CNxString &text, const uint32_t value); + + /** + * Add an existing item. CListData becomes the owner of the option and will delete it + * when the list is deleted. + * + * @param item The item to add. + */ + + virtual void addItem(CListDataItem *item); + + /** + * Remove an item by its index. + * + * @param index The index of the option to remove. + */ + + virtual void removeItem(const int index); + + /** + * Select an item by its index. + * + * @param index The index of the item to select. + */ + + virtual void selectItem(const int index); + + /** + * Deselect an item by its index. + * + * @param index The index of the item to select. + */ + + virtual void deselectItem(const int index); + + /** + * Remove all items. + */ + + virtual void removeAllItems(void); + + /** + * Get the selected index. Returns -1 if nothing is selected. If more than one + * item is selected, the index of the first selected item is returned. + * + * @return The selected index. + */ + + virtual const int getSelectedIndex(void) const; + + /** + * Sets the selected index. Specify -1 to select nothing. Resets any + * other selected items to deselected. + * + * @param index The selected index. + */ + + virtual void setSelectedIndex(const int index); + + /** + * Get the selected item. Returns NULL if nothing is selected. + * + * @return The selected option. + */ + + virtual const CListDataItem *getSelectedItem(void) const; + + /** + * Sets whether multiple selections are possible or not. + * + * @param allowMultipleSelections True to allow multiple selections. + */ + + virtual inline void + setAllowMultipleSelections(const bool allowMultipleSelections) + { + m_allowMultipleSelections = allowMultipleSelections; + } + + /** + * Get the specified item. + * + * @return The specified item. + */ + + virtual inline const CListDataItem *getItem(const int index) const + { + return m_items[index]; + } + + /** + * Sort the items using their compareTo() methods. + */ + + virtual void sort(void); + + /** + * Get the total number of items. + * + * @return The number of items. + */ + + virtual inline const int getItemCount(void) const + { + return m_items.size(); + } + + /** + * Select all items. Does nothing if the list does not allow + * multiple selections. + */ + + virtual void selectAllItems(void); + + /** + * Deselect all items. + */ + + virtual void deselectAllItems(void); + + /** + * Select or deselect an item by its index. Does not deselect any + * other selected items. Set index to -1 to select nothing. + * + * @param index The index of the item to select. + * @param selected True to select the item, false to deselect it. + */ + + virtual void setItemSelected(const int index, const bool selected); + + /** + * Returns whether multiple selections are possible or not. + * + * @return True if multiple selections are allowed. + */ + + virtual inline const bool allowsMultipleSelections(void) const + { + return m_allowMultipleSelections; + } + + /** + * Sets whether or not items added to the list are automatically + * sorted on insert or not. + * + * @param sortInsertedItems True to enable sort on insertion. + */ + + virtual inline void setSortInsertedItems(const bool sortInsertedItems) + { + m_sortInsertedItems = sortInsertedItems; + } + + /** + * Add an event handler. + * + * @param eventHandler The event handler to add. + */ + + inline void addListDataEventHandler(IListDataEventHandler *eventHandler) + { + m_listDataEventhandlers.push_back(eventHandler); + } + + /** + * Remove an event handler. + * + * @param eventHandler The event handler to remove. + */ + + void removeListDataEventHandler(IListDataEventHandler *eventHandler); + }; +} + +#endif // __cplusplus + +#endif // __INCLUDE_CLISTDATA_HXX diff --git a/NxWidgets/libnxwidgets/include/clistdataeventargs.hxx b/NxWidgets/libnxwidgets/include/clistdataeventargs.hxx index 57118e238..533694bc2 100644 --- a/NxWidgets/libnxwidgets/include/clistdataeventargs.hxx +++ b/NxWidgets/libnxwidgets/include/clistdataeventargs.hxx @@ -1,121 +1,121 @@ -/****************************************************************************
- * NxWidgets/libnxwidgets/include/clistdataeventargs.hxx
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX, NxWidgets, nor the names of its contributors
- * me be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************
- *
- * Portions of this package derive from Woopsi (http://woopsi.org/) and
- * portions are original efforts. It is difficult to determine at this
- * point what parts are original efforts and which parts derive from Woopsi.
- * However, in any event, the work of Antony Dzeryn will be acknowledged
- * in most NxWidget files. Thanks Antony!
- *
- * Copyright (c) 2007-2011, Antony Dzeryn
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the names "Woopsi", "Simian Zombie" nor the
- * names of its contributors may be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY Antony Dzeryn ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL Antony Dzeryn BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-#ifndef __INCLUDE_CLISTDATAEVENTARGS_HXX
-#define __INCLUDE_CLISTDATAEVENTARGS_HXX
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdint.h>
-#include <stdbool.h>
-
-#include "teventargs.hxx"
-
-/****************************************************************************
- * Pre-Processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Implementation Classes
- ****************************************************************************/
-
-#if defined(__cplusplus)
-
-namespace NXWidgets
-{
- class CListData;
-
- /**
- * Event arguments passed to listeners when a CListData object raises an
- * event.
- */
-
- class CListDataEventArgs : public TEventArgs<CListData*>
- {
- public:
-
- /**
- * Constructor.
- *
- * @param source Pointer to the CListData object that raised the event.
- */
-
- inline CListDataEventArgs(CListData *source) : TEventArgs<CListData*>(source)
- {
- }
- };
-}
-
-#endif // __cplusplus
-
-#endif // __INCLUDE_CLISTDATAEVENTARGS_HXX
+/**************************************************************************** + * NxWidgets/libnxwidgets/include/clistdataeventargs.hxx + * + * Copyright (C) 2012 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX, NxWidgets, nor the names of its contributors + * me be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + **************************************************************************** + * + * Portions of this package derive from Woopsi (http://woopsi.org/) and + * portions are original efforts. It is difficult to determine at this + * point what parts are original efforts and which parts derive from Woopsi. + * However, in any event, the work of Antony Dzeryn will be acknowledged + * in most NxWidget files. Thanks Antony! + * + * Copyright (c) 2007-2011, Antony Dzeryn + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the names "Woopsi", "Simian Zombie" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY Antony Dzeryn ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Antony Dzeryn BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +#ifndef __INCLUDE_CLISTDATAEVENTARGS_HXX +#define __INCLUDE_CLISTDATAEVENTARGS_HXX + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include <nuttx/config.h> + +#include <stdint.h> +#include <stdbool.h> + +#include "teventargs.hxx" + +/**************************************************************************** + * Pre-Processor Definitions + ****************************************************************************/ + +/**************************************************************************** + * Implementation Classes + ****************************************************************************/ + +#if defined(__cplusplus) + +namespace NXWidgets +{ + class CListData; + + /** + * Event arguments passed to listeners when a CListData object raises an + * event. + */ + + class CListDataEventArgs : public TEventArgs<CListData*> + { + public: + + /** + * Constructor. + * + * @param source Pointer to the CListData object that raised the event. + */ + + inline CListDataEventArgs(CListData *source) : TEventArgs<CListData*>(source) + { + } + }; +} + +#endif // __cplusplus + +#endif // __INCLUDE_CLISTDATAEVENTARGS_HXX diff --git a/NxWidgets/libnxwidgets/include/clistdataitem.hxx b/NxWidgets/libnxwidgets/include/clistdataitem.hxx index db3bb20a2..5cb60f3e7 100644 --- a/NxWidgets/libnxwidgets/include/clistdataitem.hxx +++ b/NxWidgets/libnxwidgets/include/clistdataitem.hxx @@ -1,189 +1,189 @@ -/****************************************************************************
- * NxWidgets/libnxwidgets/include/clistdataitem.hxx
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX, NxWidgets, nor the names of its contributors
- * me be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************
- *
- * Portions of this package derive from Woopsi (http://woopsi.org/) and
- * portions are original efforts. It is difficult to determine at this
- * point what parts are original efforts and which parts derive from Woopsi.
- * However, in any event, the work of Antony Dzeryn will be acknowledged
- * in most NxWidget files. Thanks Antony!
- *
- * Copyright (c) 2007-2011, Antony Dzeryn
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the names "Woopsi", "Simian Zombie" nor the
- * names of its contributors may be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY Antony Dzeryn ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL Antony Dzeryn BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-#ifndef __INCLUDE_CLISTDATAITEM_HXX
-#define __INCLUDE_CLISTDATAITEM_HXX
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdint.h>
-#include <stdbool.h>
-
-#include <nuttx/nx/nxglib.h>
-
-#include "cnxstring.hxx"
-
-/****************************************************************************
- * Pre-Processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Implementation Classes
- ****************************************************************************/
-
-#if defined(__cplusplus)
-
-namespace NXWidgets
-{
- /**
- * Class representing a data item within a list. Intended for use within
- * the CListData class.
- */
-
- class CListDataItem
- {
- private:
- CNxString m_text; /**< Text to display for option. */
- uint32_t m_value; /**< Option value. */
- bool m_isSelected; /**< True if the option is selected. */
-
- public:
-
- /**
- * Constructor.
- *
- * @param text The text to display in the item.
- * @param value The value of the item.
- */
-
- CListDataItem(const CNxString &text, const uint32_t value);
-
- /**
- * Destructor.
- */
-
- virtual ~CListDataItem(void);
-
- /**
- * Get the item's text.
- *
- * @return The item's text.
- */
-
- inline const CNxString &getText(void) const
- {
- return m_text;
- }
-
- /**
- * Get the item's value.
- *
- * @return The item's value.
- */
-
- inline const uint32_t getValue(void) const
- {
- return m_value;
- }
-
- /**
- * Get the item's selection state.
- *
- * @return True if the item is selected; false if not.
- */
-
- inline const bool isSelected(void) const
- {
- return m_isSelected;
- }
-
- /**
- * Set the item's selection state.
- *
- * @param selected True to select the item; false to deselect it.
- */
-
- inline void setSelected(bool selected)
- {
- m_isSelected = selected;
- }
-
- /**
- * Compare the item with another. Comparison is based on the text of
- * the item. Returns 0 if the text in the two items is the same,
- * a value less than 0 if this item is less than the argument, and
- * a value greater than 0 if this item is greater than the argument.
- *
- * @param item An item to compare this object with.
- * @return 0 if the text in the two items is the same,
- * a value less than 0 if this item is less than the argument, and
- * a value greater than 0 if this item is greater than the argument.
- */
-
- virtual int compareTo(const CListDataItem *item) const;
- };
-}
-
-#endif // __cplusplus
-
-#endif // __INCLUDE_CLISTDATAITEM_HXX
+/**************************************************************************** + * NxWidgets/libnxwidgets/include/clistdataitem.hxx + * + * Copyright (C) 2012 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX, NxWidgets, nor the names of its contributors + * me be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + **************************************************************************** + * + * Portions of this package derive from Woopsi (http://woopsi.org/) and + * portions are original efforts. It is difficult to determine at this + * point what parts are original efforts and which parts derive from Woopsi. + * However, in any event, the work of Antony Dzeryn will be acknowledged + * in most NxWidget files. Thanks Antony! + * + * Copyright (c) 2007-2011, Antony Dzeryn + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the names "Woopsi", "Simian Zombie" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY Antony Dzeryn ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Antony Dzeryn BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +#ifndef __INCLUDE_CLISTDATAITEM_HXX +#define __INCLUDE_CLISTDATAITEM_HXX + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include <nuttx/config.h> + +#include <stdint.h> +#include <stdbool.h> + +#include <nuttx/nx/nxglib.h> + +#include "cnxstring.hxx" + +/**************************************************************************** + * Pre-Processor Definitions + ****************************************************************************/ + +/**************************************************************************** + * Implementation Classes + ****************************************************************************/ + +#if defined(__cplusplus) + +namespace NXWidgets +{ + /** + * Class representing a data item within a list. Intended for use within + * the CListData class. + */ + + class CListDataItem + { + private: + CNxString m_text; /**< Text to display for option. */ + uint32_t m_value; /**< Option value. */ + bool m_isSelected; /**< True if the option is selected. */ + + public: + + /** + * Constructor. + * + * @param text The text to display in the item. + * @param value The value of the item. + */ + + CListDataItem(const CNxString &text, const uint32_t value); + + /** + * Destructor. + */ + + virtual ~CListDataItem(void); + + /** + * Get the item's text. + * + * @return The item's text. + */ + + inline const CNxString &getText(void) const + { + return m_text; + } + + /** + * Get the item's value. + * + * @return The item's value. + */ + + inline const uint32_t getValue(void) const + { + return m_value; + } + + /** + * Get the item's selection state. + * + * @return True if the item is selected; false if not. + */ + + inline const bool isSelected(void) const + { + return m_isSelected; + } + + /** + * Set the item's selection state. + * + * @param selected True to select the item; false to deselect it. + */ + + inline void setSelected(bool selected) + { + m_isSelected = selected; + } + + /** + * Compare the item with another. Comparison is based on the text of + * the item. Returns 0 if the text in the two items is the same, + * a value less than 0 if this item is less than the argument, and + * a value greater than 0 if this item is greater than the argument. + * + * @param item An item to compare this object with. + * @return 0 if the text in the two items is the same, + * a value less than 0 if this item is less than the argument, and + * a value greater than 0 if this item is greater than the argument. + */ + + virtual int compareTo(const CListDataItem *item) const; + }; +} + +#endif // __cplusplus + +#endif // __INCLUDE_CLISTDATAITEM_HXX diff --git a/NxWidgets/libnxwidgets/include/cmultilinetextbox.hxx b/NxWidgets/libnxwidgets/include/cmultilinetextbox.hxx index 5ed41740b..e10440cb5 100644 --- a/NxWidgets/libnxwidgets/include/cmultilinetextbox.hxx +++ b/NxWidgets/libnxwidgets/include/cmultilinetextbox.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -92,7 +92,7 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ @@ -100,7 +100,7 @@ #if defined(__cplusplus) namespace NXWidgets -{ +{ class CNxTimer; /** @@ -112,7 +112,7 @@ namespace NXWidgets */ class CMultiLineTextBox : public ITextBox, public CScrollingPanel, - public CWidgetEventHandler + public CWidgetEventHandler { public: @@ -281,7 +281,7 @@ namespace NXWidgets */ virtual void onResize(nxgl_coord_t width, nxgl_coord_t height); - + /** * Starts the dragging system. * diff --git a/NxWidgets/libnxwidgets/include/cnumericedit.hxx b/NxWidgets/libnxwidgets/include/cnumericedit.hxx index 3de01a4c1..49e378da5 100644 --- a/NxWidgets/libnxwidgets/include/cnumericedit.hxx +++ b/NxWidgets/libnxwidgets/include/cnumericedit.hxx @@ -74,7 +74,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -89,11 +89,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -135,15 +135,15 @@ namespace NXWidgets virtual void onResize(nxgl_coord_t width, nxgl_coord_t height); virtual void handleClickEvent(const CWidgetEventArgs &e); - + virtual void handleReleaseEvent(const CWidgetEventArgs &e); virtual void handleReleaseOutsideEvent(const CWidgetEventArgs &e); - + virtual void handleActionEvent(const CWidgetEventArgs &e); - + virtual void handleDragEvent(const CWidgetEventArgs &e); - + /** * Copy constructor is protected to prevent usage. */ @@ -192,19 +192,19 @@ namespace NXWidgets */ virtual void setFont(CNxFont *font); - + inline int getValue() const { return m_value; } void setValue(int value); - + inline int getMaximum() const { return m_maximum; } inline void setMaximum(int value) { m_maximum = value; setValue(m_value); } - + inline int getMinimum() const { return m_minimum; } inline void setMinimum(int value) { m_minimum = value; setValue(m_value); } - + inline int getIncrement() const { return m_increment; } inline void setIncrement(int value) { m_increment = value; setValue(m_value); } - + }; } diff --git a/NxWidgets/libnxwidgets/include/cnxfont.hxx b/NxWidgets/libnxwidgets/include/cnxfont.hxx index 33e712291..8f9d7e18c 100644 --- a/NxWidgets/libnxwidgets/include/cnxfont.hxx +++ b/NxWidgets/libnxwidgets/include/cnxfont.hxx @@ -39,7 +39,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -111,7 +111,7 @@ namespace NXWidgets * * @return The current drawing color. */ - + inline const nxgl_mxpixel_t getColor() const { return m_fontColor; @@ -133,17 +133,17 @@ namespace NXWidgets * color. * @return The transparent background color. */ - + inline const nxgl_mxpixel_t getTransparentColor() const { return m_transparentColor; } - + /** * Sets the transparent background color to a new value. * @param color The new background color. */ - + inline void setTransparentColor(const nxgl_mxpixel_t color) { m_transparentColor = color; @@ -157,7 +157,7 @@ namespace NXWidgets */ void drawChar(FAR SBitmap *bitmap, nxwidget_char_t letter); - + /** * Get the width of a string in pixels when drawn with this font. * @@ -176,7 +176,7 @@ namespace NXWidgets * @param length The length of the substring in chars. * @return The width of the substring in pixels. */ - + nxgl_coord_t getStringWidth(const CNxString& text, int startIndex, int length) const; @@ -206,7 +206,7 @@ namespace NXWidgets * @param letter The letter to get the height of. * @return The height of the character in pixels. */ - + inline nxgl_coord_t getCharHeight(nxwidget_char_t letter) const; /** diff --git a/NxWidgets/libnxwidgets/include/cnxserver.hxx b/NxWidgets/libnxwidgets/include/cnxserver.hxx index f70dbdbdb..380594190 100644 --- a/NxWidgets/libnxwidgets/include/cnxserver.hxx +++ b/NxWidgets/libnxwidgets/include/cnxserver.hxx @@ -39,7 +39,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -59,7 +59,7 @@ /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets diff --git a/NxWidgets/libnxwidgets/include/cnxtkwindow.hxx b/NxWidgets/libnxwidgets/include/cnxtkwindow.hxx index 16a0bee92..ea18595de 100644 --- a/NxWidgets/libnxwidgets/include/cnxtkwindow.hxx +++ b/NxWidgets/libnxwidgets/include/cnxtkwindow.hxx @@ -39,7 +39,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -55,7 +55,7 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ @@ -118,7 +118,7 @@ namespace NXWidgets /** * Destructor. */ - + ~CNxTkWindow(void); /** @@ -141,7 +141,7 @@ namespace NXWidgets /** * Open a toolbar on the framed window. This method both instantiates - * the toolbar object AND calls the INxWindow::open() method to + * the toolbar object AND calls the INxWindow::open() method to * create the toolbar. The toolbar is ready for use upon return. * * @param height. The height in rows of the tool bar @@ -199,7 +199,7 @@ namespace NXWidgets * @param pos The new position of the window. * @return True on success, false on any failure. */ - + bool setPosition(FAR const struct nxgl_point_s *pos); /** @@ -208,7 +208,7 @@ namespace NXWidgets * @param size The new size of the window. * @return True on success, false on any failure. */ - + bool setSize(FAR const struct nxgl_size_s *size); /** diff --git a/NxWidgets/libnxwidgets/include/cnxtoolbar.hxx b/NxWidgets/libnxwidgets/include/cnxtoolbar.hxx index 69a004da5..501067f0d 100644 --- a/NxWidgets/libnxwidgets/include/cnxtoolbar.hxx +++ b/NxWidgets/libnxwidgets/include/cnxtoolbar.hxx @@ -39,7 +39,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -56,7 +56,7 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ @@ -101,14 +101,14 @@ namespace NXWidgets * @param widgetControl Controlling widget for this toolbar. * @param height The height of the toolbar. */ - + CNxToolbar(CNxTkWindow *pNxTkWindow, NXTKWINDOW hNxTkWindow, CWidgetControl *pWidgetControl, nxgl_coord_t height); /** * Destructor. */ - + ~CNxToolbar(void); /** @@ -163,7 +163,7 @@ namespace NXWidgets * @param pPos The new position of the toolbar. * @return Always returns false. */ - + bool setPosition(FAR const struct nxgl_point_s *pPos); /** @@ -173,7 +173,7 @@ namespace NXWidgets * @param pPos The new position of the toolbar. * @return Always returns false. */ - + bool setSize(FAR const struct nxgl_size_s *pSize); /** diff --git a/NxWidgets/libnxwidgets/include/cnxwidget.hxx b/NxWidgets/libnxwidgets/include/cnxwidget.hxx index f8c472e75..dd1880cc2 100644 --- a/NxWidgets/libnxwidgets/include/cnxwidget.hxx +++ b/NxWidgets/libnxwidgets/include/cnxwidget.hxx @@ -74,7 +74,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -95,11 +95,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -192,7 +192,7 @@ namespace NXWidgets CWidgetEventHandlerList *m_widgetEventHandlers; /**< List of event handlers. */ // Double-clicking - + struct timespec m_lastClickTime; /**< System timer when last clicked. */ nxgl_coord_t m_lastClickX; /**< X coordinate of last click. */ nxgl_coord_t m_lastClickY; /**< Y coordinate of last click. */ @@ -281,7 +281,7 @@ namespace NXWidgets */ virtual inline void onClick(nxgl_coord_t x, nxgl_coord_t y) { } - + /** * Called when the widget is double-clicked. Override this when * creating new widgets if the widget should exhibit additional @@ -305,7 +305,7 @@ namespace NXWidgets */ virtual inline void onPreRelease(nxgl_coord_t x, nxgl_coord_t y) { } - + /** * Called just after the widget is released; the widget will be in the * released stated. Override this when creating new widgets if the @@ -316,7 +316,7 @@ namespace NXWidgets */ virtual inline void onRelease(nxgl_coord_t x, nxgl_coord_t y) { } - + /** * Called when the widget is released outside of its boundaries. * Override this when creating new widgets if the widget should exhibit @@ -327,7 +327,7 @@ namespace NXWidgets */ virtual inline void onReleaseOutside(nxgl_coord_t x, nxgl_coord_t y) { } - + /** * Called when the widget is dragged. Override this when creating new * widgets if the widget should exhibit additional behaviour when it is @@ -341,7 +341,7 @@ namespace NXWidgets virtual inline void onDrag(nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t vX, nxgl_coord_t vY) { } - + /** * Called when the widget starts being dragged. Override this when * creating new widgets if the widget should exhibit additional @@ -349,7 +349,7 @@ namespace NXWidgets */ virtual inline void onDragStart(void) { } - + /** * Called when the widget stops being dragged. Override this when * creating new widgets if the widget should exhibit additional @@ -357,7 +357,7 @@ namespace NXWidgets */ virtual inline void onDragStop(void) { } - + /** * Called when the widget gains focus. Override this when creating new * widgets if the widget should exhibit additional behaviour when @@ -365,7 +365,7 @@ namespace NXWidgets */ virtual inline void onFocus(void) { } - + /** * Called when the widget loses focus. Override this when creating new * widgets if the widget should exhibit additional behaviour when @@ -381,7 +381,7 @@ namespace NXWidgets */ virtual inline void onEnable(void) { } - + /** * Called when the widget is disabled. Override this when creating new * widgets if the widget should exhibit additional behaviour when @@ -389,7 +389,7 @@ namespace NXWidgets */ virtual inline void onDisable(void) { } - + /** * Called when the widget is resized. Override this when creating new * widgets if the widget should exhibit additional behaviour when @@ -478,7 +478,7 @@ namespace NXWidgets /** * Has the widget been marked for deletion? This function recurses up the widget * hierarchy and only returns true if all of the widgets in the ancestor - * chain are not deleted. + * chain are not deleted. * * Widgets marked for deletion are automatically deleted and should not be * interacted with. @@ -798,11 +798,11 @@ namespace NXWidgets /** * Get the style used by this widget - * + * * @return Const pointer to CWidgetStyle stored inside this widget. */ inline const CWidgetStyle *getWidgetStyle() const { return &m_style; } - + /** * Sets this widget's border state. * diff --git a/NxWidgets/libnxwidgets/include/cnxwindow.hxx b/NxWidgets/libnxwidgets/include/cnxwindow.hxx index 50822cc83..780276a5f 100644 --- a/NxWidgets/libnxwidgets/include/cnxwindow.hxx +++ b/NxWidgets/libnxwidgets/include/cnxwindow.hxx @@ -39,7 +39,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -55,7 +55,7 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ @@ -112,13 +112,13 @@ namespace NXWidgets * @param hNxServer Handle to the NX server. * @param widgetControl Controlling widget for this window. */ - + CNxWindow(NXHANDLE hNxServer, CWidgetControl *pWidgetControl); /** * Destructor. */ - + ~CNxWindow(void); /** @@ -172,7 +172,7 @@ namespace NXWidgets * @param pPos The new position of the window. * @return True on success, false on any failure. */ - + bool setPosition(FAR const struct nxgl_point_s *pPos); /** @@ -181,7 +181,7 @@ namespace NXWidgets * @param pSize The new size of the window. * @return True on success, false on any failure. */ - + bool setSize(FAR const struct nxgl_size_s *pSize); /** diff --git a/NxWidgets/libnxwidgets/include/cprogressbar.hxx b/NxWidgets/libnxwidgets/include/cprogressbar.hxx index c75d1eee6..43e2a65bf 100644 --- a/NxWidgets/libnxwidgets/include/cprogressbar.hxx +++ b/NxWidgets/libnxwidgets/include/cprogressbar.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -86,11 +86,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -191,7 +191,7 @@ namespace NXWidgets inline const int16_t getValue(void) const { - return m_value; + return m_value; } /** @@ -217,7 +217,7 @@ namespace NXWidgets } /** - * Set the value that of the progress bar. + * Set the value that of the progress bar. * * @param value The new value. */ diff --git a/NxWidgets/libnxwidgets/include/cradiobutton.hxx b/NxWidgets/libnxwidgets/include/cradiobutton.hxx index 4186b8eea..465325ee8 100644 --- a/NxWidgets/libnxwidgets/include/cradiobutton.hxx +++ b/NxWidgets/libnxwidgets/include/cradiobutton.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -88,7 +88,7 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ @@ -107,7 +107,7 @@ namespace NXWidgets * The mu state cannot be enabled by a user - it can only be set by the * developer. */ - + class CRadioButton : public CButton { public: @@ -149,7 +149,7 @@ namespace NXWidgets /** * Destructor. */ - + virtual inline ~CRadioButton() { } /** diff --git a/NxWidgets/libnxwidgets/include/cradiobuttongroup.hxx b/NxWidgets/libnxwidgets/include/cradiobuttongroup.hxx index c37630c61..52f6aae36 100644 --- a/NxWidgets/libnxwidgets/include/cradiobuttongroup.hxx +++ b/NxWidgets/libnxwidgets/include/cradiobuttongroup.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -90,7 +90,7 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ @@ -109,7 +109,7 @@ namespace NXWidgets * it is necessary to set the state via the radio button, not the group. */ - class CRadioButtonGroup : public CNxWidget, public CWidgetEventHandler + class CRadioButtonGroup : public CNxWidget, public CWidgetEventHandler { protected: CWidgetControl *m_pWidgetControl; /**< The controlling widget */ diff --git a/NxWidgets/libnxwidgets/include/crect.hxx b/NxWidgets/libnxwidgets/include/crect.hxx index 7ce233fed..fcfc4136d 100644 --- a/NxWidgets/libnxwidgets/include/crect.hxx +++ b/NxWidgets/libnxwidgets/include/crect.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -85,7 +85,7 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ diff --git a/NxWidgets/libnxwidgets/include/crlepalettebitmap.hxx b/NxWidgets/libnxwidgets/include/crlepalettebitmap.hxx index 1235c80fb..5bf899a09 100644 --- a/NxWidgets/libnxwidgets/include/crlepalettebitmap.hxx +++ b/NxWidgets/libnxwidgets/include/crlepalettebitmap.hxx @@ -54,11 +54,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -92,7 +92,7 @@ namespace NXWidgets FAR const struct SRlePaletteBitmapEntry *data; }; - + /** * Class providing bitmap accessor for a bitmap represented by SRlePaletteBitmap. */ @@ -141,7 +141,7 @@ namespace NXWidgets */ bool skipPixels(nxgl_coord_t npixels); - + /** Seek to the beginning of the next row * * @return False if this was the last row of the image diff --git a/NxWidgets/libnxwidgets/include/cscaledbitmap.hxx b/NxWidgets/libnxwidgets/include/cscaledbitmap.hxx index 48afd5306..8cb25ae75 100644 --- a/NxWidgets/libnxwidgets/include/cscaledbitmap.hxx +++ b/NxWidgets/libnxwidgets/include/cscaledbitmap.hxx @@ -108,7 +108,7 @@ namespace NXWidgets * @param row - The pointer to the row in the row cache to use * @param column - The non-integer column offset * @param outcolor - The returned, interpolated color - * + * */ bool rowColor(FAR uint8_t *row, b16_t column, diff --git a/NxWidgets/libnxwidgets/include/cscrollbarhorizontal.hxx b/NxWidgets/libnxwidgets/include/cscrollbarhorizontal.hxx index 20ba149fa..f6c3be3c3 100644 --- a/NxWidgets/libnxwidgets/include/cscrollbarhorizontal.hxx +++ b/NxWidgets/libnxwidgets/include/cscrollbarhorizontal.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -89,11 +89,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -245,7 +245,7 @@ namespace NXWidgets void setPageSize(const nxgl_coord_t pageSize); - /** + /** * Process events fired by the grip. * * @param e The event details. diff --git a/NxWidgets/libnxwidgets/include/cscrollbarvertical.hxx b/NxWidgets/libnxwidgets/include/cscrollbarvertical.hxx index 974da3378..37649e970 100644 --- a/NxWidgets/libnxwidgets/include/cscrollbarvertical.hxx +++ b/NxWidgets/libnxwidgets/include/cscrollbarvertical.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -89,11 +89,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -223,7 +223,7 @@ namespace NXWidgets */ void setValue(const nxgl_coord_t value); - + /** * Set the value that of the slider. This will reposition and redraw * the grip. The supplied value should be bitshifted left 16 places. @@ -244,7 +244,7 @@ namespace NXWidgets void setPageSize(const nxgl_coord_t pageSize); - /** + /** * Process events fired by the grip. * * @param e The event details. diff --git a/NxWidgets/libnxwidgets/include/cscrollinglistbox.hxx b/NxWidgets/libnxwidgets/include/cscrollinglistbox.hxx index ba7090b4b..127dd2015 100644 --- a/NxWidgets/libnxwidgets/include/cscrollinglistbox.hxx +++ b/NxWidgets/libnxwidgets/include/cscrollinglistbox.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -92,11 +92,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -136,7 +136,7 @@ namespace NXWidgets */ virtual void onResize(nxgl_coord_t width, nxgl_coord_t height); - + /** * Destructor. */ @@ -298,7 +298,7 @@ namespace NXWidgets { return m_listbox->getSelectedOption(); } - + /** * Sets whether multiple selections are possible or not. * diff --git a/NxWidgets/libnxwidgets/include/cscrollingpanel.hxx b/NxWidgets/libnxwidgets/include/cscrollingpanel.hxx index b27176e2f..fc987bbc1 100644 --- a/NxWidgets/libnxwidgets/include/cscrollingpanel.hxx +++ b/NxWidgets/libnxwidgets/include/cscrollingpanel.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -88,11 +88,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -152,7 +152,7 @@ namespace NXWidgets virtual void onDrag(nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t vX, nxgl_coord_t vY); - + /** * Starts the dragging system. * @@ -217,7 +217,7 @@ namespace NXWidgets */ virtual void scroll(int32_t dx, int32_t dy); - + /** * Reposition the panel's scrolling region to the specified coordinates. * @@ -259,7 +259,7 @@ namespace NXWidgets { return m_canvasX; } - + /** * Gets the y coordinate of the virtual canvas. * @@ -281,7 +281,7 @@ namespace NXWidgets { return m_canvasWidth; } - + /** * Gets the height of the virtual canvas. * @@ -353,7 +353,7 @@ namespace NXWidgets { m_canvasWidth = width; } - + /** * Sets the height of the virtual canvas. * diff --git a/NxWidgets/libnxwidgets/include/cscrollingtextbox.hxx b/NxWidgets/libnxwidgets/include/cscrollingtextbox.hxx index 0d2a1a39d..8aedc09a9 100644 --- a/NxWidgets/libnxwidgets/include/cscrollingtextbox.hxx +++ b/NxWidgets/libnxwidgets/include/cscrollingtextbox.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -90,11 +90,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -134,7 +134,7 @@ namespace NXWidgets */ virtual void onResize(nxgl_coord_t width, nxgl_coord_t height); - + /** * Destructor. */ @@ -240,7 +240,7 @@ namespace NXWidgets */ virtual void appendText(const CNxString &text); - + /** * Remove all characters from the string from the start index onwards. * @@ -336,7 +336,7 @@ namespace NXWidgets */ virtual void insertText(const CNxString &text, const unsigned int index); - + /** * Insert text at the current cursor position. * @@ -368,7 +368,7 @@ namespace NXWidgets */ virtual const int32_t getCanvasX(void) const; - + /** * Gets the y coordinate of the virtual canvas. * @@ -384,7 +384,7 @@ namespace NXWidgets */ virtual const int32_t getCanvasWidth(void) const; - + /** * Gets the height of the virtual canvas. * @@ -401,7 +401,7 @@ namespace NXWidgets */ virtual void scroll(int32_t dx, int32_t dy); - + /** * Reposition the panel's scrolling region to the specified coordinates. * @@ -434,7 +434,7 @@ namespace NXWidgets */ virtual void setCanvasWidth(const int32_t width); - + /** * Sets the height of the virtual canvas. * diff --git a/NxWidgets/libnxwidgets/include/csliderhorizontal.hxx b/NxWidgets/libnxwidgets/include/csliderhorizontal.hxx index f732a1731..ea0c8dc18 100644 --- a/NxWidgets/libnxwidgets/include/csliderhorizontal.hxx +++ b/NxWidgets/libnxwidgets/include/csliderhorizontal.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -88,11 +88,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -119,7 +119,7 @@ namespace NXWidgets int32_t m_gutterWidth; /**< Width of the gutter, taking into account any adjustments made to the width of the grip. */ uint32_t m_contentSize; /**< Number of values in the min/max range. */ - + /** * Get the maximum possible value that the slider can represent. Useful when * using the slider as a scrollbar, as the height of the grip prevents the full @@ -167,7 +167,7 @@ namespace NXWidgets */ virtual void onResize(nxgl_coord_t width, nxgl_coord_t height); - + /** * Moves the grip towards the mouse. * diff --git a/NxWidgets/libnxwidgets/include/csliderhorizontalgrip.hxx b/NxWidgets/libnxwidgets/include/csliderhorizontalgrip.hxx index 71f10f62c..4543485e1 100644 --- a/NxWidgets/libnxwidgets/include/csliderhorizontalgrip.hxx +++ b/NxWidgets/libnxwidgets/include/csliderhorizontalgrip.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -86,11 +86,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -102,7 +102,7 @@ namespace NXWidgets * slider. */ - class CSliderHorizontalGrip : public CNxWidget + class CSliderHorizontalGrip : public CNxWidget { protected: @@ -134,7 +134,7 @@ namespace NXWidgets */ virtual void onClick(nxgl_coord_t x, nxgl_coord_t y); - + /** * Redraws the grip. * @@ -143,7 +143,7 @@ namespace NXWidgets */ virtual void onRelease(nxgl_coord_t x, nxgl_coord_t y); - + /** * Redraws the grip. * @@ -152,7 +152,7 @@ namespace NXWidgets */ virtual void onReleaseOutside(nxgl_coord_t x, nxgl_coord_t y); - + /** * Moves the grip to follow the mouse. * @@ -173,7 +173,7 @@ namespace NXWidgets : CNxWidget(sliderHorizontalGrip) { } public: - + /** * Constructor. * diff --git a/NxWidgets/libnxwidgets/include/cslidervertical.hxx b/NxWidgets/libnxwidgets/include/cslidervertical.hxx index a1b8651f9..f08010f3c 100644 --- a/NxWidgets/libnxwidgets/include/cslidervertical.hxx +++ b/NxWidgets/libnxwidgets/include/cslidervertical.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -88,11 +88,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -293,7 +293,7 @@ namespace NXWidgets */ void setValue(const nxgl_coord_t value); - + /** * Set the value that of the slider. This will reposition and redraw * the grip. The supplied value should be bitshifted left 16 places. diff --git a/NxWidgets/libnxwidgets/include/csliderverticalgrip.hxx b/NxWidgets/libnxwidgets/include/csliderverticalgrip.hxx index 3ac7fb360..aa246d7ee 100644 --- a/NxWidgets/libnxwidgets/include/csliderverticalgrip.hxx +++ b/NxWidgets/libnxwidgets/include/csliderverticalgrip.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -86,11 +86,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -134,7 +134,7 @@ namespace NXWidgets */ virtual void onClick(nxgl_coord_t x, nxgl_coord_t y); - + /** * Redraws the grip. * @@ -143,7 +143,7 @@ namespace NXWidgets */ virtual void onRelease(nxgl_coord_t x, nxgl_coord_t y); - + /** * Redraws the grip. * @@ -152,7 +152,7 @@ namespace NXWidgets */ virtual void onReleaseOutside(nxgl_coord_t x, nxgl_coord_t y); - + /** * Moves the grip to follow the mouse. * diff --git a/NxWidgets/libnxwidgets/include/cstickybutton.hxx b/NxWidgets/libnxwidgets/include/cstickybutton.hxx index c51976ec0..46d7f1962 100644 --- a/NxWidgets/libnxwidgets/include/cstickybutton.hxx +++ b/NxWidgets/libnxwidgets/include/cstickybutton.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -87,11 +87,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -211,7 +211,7 @@ namespace NXWidgets void setStuckDown(bool stuckDown); /** - * Toggles the key's stuck down state. + * Toggles the key's stuck down state. */ inline void toggleStuckDown(void) diff --git a/NxWidgets/libnxwidgets/include/cstickybuttonarray.hxx b/NxWidgets/libnxwidgets/include/cstickybuttonarray.hxx index 5854c51f0..b82873a75 100644 --- a/NxWidgets/libnxwidgets/include/cstickybuttonarray.hxx +++ b/NxWidgets/libnxwidgets/include/cstickybuttonarray.hxx @@ -39,7 +39,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -53,11 +53,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets diff --git a/NxWidgets/libnxwidgets/include/cstringiterator.hxx b/NxWidgets/libnxwidgets/include/cstringiterator.hxx index 648d12633..e0f119d24 100644 --- a/NxWidgets/libnxwidgets/include/cstringiterator.hxx +++ b/NxWidgets/libnxwidgets/include/cstringiterator.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -92,7 +92,7 @@ namespace NXWidgets { class CNxString; - + /** * Class used to efficiently iterate over the characters in a CNxString * object. The CNxString is a Unicode string that uses the fixed-width @@ -162,7 +162,7 @@ namespace NXWidgets */ bool moveTo(int index); - + /** * Get the current position of the iterator within the string. * diff --git a/NxWidgets/libnxwidgets/include/ctabpanel.hxx b/NxWidgets/libnxwidgets/include/ctabpanel.hxx index aa6eb20f8..887f66fc0 100644 --- a/NxWidgets/libnxwidgets/include/ctabpanel.hxx +++ b/NxWidgets/libnxwidgets/include/ctabpanel.hxx @@ -39,7 +39,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -56,11 +56,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -72,7 +72,7 @@ namespace NXWidgets class CWidgetControl; class CRect; class CStickyButtonArray; - + /** * Tab panel, with tabs at the top and a panel at the bottom. */ @@ -82,12 +82,12 @@ namespace NXWidgets protected: TNxArray<CNxWidget*> m_tabpages; CLatchButtonArray *m_buttonbar; - + virtual void handleActionEvent(const CWidgetEventArgs &e); - + virtual void drawContents(CGraphicsPort* port) {} virtual void drawBorder(CGraphicsPort* port) {} - + public: CTabPanel(CWidgetControl *pWidgetControl, uint8_t numPages, nxgl_coord_t x, nxgl_coord_t y, @@ -95,11 +95,11 @@ namespace NXWidgets nxgl_coord_t buttonHeight, FAR const CWidgetStyle *style = (FAR const CWidgetStyle *)NULL ); - + inline CNxWidget &page(uint8_t index) { return *m_tabpages.at(index); } - + void setPageName(uint8_t index, const CNxString &name); - + void showPage(uint8_t index); }; } diff --git a/NxWidgets/libnxwidgets/include/ctext.hxx b/NxWidgets/libnxwidgets/include/ctext.hxx index a58d32eeb..8f691082d 100644 --- a/NxWidgets/libnxwidgets/include/ctext.hxx +++ b/NxWidgets/libnxwidgets/include/ctext.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -90,7 +90,7 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ @@ -105,7 +105,7 @@ namespace NXWidgets * height in pixels, calculate the width of a row, etc. */ - class CText : public CNxString + class CText : public CNxString { private: @@ -119,7 +119,7 @@ namespace NXWidgets int index; uint8_t width; } LongestLine; - + CNxFont *m_font; /**< Font to be used for output */ TNxArray<int> m_linePositions; /**< Array containing start indexes of each wrapped line */ @@ -209,7 +209,7 @@ namespace NXWidgets */ virtual void remove(const int startIndex, const int count); - + /** * Set the vertical spacing between rows of text. * @@ -219,7 +219,7 @@ namespace NXWidgets void setLineSpacing(uint8_t lineSpacing); /** - * Sets the pixel width of the text; text wider than + * Sets the pixel width of the text; text wider than * this will automatically wrap. * * @param width Maximum pixel width of the text. @@ -344,7 +344,7 @@ namespace NXWidgets */ void stripTopLines(const int lines); - + /** * Wrap all of the text. */ diff --git a/NxWidgets/libnxwidgets/include/ctextbox.hxx b/NxWidgets/libnxwidgets/include/ctextbox.hxx index 32a0ab69f..b91c371a4 100644 --- a/NxWidgets/libnxwidgets/include/ctextbox.hxx +++ b/NxWidgets/libnxwidgets/include/ctextbox.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -90,11 +90,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -206,7 +206,7 @@ namespace NXWidgets */ virtual nxgl_coord_t getCursorWidth(void) const; - + /** * Calculate the horizontal position of the string based on its length * and the alignment options. Alignment options are overridden if the diff --git a/NxWidgets/libnxwidgets/include/cwidgeteventargs.hxx b/NxWidgets/libnxwidgets/include/cwidgeteventargs.hxx index 9aacafa74..d8058b13c 100644 --- a/NxWidgets/libnxwidgets/include/cwidgeteventargs.hxx +++ b/NxWidgets/libnxwidgets/include/cwidgeteventargs.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -97,7 +97,7 @@ /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets diff --git a/NxWidgets/libnxwidgets/include/cwidgeteventhandler.hxx b/NxWidgets/libnxwidgets/include/cwidgeteventhandler.hxx index 8883fa12d..38c2f2558 100644 --- a/NxWidgets/libnxwidgets/include/cwidgeteventhandler.hxx +++ b/NxWidgets/libnxwidgets/include/cwidgeteventhandler.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -84,11 +84,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -108,13 +108,13 @@ namespace NXWidgets */ inline CWidgetEventHandler() { } - + /** * Destructor. */ virtual inline ~CWidgetEventHandler() { } - + /** * Handle a mouse button click event. * @@ -128,7 +128,7 @@ namespace NXWidgets * * @param e The event data. */ - + virtual void handleDragEvent(const CWidgetEventArgs &e) { } /** diff --git a/NxWidgets/libnxwidgets/include/cwidgeteventhandlerlist.hxx b/NxWidgets/libnxwidgets/include/cwidgeteventhandlerlist.hxx index f0a2f1d72..7d5424365 100644 --- a/NxWidgets/libnxwidgets/include/cwidgeteventhandlerlist.hxx +++ b/NxWidgets/libnxwidgets/include/cwidgeteventhandlerlist.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -87,11 +87,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -116,7 +116,7 @@ namespace NXWidgets * * @param widget The owning widget. */ - + CWidgetEventHandlerList(CNxWidget *widget); /** @@ -124,7 +124,7 @@ namespace NXWidgets */ ~CWidgetEventHandlerList(void) { } - + /** * Check if the object raises events or not. * @@ -161,7 +161,7 @@ namespace NXWidgets * all events raised by this object. * @param eventHandler A pointer to the event handler. */ - + void addWidgetEventHandler(CWidgetEventHandler *eventHandler); /** diff --git a/NxWidgets/libnxwidgets/include/cwidgetstyle.hxx b/NxWidgets/libnxwidgets/include/cwidgetstyle.hxx index 8fe5e2c32..d4303a472 100644 --- a/NxWidgets/libnxwidgets/include/cwidgetstyle.hxx +++ b/NxWidgets/libnxwidgets/include/cwidgetstyle.hxx @@ -1,135 +1,135 @@ -/****************************************************************************
- * NxWidgets/libnxwidgets/include/cwidgetstyle.hxx
- *
- * Copyright (C) 2012 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX, NxWidgets, nor the names of its contributors
- * me be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************
- *
- * Portions of this package derive from Woopsi (http://woopsi.org/) and
- * portions are original efforts. It is difficult to determine at this
- * point what parts are original efforts and which parts derive from Woopsi.
- * However, in any event, the work of Antony Dzeryn will be acknowledged
- * in most NxWidget files. Thanks Antony!
- *
- * Copyright (c) 2007-2011, Antony Dzeryn
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the names "Woopsi", "Simian Zombie" nor the
- * names of its contributors may be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY Antony Dzeryn ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL Antony Dzeryn BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-#ifndef __INCLUDE_CWIDGETSTYLE_HXX
-#define __INCLUDE_CWIDGETSTYLE_HXX
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <stdint.h>
-#include <stdbool.h>
-
-#include <nuttx/nx/nxglib.h>
-
-/****************************************************************************
- * Pre-Processor Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Implementation Classes
- ****************************************************************************/
-
-#if defined(__cplusplus)
-
-namespace NXWidgets
-{
- class CNxFont;
-
- /**
- * Class containing all colors that a widget depends on.
- */
-
- class CWidgetColors
- {
- public:
- nxgl_mxpixel_t background; /**< Color used for a normal background */
- nxgl_mxpixel_t selectedBackground; /**< Color used for a selected background */
- nxgl_mxpixel_t shineEdge; /**< Color used as light bevel edge */
- nxgl_mxpixel_t shadowEdge; /**< Color used as dark bevel edge */
- nxgl_mxpixel_t highlight; /**< Color used as highlighted elements */
- nxgl_mxpixel_t disabledText; /**< Color used for text in a disabled widget */
- nxgl_mxpixel_t enabledText; /**< Color used for text in a enabled widget */
- nxgl_mxpixel_t selectedText; /**< Color used for text in a clicked widget */
- };
-
- /**
- * Class providing the default colors and fonts for all widgets. This
- * information is copied into the widgets when they are constructed, so you
- * will need to change these values *before* creating any widgets if you
- * want those widgets to use the altered colors.
- *
- * If the font objects are set, NXWidgets will use them in preference to the
- * default system fonts.
- */
-
- class CWidgetStyle
- {
- public:
- CWidgetColors colors; /**< Default widget colors */
- CNxFont *font; /**< Default font */
- };
-}
-
-#endif // __cplusplus
-
-#endif // __INCLUDE_CWIDGETSTYLE_HXX
+/**************************************************************************** + * NxWidgets/libnxwidgets/include/cwidgetstyle.hxx + * + * Copyright (C) 2012 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt <gnutt@nuttx.org> + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * 3. Neither the name NuttX, NxWidgets, nor the names of its contributors + * me be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, + * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS + * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED + * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + **************************************************************************** + * + * Portions of this package derive from Woopsi (http://woopsi.org/) and + * portions are original efforts. It is difficult to determine at this + * point what parts are original efforts and which parts derive from Woopsi. + * However, in any event, the work of Antony Dzeryn will be acknowledged + * in most NxWidget files. Thanks Antony! + * + * Copyright (c) 2007-2011, Antony Dzeryn + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the names "Woopsi", "Simian Zombie" nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY Antony Dzeryn ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL Antony Dzeryn BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + ****************************************************************************/ + +#ifndef __INCLUDE_CWIDGETSTYLE_HXX +#define __INCLUDE_CWIDGETSTYLE_HXX + +/**************************************************************************** + * Included Files + ****************************************************************************/ + +#include <nuttx/config.h> + +#include <stdint.h> +#include <stdbool.h> + +#include <nuttx/nx/nxglib.h> + +/**************************************************************************** + * Pre-Processor Definitions + ****************************************************************************/ + +/**************************************************************************** + * Implementation Classes + ****************************************************************************/ + +#if defined(__cplusplus) + +namespace NXWidgets +{ + class CNxFont; + + /** + * Class containing all colors that a widget depends on. + */ + + class CWidgetColors + { + public: + nxgl_mxpixel_t background; /**< Color used for a normal background */ + nxgl_mxpixel_t selectedBackground; /**< Color used for a selected background */ + nxgl_mxpixel_t shineEdge; /**< Color used as light bevel edge */ + nxgl_mxpixel_t shadowEdge; /**< Color used as dark bevel edge */ + nxgl_mxpixel_t highlight; /**< Color used as highlighted elements */ + nxgl_mxpixel_t disabledText; /**< Color used for text in a disabled widget */ + nxgl_mxpixel_t enabledText; /**< Color used for text in a enabled widget */ + nxgl_mxpixel_t selectedText; /**< Color used for text in a clicked widget */ + }; + + /** + * Class providing the default colors and fonts for all widgets. This + * information is copied into the widgets when they are constructed, so you + * will need to change these values *before* creating any widgets if you + * want those widgets to use the altered colors. + * + * If the font objects are set, NXWidgets will use them in preference to the + * default system fonts. + */ + + class CWidgetStyle + { + public: + CWidgetColors colors; /**< Default widget colors */ + CNxFont *font; /**< Default font */ + }; +} + +#endif // __cplusplus + +#endif // __INCLUDE_CWIDGETSTYLE_HXX diff --git a/NxWidgets/libnxwidgets/include/cwindoweventhandler.hxx b/NxWidgets/libnxwidgets/include/cwindoweventhandler.hxx index 574c24b55..379ae4725 100644 --- a/NxWidgets/libnxwidgets/include/cwindoweventhandler.hxx +++ b/NxWidgets/libnxwidgets/include/cwindoweventhandler.hxx @@ -41,15 +41,15 @@ ****************************************************************************/ #include "nxconfig.hxx" - + /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -69,13 +69,13 @@ namespace NXWidgets */ inline CWindowEventHandler() { } - + /** * Destructor. */ virtual inline ~CWindowEventHandler() { } - + /** * Handle a NX window redraw request event */ @@ -85,7 +85,7 @@ namespace NXWidgets /** * Handle a NX window position/size change event */ - + virtual void handleGeometryEvent(void) { } /** @@ -111,7 +111,7 @@ namespace NXWidgets * * @param arg - User provided argument (see nx_block or nxtk_block) */ - + virtual void handleBlockedEvent(FAR void *arg) { } }; } diff --git a/NxWidgets/libnxwidgets/include/cwindoweventhandlerlist.hxx b/NxWidgets/libnxwidgets/include/cwindoweventhandlerlist.hxx index 035e6a7b9..a076e63cf 100644 --- a/NxWidgets/libnxwidgets/include/cwindoweventhandlerlist.hxx +++ b/NxWidgets/libnxwidgets/include/cwindoweventhandlerlist.hxx @@ -53,11 +53,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -75,7 +75,7 @@ namespace NXWidgets /** * Return the index to the window event handler. */ - + bool findWindowEventHandler(CWindowEventHandler *eventHandler, int &index); public: @@ -85,7 +85,7 @@ namespace NXWidgets * * @param widget The owning widget. */ - + CWindowEventHandlerList(void) { } /** @@ -93,7 +93,7 @@ namespace NXWidgets */ inline ~CWindowEventHandlerList(void) { } - + /** * Get the event handler at the specified index. * @@ -122,7 +122,7 @@ namespace NXWidgets * all events raised by this object. * @param eventHandler A pointer to the event handler. */ - + void addWindowEventHandler(CWindowEventHandler *eventHandler); /** diff --git a/NxWidgets/libnxwidgets/include/glyphs.hxx b/NxWidgets/libnxwidgets/include/glyphs.hxx index 230db8ff6..6d5c2d4eb 100644 --- a/NxWidgets/libnxwidgets/include/glyphs.hxx +++ b/NxWidgets/libnxwidgets/include/glyphs.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> diff --git a/NxWidgets/libnxwidgets/include/ilistbox.hxx b/NxWidgets/libnxwidgets/include/ilistbox.hxx index 0eb33bc3b..915789952 100644 --- a/NxWidgets/libnxwidgets/include/ilistbox.hxx +++ b/NxWidgets/libnxwidgets/include/ilistbox.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -86,11 +86,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Abstract Base Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -218,7 +218,7 @@ namespace NXWidgets */ virtual const CListBoxDataItem *getSelectedOption(void) const = 0; - + /** * Sets whether multiple selections are possible or not. * diff --git a/NxWidgets/libnxwidgets/include/ilistdataeventhandler.hxx b/NxWidgets/libnxwidgets/include/ilistdataeventhandler.hxx index 26bf1411b..781ce9d52 100644 --- a/NxWidgets/libnxwidgets/include/ilistdataeventhandler.hxx +++ b/NxWidgets/libnxwidgets/include/ilistdataeventhandler.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -84,11 +84,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Abstract Base Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -99,7 +99,7 @@ namespace NXWidgets * Base IListDataEventHandler class, intended to be subclassed. Any class * that needs to listen for CListData events should inherit from this class. */ - + class IListDataEventHandler { public: diff --git a/NxWidgets/libnxwidgets/include/inxwindow.hxx b/NxWidgets/libnxwidgets/include/inxwindow.hxx index 210a1e6ce..826d1784e 100644 --- a/NxWidgets/libnxwidgets/include/inxwindow.hxx +++ b/NxWidgets/libnxwidgets/include/inxwindow.hxx @@ -39,7 +39,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <nuttx/nx/nxglib.h> @@ -99,7 +99,7 @@ namespace NXWidgets * * @return True if the window was successfully created. */ - + virtual bool open(void) = 0; /** @@ -144,7 +144,7 @@ namespace NXWidgets * @param pPos The new position of the window. * @return True on success, false on failure. */ - + virtual bool setPosition(FAR const struct nxgl_point_s *pPos) = 0; /** @@ -153,7 +153,7 @@ namespace NXWidgets * @param pSize The new size of the window. * @return OK on success; ERROR on failure with errno set appropriately. */ - + virtual bool setSize(FAR const struct nxgl_size_s *pSize) = 0; /** diff --git a/NxWidgets/libnxwidgets/include/iscrollable.hxx b/NxWidgets/libnxwidgets/include/iscrollable.hxx index b0e65a9db..f82d4ffea 100644 --- a/NxWidgets/libnxwidgets/include/iscrollable.hxx +++ b/NxWidgets/libnxwidgets/include/iscrollable.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -84,11 +84,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -118,7 +118,7 @@ namespace NXWidgets */ virtual const int32_t getCanvasX(void) const = 0; - + /** * Gets the y coordinate of the virtual canvas. * @@ -134,7 +134,7 @@ namespace NXWidgets */ virtual const int32_t getCanvasWidth(void) const = 0; - + /** * Gets the height of the virtual canvas. * @@ -151,7 +151,7 @@ namespace NXWidgets */ virtual void scroll(int32_t dx, int32_t dy) = 0; - + /** * Repositions the virtual canvas to the specified coordinates. * @@ -200,7 +200,7 @@ namespace NXWidgets */ virtual void setCanvasWidth(const int32_t width) = 0; - + /** * Sets the height of the virtual canvas. * diff --git a/NxWidgets/libnxwidgets/include/islider.hxx b/NxWidgets/libnxwidgets/include/islider.hxx index 5a9340923..1577e9898 100644 --- a/NxWidgets/libnxwidgets/include/islider.hxx +++ b/NxWidgets/libnxwidgets/include/islider.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -84,11 +84,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Abstract Base Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets diff --git a/NxWidgets/libnxwidgets/include/itextbox.hxx b/NxWidgets/libnxwidgets/include/itextbox.hxx index 0e2e7b824..291e5ce0e 100644 --- a/NxWidgets/libnxwidgets/include/itextbox.hxx +++ b/NxWidgets/libnxwidgets/include/itextbox.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -88,11 +88,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Abstract Base Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -147,7 +147,7 @@ namespace NXWidgets */ virtual void setText(const CNxString &text) = 0; - + /** * Append new text to the end of the current text displayed in the * label. diff --git a/NxWidgets/libnxwidgets/include/nxconfig.hxx b/NxWidgets/libnxwidgets/include/nxconfig.hxx index 1336ad5e7..c2141775b 100644 --- a/NxWidgets/libnxwidgets/include/nxconfig.hxx +++ b/NxWidgets/libnxwidgets/include/nxconfig.hxx @@ -39,7 +39,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> diff --git a/NxWidgets/libnxwidgets/include/singletons.hxx b/NxWidgets/libnxwidgets/include/singletons.hxx index 094808939..2ccbe9f90 100644 --- a/NxWidgets/libnxwidgets/include/singletons.hxx +++ b/NxWidgets/libnxwidgets/include/singletons.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -84,11 +84,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets diff --git a/NxWidgets/libnxwidgets/include/teventargs.hxx b/NxWidgets/libnxwidgets/include/teventargs.hxx index c1371be92..2250eef80 100644 --- a/NxWidgets/libnxwidgets/include/teventargs.hxx +++ b/NxWidgets/libnxwidgets/include/teventargs.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -82,11 +82,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) namespace NXWidgets @@ -103,7 +103,7 @@ namespace NXWidgets T m_source; /**< The object that raised the event */ public: - + /** * Constructor. * @param source The object that raised the event. @@ -119,7 +119,7 @@ namespace NXWidgets */ virtual inline ~TEventArgs() { } - + /** * Get the source object that raised the event. */ diff --git a/NxWidgets/libnxwidgets/include/tnxarray.hxx b/NxWidgets/libnxwidgets/include/tnxarray.hxx index 44cb537ad..0cb4746f2 100644 --- a/NxWidgets/libnxwidgets/include/tnxarray.hxx +++ b/NxWidgets/libnxwidgets/include/tnxarray.hxx @@ -73,7 +73,7 @@ /**************************************************************************** * Included Files ****************************************************************************/ - + #include <nuttx/config.h> #include <stdint.h> @@ -84,11 +84,11 @@ /**************************************************************************** * Pre-Processor Definitions ****************************************************************************/ - + /**************************************************************************** * Implementation Classes ****************************************************************************/ - + #if defined(__cplusplus) /** @@ -104,7 +104,7 @@ * the array with large amounts of data. Adding new data to the linked list is * very inexpensive. */ - + template <class T> class TNxArray { @@ -286,7 +286,7 @@ void TNxArray<T>::pop_back(void) { // We can just reduce the used size of the array, as the value // will get overwritten automatically - + m_size--; } } |