# AbiWord UI details

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

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.

Cross-platform.
Windows version.
Unix version.
Gnome version.
BeOS version.
QNX version.
Macintosh version.
Framework
Framework code needs to be ported once for each GUI, and can then be used in multiple applications.
Utilities (abi/src/af/util)
Assert
Debug
String
Timer

Two-dimensional

2D
Graphics (abi/src/af/gr)
Graphics
Fonts
Images
Events (abi/src/af/ev)
Menu
Mouse
Keyboard
Toolbar
Application-neutral framework (abi/src/af/xap)
App
Frame
Clipboard
DialogFactory

Toolbar

TB
ControlFactory
Application
The other half of getting the framework ported is to turn on the application-specific logic for AbiWord.
Main (abi/src/wp/main)
Main
Application-specific logic (abi/src/wp/ap)
App
Frame
Clipboard
DialogFactory

Toolbar

TB
ControlFactory
LeftRuler
TopRuler
,
Prefs
StatusBar

Toolbar

TB
_FontCombo

Toolbar

TB
_SizeCombo

Toolbar

TB
_StyleCombo

Toolbar

TB
_ZoomCombo
Dialogs (XAP)
Some dialogs can be used across multiple applications.
MessageBox
File / Open, SaveAs
File / Print
View / Zoom
Format / Font
Window / More
Help / About
Dialogs (AP)
Most of the AbiWord dialogs are application-specific.
File / PageSetup
Edit / Find
Edit / Replace
Edit / Goto
Insert / Break
Insert / PageNumber
Insert / DateTime
Insert / Field
Insert / Symbol
Format / Paragraph
, , ,
Format / Bullets
Format / Columns
Format / Tabs
Format / Change Case
Format / Style
Tools / Spelling / Spelling
Tools / Language / Language
Tools / WordCount
Tools / Preferences