forked from Archive/PX4-Autopilot
112 lines
6.5 KiB
Plaintext
112 lines
6.5 KiB
Plaintext
1.0 2012-03-22 Gregory Nutt <gnutt@nuttx.org>
|
|
|
|
* The initial release of the NxWidgets package
|
|
|
|
1.1 2012-xx-xx Gregory Nutt <gnutt@nuttx.org>
|
|
|
|
* Updated and verified the NxWidgets DOxygen documentation. Contributed
|
|
by Jose Pablo Carballo.
|
|
* IBitmap, CRlePalettBitmap: Extended class to support differnt LUTs
|
|
for selected and non-selected images.
|
|
* CImage: If selected, uses different LUTs based, different borders.
|
|
CImage is now basically a button type.
|
|
* CImage: Add logic to hightlight an CImage (using the selected LUT).
|
|
* nxwm: The tiny NX window manager (NxWM) is being developed in this directory.
|
|
* UnitTests/nxwm: A unit test for the NX window manager.
|
|
* 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).
|
|
* During integration of NxWM, corrected numerous problems with NxWidgets
|
|
running on toolbars and framed windows. That capability was commented
|
|
out in the 1.0 release but is verfied functional in 1.1.
|
|
* CRlePalettBitmap: Fix an error in the text that determines if we
|
|
need to "rewind" to the beginning of the image.
|
|
* CRlePalettBitmap: Fixe a positioning problem. It was actually losing
|
|
the last row of every image!
|
|
* CNxWidget: Removed support for "shelving" widgets. I will be removing
|
|
some lesser used feature over time in order to reduce the NxWidgets
|
|
footprint.
|
|
* CNxWidget: Removed support for reference constants and close types.
|
|
The goal is to ge the base widget class as small as possible.
|
|
* CNxTkWindow: Fix uninitialized pointer value.
|
|
* CNxToolbar: Need to "fake" the fix position callback to avoid
|
|
deadlock waits for the callback that won't happen.
|
|
* CNxTkWindow: Fix toolbar background color
|
|
* CWidgetControl: Don't declare the the geometry is good until a non-NULL
|
|
window size is received.
|
|
* CGraphicsPort and CWidgetControl: If the underlying graphics device
|
|
is write-only, then we have to render fonts a little differently.
|
|
* CNxWidgets, CWidgetControl, and CRectCache: Big change! Remove all support
|
|
for widgets in a "vertical" hierarchy. Now widgets exist in a flat,
|
|
two-dimensional space and should not overlap. This should greatly
|
|
reduce the memory requirements and, since, NuttX already supports
|
|
a hierarchical windowing system, does not result in loss of functionality.
|
|
* CNxWidgets and CWidgetControl. Remove specific built-in support for
|
|
modal loops. There are too many different control mechanisms that might
|
|
be needed. Replace with hooks to control widget events from totally
|
|
external logic.
|
|
* CWindowEventHandler, CWindowEventHandlerList, CWidgetControl: New
|
|
callback classes to receive notifications about window events.
|
|
* NxWM::CFullScreenWindow and NxWM::CTaskbar: Add support in NxWM for full
|
|
screen window applications.
|
|
* All application windows now use CWindowEventHandler and CWindowEventHandlerList
|
|
to get notifications about mouse and keyboard events. These class will
|
|
then automatically handle polling (with no need for a modal loop).
|
|
* NxWM::CTouchscreen and NxWM::CCalibration: Add touchscreen support (still a long
|
|
way to go).
|
|
* NxWM::g_playBitmp: Change the play icon again. These tiny touch icons
|
|
must be very simple.
|
|
* NxWM::CCalibration: Beef up touch input handling logic. Now changes the
|
|
color of the touch circle to yellow when it is touched.
|
|
* NxWM::CTouchscreen: Do not read touchscreen data when there is no consumer.
|
|
* NxWM::CWindowControl: Add new class to wrap CWidgetControl and provide
|
|
some special mouse and keyboard input event handling.
|
|
* NxWM::CTaskbar: Correct the calculation of the physical size of the
|
|
display.
|
|
* NxWM::CCalibration: run method must clear m_stop when returning, or you can
|
|
never restart the Calibration window.
|
|
* NxWM::CTaskbar: On a failure to start an application, the application icon
|
|
CImage was being deleted twice.
|
|
* NXWidgets::CImage: Now handles mouse click callbacks. CImage is now really
|
|
a button. Probably should separate basic imaging functionality as CImage
|
|
and create a new CImageButton.
|
|
* NxWM::CStartWindow: Now ignores any close application button presses
|
|
(You can't close the start window).
|
|
* NxWM::CCalibration: The calibration application now has its own thread.
|
|
This was necessary for a proper integration with the taskbar.
|
|
* NxWM::CCalibration and NxWM:CTouchscreen: Changed the mechanism use
|
|
to report calbration data. It is now reported directly from CCalibration
|
|
to CTouchscreen. If external logic needs calibration, it can now get it
|
|
from CTouchscreen instead of CCalibration. This change was necessary
|
|
to make the termination conditions of CCalibration clean (it used to
|
|
have to persist until some external logic got the Calibration data).
|
|
* IApplication, IApplicationWindow, and all classes that inherit from
|
|
these: Now support method to report if the application is a full-screen
|
|
or a normal application. This is necessary to prevent CTaskbar from
|
|
displaying a task bar on top of a full-screen window.
|
|
* NxWM::CTaskbar: Ooops... minimizing the wrong application!
|
|
* NxWM::CNxConsole: Add a on_exit() exit handler that will close the
|
|
NxConsole window when the NSH thread exits. A correct build now depends
|
|
on having CONFIG_SCHED_ONEXIT defined.
|
|
* NXWidgets::CNxWidget: Add a new onPreRelease() method.
|
|
* NXWidgets::CButton, CButtonArry, CImage now post action event at pre-release time.
|
|
* NxWM: ICON touches are now drive by action events instead of click events.
|
|
* NXWidgets::CNxTkWindow: Reported size of a framed window must exclude the
|
|
height of the tool bar (if present)
|
|
* TODO.txt: Add a file to keep track of issues.
|
|
* NXWidgets::CStartWindow and IApplicationFactory: This is a substantial
|
|
redesign. IApplication wraps an application. However, if we want to
|
|
be able to start multiple copies of an application, then we need to
|
|
be able to create multiple IApplication instances from the start window.
|
|
Enter IApplicationFactory. Icons in the start window now correspond
|
|
to application factories; icons in the task bar no correspond to
|
|
application instances.
|
|
* NXWidgetes::CStartWindow and CWindowControl: The above change necessitated
|
|
another architectural change: When create applications, it is sometimes
|
|
necessary to wait for windows events. The above change moved the
|
|
application creation to the window event thread, hence, causing deadlocks
|
|
wheneven the logic tried to wait for a window event. The solution was
|
|
to create a new thread, called the start window thread, that runs
|
|
asynchronously and can wait for windoew events.
|
|
* doc/NxWM-ThreadingModel.ppt: Documented the now rather complex NxWM
|
|
threading model.
|