★ wanayoo — archive 1999 http://www.abisource.com/ui_matrix.htmlNouvelle recherche | Portail wanayoo

The following color-coded matrix describes the current extent of platform-specific support for various UI features in AbiWord, divided into the following four categories:

Unlike most applications, AbiWord was designed from the beginning to be part of a cross-platform suite consisting of multiple applications. Thus, each port of AbiWord combines together a mix of the following four kinds of code: Any application-specific UI features which are entirely handled in XP code (such as keybindings, menu and toolbar layouts, string translations, etc.) are outside the scope of this document, and thus not listed here.

Legend

 This feature is done.
 This feature is not planned for 1.0. If you send us code, you will change our minds.
 This feature is partially done, but needs work
 This feature is done, but is too bug-ridden to be usable
 This feature is not implemented
 Unknown, because bob@abisource.com hasn't "officially" tested it yet.
 Not applicable

To tell if a particular feature is complete across the entire product, look across that row. Likewise, to tell if a particular portion of the product is completely up to date, look down that column.


Framework

Framework code needs to be ported once for each GUI, and can then be used in multiple applications.

Utilities (abi/src/af/util)

xpwinunixgnomebeosqnxmac
Assert yes yes yes n/a    no
Debug yes yes yes n/a    no
String yes yes yes n/a    no
Timer yes yes yes n/a    no

2D Graphics (abi/src/af/gr)

xpwinunixgnomebeosqnxmac
Graphics yes yes yes n/a    no
Fonts (1) yes yes n/a    no
Images (2) yes yes n/a    no
  1. Font handling will eventually need to become more charset-savvy.
  2. Needs switching mechanism to choose converters to PNG from other formats.

Events (abi/src/af/ev)

xpwinunixgnomebeosqnxmac
Menu yes yes yes n/a #483   no
Mouse yes yes yes n/a    no
Keyboard yes yes yes n/a    no
Toolbar yes yes yes n/a    no
  1. All of these could use more platform-specific polishing. (See bugzilla for details)

App-neutral framework (abi/src/af/xap)

xpwinunixgnomebeosqnxmac
App yes yes yes     no
Frame yes yes yes     no
Clipboard yes yes yes n/a    no
DialogFactory yes yes yes n/a    no
TBControlFactory yes yes yes n/a    no
  1. Many of these could use more platform-specific polishing. (See bugzilla for details)

Application

The "other half" of getting the framework ported is to turn on the application-specific logic for AbiWord.

Main (abi/src/wp/main)

xpwinunixgnomebeosqnxmac
Main yes yes yes yes (1) yes yes
  1. BeOS dialog resources should move from here to same subtrees as dialog code.

App-specific logic (abi/src/wp/ap)

xpwinunixgnomebeosqnxmac
App yes yes yes     no
Frame yes yes yes n/a    no
Clipboard yes yes yes n/a    no
DialogFactory yes yes yes     no
TBControlFactory yes yes yes n/a    no
LeftRuler (1) yes yes n/a    no
TopRuler (1) yes yes n/a    no
Prefs yes yes yes n/a    no
StatusBar yes yes yes n/a    no
TB_FontCombo (2) yes yes n/a    no
TB_SizeCombo (2) yes yes n/a    no
TB_StyleCombo (2) yes yes n/a    no
TB_ZoomCombo (2) yes yes n/a    no
  1. Rulers have a number of problems at boundary cases. (See bugzilla for details)
  2. Toolbar combo behaviors constrained by lack of an app-wide focus model.

Dialogs (XAP)

Some dialogs can be used across multiple applications (XAP).

xpwinunixgnomebeosqnxmac
MessageBox yes yes yes n/a    no
File / Open, SaveAs (2) yes yes n/a #473 no no
File / Print yes yes yes n/a   no no
View / Zoom (3) yes yes (1)   no no
Format / Font yes yes #584 n/a   no no
Window / More yes yes yes n/a no no no
Help / About yes yes yes n/a   no no
  1. Gnome dialogs duplicate too much GTK code.
  2. Open & Save dialogs need to handle and propagate various errors better. (See bugzilla for details.)
  3. Zoom dialog needs view-level support for page width and full-page options.

Dialogs (AP)

Most of the AbiWord dialogs are application-specific.

xpwinunixgnomebeosqnxmac
File / PageSetup no no no no no no no
Edit / Replace #310, #375 yes yes (1)   no no
Edit / Goto POW no no no no no no
Edit / Spell (3), #581 yes yes (1) (2) no no
Edit / Options (4) (2), #693 (4) no no no no
Insert / Break (5) yes yes (1)   no no
Insert / PageNumber (6) no no no no no no
Insert / DateTime (6,7) (7) no no no no no
Insert / Field (6) no no no no no no
Insert / Symbol no no no no no no no
Format / Paragraph (8), #594, #607, #624 yes (9) (1) no no no
Format / Bullets no no no no no no no
Format / Borders no no no no no no no
Format / Column no no no no no no no
Format / Tab (10) no (10) no no no no
Format / Style no no no no no no no
Tools / WordCount POW no no no no no no
  1. Gnome dialogs duplicate too much GTK code.
  2. Dialog laid out, but not hooked up.
  3. Spell dialog, with suitable API changes, could probably be XAP instead.
  4. Options dialog needs a simpler UI.
  5. Break dialog needs view-level support for even/odd pages.
  6. Several dialogs need piece table support for field containers.
  7. DateTime should optionally update automatically.
  8. Paragraph dialog doesn't do enough range checking, also needs more view-level property support.
  9. Paragraph dialog needs spinner and tristate GTK widgets.
  10. Tab dialog needs view-level tab leader support.

Last edited 01/17/2000