From 8f7be6ce270b03ee688f36317bd8f4a0cc482bd9 Mon Sep 17 00:00:00 2001 From: raiden00pl Date: Fri, 27 Oct 2023 17:34:21 +0200 Subject: [PATCH] Documentation: move nxwidgets to applications as it is apps-side lib --- .../applications/graphics/nxwidgets/index.rst | 86 ++++++++++--------- Documentation/components/index.rst | 1 - Documentation/components/nxwidgets.rst | 55 ------------ Documentation/introduction/about.rst | 2 +- 4 files changed, 45 insertions(+), 99 deletions(-) delete mode 100644 Documentation/components/nxwidgets.rst diff --git a/Documentation/applications/graphics/nxwidgets/index.rst b/Documentation/applications/graphics/nxwidgets/index.rst index ef9bd79f20..587d9db94d 100644 --- a/Documentation/applications/graphics/nxwidgets/index.rst +++ b/Documentation/applications/graphics/nxwidgets/index.rst @@ -1,55 +1,57 @@ +.. _nxwidgets: + ======================= ``nxwidgets`` NXWidgets ======================= - -In order to better support NuttX based platforms, a special graphical user -interface has been created called NXWidgets. NXWidgets is written in C++ and -integrates seamlessly with the NuttX NX graphics subsystem in order to provide -graphic objects, or _widgets_, in the NX Graphics Subsystem +In order to better support NuttX based platforms, a special graphical +userinterface has been created called NXWidgets. NXWidgets is written in +C++ and integrates seamlessly with the NuttX :ref:`NX graphics +subsystem ` in order to provide graphic +objects, or "widgets," in the NX Graphics Subsystem Some of the features of NXWidgets include: -- Conservative C++ +- **Conservative C++**. NXWidgets is written entirely in C++ but using + only selected "embedded friendly" C++ constructs that are fully + supported under NuttX. No additional C++ support libraries are + required. +- **NX Integration**. NXWidgets integrate seamlessly with the + :ref:`NX graphics subsystem `. Think of the X + server under Linux … the NX graphics system is like a tiny X server + that provides windowing under NuttX. By adding NXWidgets, you can + support graphics objects like buttons and text boxes in the NX + windows and toolbars. +- **Small Footprint**. NXWidgets is tailored for use MCUs in embedded + applications. It is ideally suited for mid- and upper-range of most + MCU families. A complete NXWidgets is possible in as little as 40K of + FLASH and maybe 4K of SRAM. +- **Output Devices**. NXWidgets will work on the high-end frame buffer + devices as well as on LCDs connected via serial or parallel ports to + a small MCU. +- **Input Devices**. NXWidgets will accept position and selection + inputs from a mouse or a touchscreen. It will also support character + input from a keyboard such as a USB keyboard. NXWidgets supports on + very special widget called CKeypad that will provide keyboard input + via an on-screen keypad that can be operated via mouse or touchscreen + inputs. +- **Many Graphic Objects**. Some of the graphic objects supported by + NXWidgets include labels, buttons, text boxes, button arrays, check + boxes, cycle buttons, images, sliders, scrollable list boxes, + progress bars, and more. +- **DOxygen Documentation** DOxygen documentation is available. - NXWidgets is written entirely in C++ but using only selected "embedded - friendly" C++ constructs that are fully supported under NuttX. No additional - C++ support libraries are required. +Note: Many of the fundamental classed in NxWidgets derive from the +Antony Dzeryn's "Woopsi" project which also has a +BSD style license. See the COPYING file for details. -- NX Integration +NXWidgets Doxygen Documentation +=============================== - NXWidgets integrate seamlessly with the NX graphics system. Think of the X - server under Linux – the NX graphics system is like a tiny X server that - provides windowing under NuttX. By adding NXWidgets, you can support graphics - objects like buttons and text boxes in the NX windows and toolbars. +.. todo:: + NXWidgets supports building HTML documentation via Doxygen. We should + integrate this into the Sphinx documentation build. -- Small Footprint - - NXWidgets is tailored for use MCUs in embedded applications. It is ideally - suited for mid- and upper-range of most MCU families. A complete NXWidgets is - possible in as little as 40Kb of FLASH and maybe 4Kb of SRAM. - -- Output Devices - - NXWidgets will work on the high-end frame buffer devices as well as on LCDs - connected via serial or parallel ports to a small MCU. - -- Input Devices - - NXWidgets will accept position and selection inputs from a mouse or a - touchscreen. It will also support character input from a keyboard such as a - USB keyboard. NXWidgets supports on very special widget called ``CKeypad`` that - will provide keyboard input via an on-screen keypad that can be operated via - mouse or touchscreen inputs. - -- Many Graphic Objects - - Some of the graphic objects supported by NXWidgets include labels, buttons, - text boxes, button arrays, check boxes, cycle buttons, images, sliders, - scrollable list boxes, progress bars, and more. - -**Note**: Many of the fundamental classed in NxWidgets derive from the Antony -Dzeryn's _Woopsi_ project: http://woopsi.org/ which also has a BSD style -license. See the ``COPYING`` file for details. +Thanks go to Jose Pablo Carballo for contributing this! Directory Structure ------------------- diff --git a/Documentation/components/index.rst b/Documentation/components/index.rst index 9e00cb0a72..ae0d2a2e70 100644 --- a/Documentation/components/index.rst +++ b/Documentation/components/index.rst @@ -15,7 +15,6 @@ case, you can head to the :doc:`reference <../reference/index>`. drivers/index.rst nxflat.rst nxgraphics/index.rst - nxwidgets.rst paging.rst audio/index.rst filesystem/index.rst diff --git a/Documentation/components/nxwidgets.rst b/Documentation/components/nxwidgets.rst deleted file mode 100644 index 6db9cb69a5..0000000000 --- a/Documentation/components/nxwidgets.rst +++ /dev/null @@ -1,55 +0,0 @@ -.. _nxwidgets: - -========= -NxWidgets -========= - -In order to better support NuttX based platforms, a special graphical -userinterface has been created called NXWidgets. NXWidgets is written in -C++ and integrates seamlessly with the NuttX :ref:`NX graphics -subsystem ` in order to provide graphic -objects, or "widgets," in the NX Graphics Subsystem - -Some of the features of NXWidgets include: - -- **Conservative C++**. NXWidgets is written entirely in C++ but using - only selected "embedded friendly" C++ constructs that are fully - supported under NuttX. No additional C++ support libraries are - required. -- **NX Integration**. NXWidgets integrate seamlessly with the - :ref:`NX graphics subsystem `. Think of the X - server under Linux … the NX graphics system is like a tiny X server - that provides windowing under NuttX. By adding NXWidgets, you can - support graphics objects like buttons and text boxes in the NX - windows and toolbars. -- **Small Footprint**. NXWidgets is tailored for use MCUs in embedded - applications. It is ideally suited for mid- and upper-range of most - MCU families. A complete NXWidgets is possible in as little as 40K of - FLASH and maybe 4K of SRAM. -- **Output Devices**. NXWidgets will work on the high-end frame buffer - devices as well as on LCDs connected via serial or parallel ports to - a small MCU. -- **Input Devices**. NXWidgets will accept position and selection - inputs from a mouse or a touchscreen. It will also support character - input from a keyboard such as a USB keyboard. NXWidgets supports on - very special widget called CKeypad that will provide keyboard input - via an on-screen keypad that can be operated via mouse or touchscreen - inputs. -- **Many Graphic Objects**. Some of the graphic objects supported by - NXWidgets include labels, buttons, text boxes, button arrays, check - boxes, cycle buttons, images, sliders, scrollable list boxes, - progress bars, and more. -- **DOxygen Documentation** DOxygen documentation is available. - -Note: Many of the fundamental classed in NxWidgets derive from the -Antony Dzeryn's "Woopsi" project which also has a -BSD style license. See the COPYING file for details. - -NXWidgets Doxygen Documentation -=============================== - -.. todo:: - NXWidgets supports building HTML documentation via Doxygen. We should - integrate this into the Sphinx documentation build. - -Thanks go to Jose Pablo Carballo for contributing this! diff --git a/Documentation/introduction/about.rst b/Documentation/introduction/about.rst index b7c21dee9c..41b4cd23ea 100644 --- a/Documentation/introduction/about.rst +++ b/Documentation/introduction/about.rst @@ -197,7 +197,7 @@ Key features of NuttX include: * NX: A graphics library, tiny windowing system and tiny font support that works with either framebuffer or LCD drivers. Documented in the :doc:`/components/nxgraphics/index` manual. * Font management sub-system. - * :doc:`/components/nxwidgets`: NXWidgets is library of graphic objects, or "widgets," (labels, + * :doc:`/applications/graphics/nxwidgets/index`: NXWidgets is library of graphic objects, or "widgets," (labels, buttons, text boxes, images, sliders, progress bars, etc.). NXWidgets is written in C++ and integrates seamlessly with the NuttX NX graphics and font management subsystems. * NxWM is the tiny NuttX window manager based on NX and NxWidgets.