<?xml version="1.0" encoding="ISO-8859-1"?>

<matrices xml:lang="en" updated="2001-02-09">

<metainfo>
  <title>AbiWord <abbr title="User Interface">UI</abbr> details</title>
  <shortdesc>This matrix describes the current extent of platform-specific support for various <abbr title="User Interface">UI</abbr> features in AbiWord.</shortdesc>
  
  <longdesc>
    <para>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:</para>
    <list>
      <item>Cross-application (<abbr title="cross-application">XAP</abbr>) <abbr title="versus">vs.</abbr> application-specific (<abbr title="application-specific">AP</abbr>)</item>
      <item>cross-platform (<abbr title="cross-platform">XP</abbr>) <abbr>vs.</abbr> platform-specific (Windows, Unix, <abbr title="et cetera">etc.</abbr>)</item>
    </list>
    <para>Any application-specific <abbr>UI</abbr> features which are entirely handled in <abbr>XP</abbr> code (such as keybindings, menu and toolbar layouts, string translations, <abbr>etc.</abbr>) are outside the scope of this document, and thus not listed here.</para>
  </longdesc>

</metainfo>

<header>
  <row>
    <cell value="Feature"/>
    <cell value="XP">Cross-platform.</cell>
    <cell value="Win">Windows version.</cell>
    <cell value="Unix">Unix version.</cell>
    <cell value="Gnome">Gnome version.</cell>
    <cell value="BeOS">Be<abbr title="Operating System">OS</abbr> version.</cell>
    <cell value="QNX">QNX version.</cell>
    <cell value="Mac">MacIntosh version.</cell>
  </row>
</header>

<section>

    <info>
      <heading>Framework</heading>
      <description>Framework code needs to be ported once for each <abbr title="Graphical User Interface">GUI</abbr>, and can then be used in multiple applications.</description>
    </info>

    <matrix>

      <info>
         <heading>Utilities (abi/src/af/util)</heading>
      </info>
      
      <body>

        <row>
          <cell>Assert</cell>
          <cell value="yes"/>
          <cell value="yes"/>
          <cell value="yes"/>
          <cell value="na"/>
          <cell value="unknown"/>
          <cell value="unknown"/>
          <cell value="no"/>
        </row>

        <row>
          <cell>Debug</cell>
          <cell value="yes"/>
          <cell value="yes"/>
          <cell value="yes"/>
          <cell value="na"/>
          <cell value="unknown"/>
          <cell value="unknown"/>
          <cell value="no"/>
        </row>

        <row>
          <cell>String</cell>
          <cell value="yes"/>
          <cell value="yes"/>
          <cell value="yes"/>
          <cell value="na"/>
          <cell value="unknown"/>
          <cell value="unknown"/>
          <cell value="no"/>
        </row>

        <row>
          <cell>Timer</cell>
          <cell value="yes"/>
          <cell value="yes"/>
          <cell value="yes"/>
          <cell value="na"/>
          <cell value="unknown"/>
          <cell value="unknown"/>
          <cell value="no"/>
        </row>

      </body>

    </matrix>

    <matrix>

      <info>
         <heading><abbr title="Two-dimensional">2D</abbr> Graphics (abi/src/af/gr)</heading>
      </info>
      
      <body>

        <row>
          <cell>Graphics</cell>
          <cell value="yes"/>
          <cell value="yes"/>
          <cell value="yes"/>
          <cell value="na"/>
          <cell value="unknown"/>
          <cell value="unknown"/>
          <cell value="no"/>
        </row>

        <row>
          <cell>Fonts</cell>
          <cell value="partially"/>
          <cell value="yes"/>
          <cell value="yes"/>
          <cell value="na"/>
          <cell value="unknown"/>
          <cell value="unknown"/>
          <cell value="no"/>
        </row>

        <row>
          <cell>Images</cell>
          <cell value="partially"/>
          <cell value="yes"/>
          <cell value="yes"/>
          <cell value="na"/>
          <cell value="unknown"/>
          <cell value="unknown"/>
          <cell value="no"/>
        </row>

      </body>

    </matrix>

  </section>

</matrices>

