You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
185 lines
10 KiB
185 lines
10 KiB
1.0 2012-03-22 Gregory Nutt <gnutt@nuttx.org> |
|
|
|
* The initial release of the NxWidgets package |
|
|
|
1.1 2012-05-19 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. |
|
* NxWM::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. |
|
* NxWM::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. |
|
|
|
1.2 2012-06-15 Gregory Nutt <gnutt@nuttx.org> |
|
|
|
* NXWidgets::CCallback: callback arguement is now type CCallback and not |
|
CWidgetControl; Added a method to redirect keyboard contacts to either |
|
the widgets in the window (via CWidgetControl) or to an NxConsole (via |
|
nxcon_kbdin()). |
|
* NXWidgets::INxWindow, CBgWindow, CNxTkWindow, CNxToolbar, CNxWindow: |
|
Now pass the CCallback intances as the callback argument instead of |
|
the CWidgetControl instance. New method redirectNxConsole() will |
|
support redirection of any window keyboard input to the NxConsole |
|
(via CCallback). |
|
* NxWM:CNxConsole: Configures the NxConsole window to redirection keyboard |
|
input to the NxConsole; redirects standard input to the NxConsole |
|
device driver. |
|
* NxWM:CKeyboard: Add a new class that implements a keyboard listener |
|
thread. This thread reads from /dev/console and injects the keyboard |
|
input into NX. NX will determine which window is at the top of the |
|
heirarchy and re-direct the keyboard input to only that top window. |
|
This solves an important problem with, for example, running multiple |
|
copies of the NxConsole: On the copy of the NxConsole at the top of |
|
the heirarchy should get the keyboard input. |
|
* UnitTests/nxwm/main.cxx: Now starts the keyboard thread if |
|
CONFIG_NXWM_KEYBOARD is defined. |
|
* NxWM::CTaskbar: After drawing the task bar, need to raise the |
|
application window otherwise the taskbar will be on the top and |
|
keyboard input will not be received by the top application. |
|
* NxWM::CTaskbar: Bugfix... previous window should not be minimized |
|
when a new window is started. It should stay in a maximized state |
|
so that it will re-appear with the window above it is closed or |
|
minimized. |
|
* NxWM::CHexCalculator: Add a hexadecimal/decimal calculator |
|
example. |
|
* NXWidgets::CNxTkWindow: Back out height adjustment in the getSize() |
|
method. The code was correct as it was before. |
|
* NXWidgets::CButtonArray and NXWidgets::CGraphicsPort: There is |
|
a kludge in there to handle the case where we cannot read the |
|
background data because the LCD does not support read operations. |
|
In that case, we just use the default background color. However, |
|
that doesn't work either for the case where the background color |
|
changes when the widget is selected. Then the background color |
|
in the font is wrong. Fixed in CButtonArrary, but the problem |
|
probably exists in other places as well. |
|
* NxWM: Increase default spacing of icons on the Start Window. |
|
* NxWM::CHexCalculator: Fix some non-standard calculator behavior |
|
after = is pressed. Use upper case hex. Increase font size. |
|
* nxwm/Makefile: Fix error that creapt in during some other |
|
recent check-ins. |
|
|
|
1.3 2012-09-29 Gregory Nutt <gnutt@nuttx.org> |
|
|
|
* UnitTests/*/main.cxx: Change entry point name to be consistent |
|
with with entry point naming conventions introduced in NuttX |
|
6.22. |
|
* Kconfig: Added a mconfig configuration file. Eventually, NxWidgets |
|
needs to get hooked into the NuttX mconf configuration. Still not |
|
exactly sure how to do that. |
|
* libnxwidgets/Makefile and NxWidgets/nxwm/Makefile: Need updates |
|
for consistency with recent changes to NuttX build system (>= 6.22) |
|
* Kconfig: Add option to turn on the memory monitor feature of the |
|
NxWidgets/NxWM unit tests. |
|
|
|
1.4 2012-xx-xx Gregory Nutt <gnutt@nuttx.org> |
|
|
|
* libnxwidgets/Makefile, NxWidgets/nxwm/Makefile, and |
|
NxWidgets/UnitTests/nxwm/Makefile: Makefile improvements from |
|
submitted by Petteri Aimonen. Other Makefiles in the UnitTests |
|
directory probably also need these changes. |
|
* libnxwidgets/src/ccallback.cxx: Fix misplaced #endif. Provided |
|
by Petteri Aimonen. |
|
* libnxwidgets/src/cnxserver.cxx: Reduce delay to allow NX server |
|
to start. One second was un-necessarily long. Reduced to 50 MS. |
|
Reduction suggested by Petteri Aimonen. |
|
|
|
|