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 OpenOffice.org. 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 openoffice.org 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 OpenOffice.org 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:

Buttons
Radio Buttons
Check Boxes
Scrollbars
Spin Buttons
Edit Fields
Combo Boxes
List Boxes
Tabs
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