forked from Archive/PX4-Autopilot
147 lines
6.4 KiB
Plaintext
147 lines
6.4 KiB
Plaintext
NxWidgets-1.0
|
|
=============
|
|
|
|
The initial version of NxWidgets was released on March 22, 2012. This
|
|
package has been used in several projects prior to its release to open
|
|
source and is considered stable its initial release (although not all
|
|
features have been fully verified).
|
|
|
|
NxWidgets-1.1
|
|
=============
|
|
|
|
The 2nd release of the NxWidgets package was made on May 19, 2012. The
|
|
headline new feature in this release is:
|
|
|
|
* NxWM, the tiny window manager based on NX and NxWidgets. NxWM is true
|
|
multiple window manager but only one window is displayed at a time.
|
|
This simplification helps performance on LCD based products (in the
|
|
same way that a tiled window manager helps) and also makes the best
|
|
use of small displays. It is awkward from a human factors point-of-view
|
|
trying to manage multiple windows on a small display.
|
|
|
|
The window manager consists of a task bar with icons representing the
|
|
running tasks. If you touch the task's icon, it comes to the top. Each
|
|
window has a toolbar with (1) a title, (2) a minimize button, and (3) a
|
|
stop application button using the standard icons for these things. User
|
|
input via a touchscreen or mouse and keyboard is supported.
|
|
|
|
There is always a start window that is available in the task bar. When
|
|
you touch the start window icon, it brings up the start window containing
|
|
icons representing all of the available applications. If you touch an
|
|
icon in the start window, it will be started and added to the task bar.
|
|
|
|
There is a base class that defines an add-on application and an
|
|
interface that supports incorporation of new application. The only
|
|
application that is provided is NxConsole. This is an NSH session
|
|
running in a window. You should be able to select the NX icon in the start
|
|
menu and create as many NSH sessions in windows as you want. (keybard input
|
|
still comes through serial).
|
|
|
|
This initial realease of NxWM should be considered an alpha release.
|
|
All know issues are listed in the top-level TODO list.
|
|
|
|
Other important new features include:
|
|
|
|
* NxWidgets::IBitmap and NxWidgets::CRlePalettBitmap: Extended to
|
|
support different color look-up-tables (LUTs). This allows images
|
|
to be highlighted when touched, for example.
|
|
* NxWidgets::CImage: Extended to support button-like behavior. CImage
|
|
widgets now work well as touchable icons.
|
|
* NxWidgets::CWidgetControl: Add a semaphore to force clients to wait if the
|
|
size or position of the window is not yet known (multi-user mode only).
|
|
Enabled and verified creation of framed windows.
|
|
* NxWidgets::CWindowEventHandler and NxWidgets::CWindowEventHandler: Add
|
|
support for getting callbacks for window events.
|
|
* DOxygen documentation support. Contributed by Jose Pablo Carballo.
|
|
|
|
An effort is underway to simplify NxWidgets and reduce its memory footprint:
|
|
|
|
* NxWidgets::CNxWidget: Removed support for "shelving" widgets, reference
|
|
constants, and close types. Remove all support for widgets in a "vertical"
|
|
hierarchy. Now widgets exist in a flat, two-dimensional space and should
|
|
not overlap. Removed built-in modal loops.
|
|
|
|
Bug fixes include changes to the following (see the ChangeLog for details):
|
|
|
|
* NxWidgets::CRlePalettBitmap, NxWidgets::CRlePalettBitmap,
|
|
NxWidgets::CGraphicsPort, NxWidgets::CWidgetControl
|
|
|
|
NxWidgets-1.2
|
|
=============
|
|
|
|
The 3rd release of the NxWidgets package was made on June 15, 2012. This
|
|
release depends on NuttX-6.19 or above and should not be used with older
|
|
NuttX releases.
|
|
|
|
New features and enhancements include:
|
|
|
|
* NxWM::CNxConsole: The NxWM NxConsole windows now correctly receive keyboard
|
|
input. In version 1.1, NxConsoles received input from /dev/console. That,
|
|
of course, leads to chaos when there a multiple windows trying to get input
|
|
from the same device. There is now a keyboard listener task that will
|
|
accept input from /dev/console and inject that input into the NX keyboard
|
|
interface. NX will give the keyboard input only to the top window that
|
|
has focus, eliminating the chaos.
|
|
|
|
* NxWM::CHexcalculator: The NxWM demonstration/unit test now includes a hex
|
|
calculator applications. This demonstrates the use of arrays of buttons
|
|
within a window.
|
|
|
|
Bugfixes:
|
|
|
|
* NxWM::CTaskbar: Was inappropriately minimizing some windows. Fixes
|
|
some window raising/lowering bugs.
|
|
|
|
* NXWidgets::CButtonArray: Fix some coloring problems when rending button
|
|
text in cases where we cannot read from the display device.
|
|
|
|
As well as other, less critical bugs (see the ChangeLog for details)
|
|
|
|
NxWidgets-1.3
|
|
=============
|
|
|
|
The 4th release of the NxWidgets package was made on September 29, 2012. This
|
|
release depends on NuttX-6.22 or above and should not be used with older
|
|
NuttX releases.
|
|
|
|
There are no functional changes in this release of NxWidgets. This release
|
|
is required in order to retain compatibility with the most recent versions
|
|
of NuttX. These comptibility changes include:
|
|
|
|
* Naming of function entry points
|
|
* Build system changes
|
|
* Changes needed for the NuttX configuration tool
|
|
|
|
NxWidgets-1.4
|
|
=============
|
|
|
|
The 5th release of the NxWidgets package was made on December 20, 2012. This
|
|
release depends on NuttX-6.24 or above and should not be used with older
|
|
NuttX releases. This release corresponds to SVN revision r5447.
|
|
|
|
Note: Nearly all changes between 1.3 and 1.4 were the result of the efforts
|
|
of Petteri Aimonen.
|
|
|
|
Additional new features and extended functionality in Version 1.4:
|
|
|
|
* NxWdigets::CNxServer: Reduce start-up delay
|
|
* NxWM::CApplicationWindow: Option to eliminate minimize button.
|
|
* NxWM::CTaskbar: Option to eliminte the background image; highlight current
|
|
icon in the task bar.
|
|
* NxWidgets::CNumericEdit: New widget. Basically a CLabel with +/- buttons.
|
|
* NxWidgets::CNxTimer: Replace the original signal-based solution with a
|
|
work queue-based solution. This raises some isses about using the
|
|
internal work queues from user space.
|
|
* Build System: Misc improvements.
|
|
* Tools: bitmap_converter.py will convert images to NxWidgets RLE-encoded format.
|
|
|
|
Bugfixes (see the change log for details). Some of these are very important
|
|
(marked *critical*):
|
|
|
|
* NxWidgets::CCallback: Misplaced #endif
|
|
* NxWM::CCalculator and NxWM::CStartWindow: Add forward declaration for icon images.
|
|
* glych_cycle: Correct width, destructor needs to be public.
|
|
* NxWidgets:CText and NxWidgets:CNumericEdite: Fix some memory freeing bugs
|
|
* NxWidgets::CScrollingPanel: It is borderless for now because there was no
|
|
easy way to redraw only the required part of the border.
|