Native Widget Framework (NWF)

The NWF, starting in March/April 2003 with posts to dev@gsl, is an extensible way to use the native look and feel of the host platform as the GUI of The goals were to be minimally invasive, but maximize the visual appeal in the shortest time possible. The project has proved to be fairly simple and easy to code thus far. All work is in OOo CVS, in the 'cws_srx645_nativewidget1' CVS tag.

The GSL project on hosts the design document and specification for the NWF (Download). The architecture incldues a fallback mechanism, allow each platform to incrementally enable a native look for each widget. The currently supported platforms are GTK+ (Dan Williams), Win32 (Stephan Schaefer), and KDE/Qt (Jan Holesovsky), with an Aqua version planned (and already implemented in the external NeoOffice project).

The widget set is fairly complete, and most widgets are now native on Win32 and GTK. Some work on widget states (ie enabled, disabled, highlited, etc) still needs to be done as can be seen in the m8blue screenshot's scrollbar buttons. All in all, this project has been a success and has proven a fairly effective way of updating the look of to match its native environment. Integration into the mainline OOo sources could happen as early as 1.1.2, tentatively targetted for March/April 04.

Update (Feb 13th, 2004)

Work has been progressing rather well, mostly with cleanups of existing code and making sure all themes and widgets work. For example, the default button adornment in GTK NWF was recently fixed, and 4-button scrollbars were added to the KDE/Qt NWF, and prelight/highlight ability was added to all themes. The list of widgets currently native include:

Radio Buttons
Check Boxes
Spin Buttons
Edit Fields
Combo Boxes
List Boxes
Tab Panes

Future work will include more cleanups, making prelight/highlight work correctly with all controls, and perhaps adding more controls to the native list.

GNOME/GTK Screenshots
Windows XP Screenshots
KDE/Qt Screenshots & Info

GNOME/GTK Screenshots

Red Hat Bluecurve(TM) theme

6nome-sandy theme

Crux theme

GTK XP theme

m8blue theme

Windows XP Screenshots

Courtesy Stephan Schaefer