XPToolkit Requirements
This is a rather pathetic first cut at XPToolkit requirements. Please
post the real set of requirements to netscape.public.mozilla.xpfe.
We need details about what little we are actually going to build in the
first release, else we will never finish building anything.
Things other groups need from us:
-
XPApps needs toolbars and a tree view asap
-
Layout needs form widgets (which they still "own" I think)
-
Context menus and tooltips
-
Menus and command structure (shared with xpapps, I think)
If you or your team need anything from XPToolkit, get it listed here.
(From the XPFE Architecture
document)
XPFE has two main requirements:
-
XPFE must be cross-platform (at least MS-Windows, XWindows, and Mac)
-
XPFE must support a downloadable UI, where some or all of the UI can be
downloaded.
Requirement #1 - Cross Platform
The challenge of creating a cross-platform GUI is:
-
Create a full-fledged, UI rich application using cross-platform widgets
-
The availablility of a common set of GUI widgets. The UI either ends up
with the "Least Common Denominator" set of widgets or the widget set on
any given native platform is augmented to match the other toolkits.
-
Defining a common resource format for externally describing the static
user interface. A resource file provides a flexible approach because the
UI can be changed without having to re-compile the application.
-
The existence of a file reader for the external resource format and the
conversion of that data into an internal data structure that represents
the widget hierarchy.
-
A cross-platform layout manager.
Existing Raptor technology provides a solution for each of the cross-platform
requirements:
-
The widget toolkit provides a common set of widgets. Missing widgets on
a particular platform (that are available on other native platforms) can
be be written natively or written in a cross-platform manner using GFX.
-
HTML, XML, or any ML can be used to describe the the static layout of the
GUI.
-
Raptor provides an HTML and XML parser and Content Sink. There are DOM
APIs into the Content to enable the the getting and setting of widget properties.
-
Raptor provides a layout engine for laying out the widgets using HTML.
Requirement #2 - Downloadable Chrome
The challenge of providing downable chrome is:
-
Some or all of the chrome needs to be downloaded
-
Is the chrome description completely declaritive or can it be created through
a scritping language?
-
Can the behavior that is associtaed with the chrome be downloaded and "installed"?
-
How can local chrome and NetCenter chrome be merged?
-
Complete separation of GUI static description, GUI "glue" code and the
"core" application
Chrome must support CSS
This page is maintained by Peter
Trudelle, last modified