Description: This matrix describes the current extent of platform-specific support for various UI features in AbiWord.

# AbiWord UI details

This matrix describes the current extent of platform-specific support for various UI features in AbiWord. It’s divided into 4 categories:

- Framework
- Application
- Dialogs (XAP)
- Dialogs (AP)

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:

- Cross-application (XAP) vs. application-specific (AP)
- Cross-platform (XP) vs. platform-specific (Windows, Unix, etc.)

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.

An explanation of the column headings is available at the bottom of the document.

## Legend

yes | This feature is done/working.
later | This feature is not planned for 1.0. If you send us code, you will change our minds.
partially | This feature is partially done, but needs work.
buggy | This feature is done, but is too bug-ridden to be usable.
no | This feature is not implemented.
unknown | The status of this feature is unknown.
n/a | Not applicable.

## Framework

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

### Utilities (abi/src/af/util)

| XP | Win | Unix | Gnome | BeOS | QNX | Mac
--- | --- | --- | --- | --- | --- | --- | ---
Assert | yes | yes | yes | n/a | unknown | unknown | no
Debug | yes | yes | yes | n/a | unknown | unknown | no
String | yes | yes | yes | n/a | unknown | unknown | no
Timer | yes | yes | yes | n/a | unknown | unknown | no

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

| XP | Win | Unix | Gnome | BeOS | QNX | Mac
--- | --- | --- | --- | --- | --- | --- | ---
Graphics | yes | yes | yes | n/a | unknown | unknown | no
Fonts | 1212 | yes | yes | n/a | unknown | unknown | no
Images | 1213 | yes | yes | n/a | unknown | unknown | no

### Events (abi/src/af/ev)

| XP | Win | Unix | Gnome | BeOS | QNX | Mac
--- | --- | --- | --- | --- | --- | --- | ---
Menu | yes | yes | yes | n/a | 483 | unknown | no
Mouse | yes | yes | yes | n/a | unknown | unknown | no
Keyboard | yes | yes | yes | n/a | unknown | unknown | no
Toolbar | yes | yes | yes | n/a | unknown | unknown | no

### Application-neutral framework (abi/src/af/xap)

| XP | Win | Unix | Gnome | BeOS | QNX | Mac
--- | --- | --- | --- | --- | --- | --- | ---
App | yes | yes | yes | unknown | unknown | unknown | no
Frame | yes | yes | yes | unknown | unknown | unknown | no
Clipboard | yes | yes | yes | n/a | unknown | unknown | no
DialogFactory | yes | yes | yes | n/a | unknown | unknown | no
TBControlFactory | yes | yes | yes | n/a | unknown | unknown | no

## Application

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

### Main (abi/src/wp/main)

| XP | Win | Unix | Gnome | BeOS | QNX | Mac
--- | --- | --- | --- | --- | --- | --- | ---
Main | yes | yes | yes | yes | 1214 | yes | yes

### Application-specific logic (abi/src/wp/ap)

| XP | Win | Unix | Gnome | BeOS | QNX | Mac
--- | --- | --- | --- | --- | --- | --- | ---
App | yes | yes | yes | unknown | unknown | unknown | no
Frame | yes | yes | yes | n/a | unknown | unknown | no
Clipboard | yes | yes | yes | n/a | unknown | unknown | no
DialogFactory | yes | yes | yes | unknown | unknown | unknown | no
TBControlFactory | yes | yes | yes | n/a | unknown | unknown | no
LeftRuler | 1215 | yes | 694, 766 | n/a | unknown | unknown | no
TopRuler | 879 | yes | 384, 694 | n/a | unknown | unknown | no
Prefs | yes | yes | yes | n/a | unknown | unknown | no
StatusBar | yes | yes | yes | n/a | unknown | unknown | no
TB_FontCombo | 1215 | yes | yes | n/a | unknown | unknown | no
TB_SizeCombo | 1215 | yes | yes | n/a | unknown | unknown | no
TB_StyleCombo | 1215 | yes | yes | n/a | unknown | unknown | no
TB_ZoomCombo | 1215 | yes | yes | n/a | unknown | unknown | no

## Dialogs (XAP)

Some dialogs can be used across multiple applications.

| XP | Win | Unix | Gnome | BeOS | QNX | Mac
--- | --- | --- | --- | --- | --- | --- | ---
MessageBox | yes | yes | yes | n/a | unknown | unknown | no
File / Open, SaveAs | yes | yes | yes | n/a | unknown | no | no
File / Print | yes | yes | yes | n/a | unknown | no | no
View / Zoom | yes | yes | yes | unknown | unknown | no | no
Format / Font | yes | yes | 584 | n/a | unknown | no | no
Window / More | yes | yes | yes | n/a | no | no | no
Help / About | yes | yes | yes | n/a | unknown | no | no

## Dialogs (AP)

Most of the AbiWord dialogs are application-specific.

| XP | Win | Unix | Gnome | BeOS | QNX | Mac
--- | --- | --- | --- | --- | --- | --- | ---
File / PageSetup | no | yes | no | no | no | no | no
Edit / Find | unknown | yes | unknown | unknown | unknown | unknown | no
Edit / Replace | yes | yes | yes | unknown | unknown | no | no
Edit / Goto | POW | yes | no | no | no | no | no
Insert / Break | yes | yes | yes | unknown | unknown | no | no
Insert / PageNumber | no | yes | no | no | no | no | no
Insert / DateTime | 1219 | 1219 | no | no | no | no | no
Insert / Field | yes | yes | unknown | unknown | unknown | unknown | unknown
Insert / Symbol | no | 1237 | no | no | no | no | no
Format / Paragraph | 1220, 594, 607, 624 | yes | 911 | unknown | no | no | no
Format / Bullets | no | no | no | no | no | no | no
Format / Columns | no | yes | no | no | no | no | no
Format / Tabs | yes | yes | yes | no | no | no | no
Format / Change Case | unknown | 1231 | unknown | unknown | unknown | unknown | unknown
Format / Style | no | no | no | no | no | no | no
Tools / Spelling / Spelling | 1217 | yes | yes | unknown | unknown | no | no
Tools / Language / Language | unknown | 1232 | unknown | unknown | unknown | unknown | unknown
Tools / WordCount | POW | yes | unknown | unknown | unknown | unknown | unknown
Tools / Preferences | 1218 | yes | 1218 | no | no | no | no

## Column explanation

XP
  Cross-platform.
Win
  Windows version.
Unix
  Unix version.
Gnome
  Gnome version.
BeOS
  BeOS version.
QNX
  QNX version.
Mac
  MacIntosh version.

Last updated: 2001-03-19