platform-update-home/doc/eclipse_about_dialogs.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (download) (as text) (annotate)
Fri May 17 18:21:03 2002 UTC (7 years, 6 months ago) by jeem
Branch: MAIN
Post note on About dialogs
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>Eclipse About Dialogs</title>
</head>

<body>

<h1>Eclipse About Dialogs</h1>
<p>Last revised 14:30 Friday May 17, 2002</p>
<p>This note describes how Eclipse &quot;about&quot; dialogs work.</p>
<h2>What product developers need to know</h2>
<p>Eclipse has an &quot;about&quot; dialog that is shown to the user when they
select the &quot;About&quot; item from the workbench
&quot;Help&quot; menu. The workbench constructs this dialog using
information supplied by features and plug-ins. Product-specific information comes from the product's primary
feature; information about individual features and plug-ins come from each
installed and configured feature and plug-in. The &quot;about&quot; dialog is adjusted
automatically as new features and plug-ins are added, or existing ones upgraded.</p>
All plug-ins must have a file named &quot;<code>about.html</code>&quot; in the plug-in
directory containing a description of the plug-in. This page is shown (in a
standard web browser) when the user explicitly requests information about the
plug-in from the plug-in &quot;about&quot; dialog.&nbsp;
<p>Features plug-ins contain additional files (&quot;<code>about.ini</code>&quot;
together with optional companion files &quot;<code>about.properties</code>&quot;
and
&quot;<code>about.mappings</code>&quot; plus various image files) that provide
text and images that are presented on the &quot;about&quot; dialogs.</p>
<p>A feature's &quot;about&quot; information is given by properties in the
&quot;<code>about.ini</code>&quot; file located within the feature's <i>plug-in</i>. This is
a <a href="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html">java.io.Properties</a>
format file (ISO 8859-1 character encoding with \u<i>xxxx </i>Unicode escapes),
with the following keys:</p>
        <ul>
          <li>&quot;<code>aboutText</code>&quot; - A multi-line text description of the feature
            containing copyright, license terms, license
        registration info, etc. URLs found in text are presented as links. Line
            breaks are indicated by &quot;<code>\n</code>&quot;; lines should be
            no longer than 75 characters each, and there is a limit of 15 lines.
            This information is shown in the main &quot;about&quot; dialog (used
            in conjunction with a half-sized image), and on the secondary &quot;about&quot;
            dialog describing individuals feature. All features
            are required to have this property.</li>
          <li>&quot;<code>windowImage</code>&quot; - A 16x16 pixel color image used to brand
            windows created by a product. The value of this property is a plug-in-relative path to an image
            file. This property is only required for primary features; other
            features may omit it.</li>
          <li>&quot;<code>featureImage</code>&quot; - A 32x32 pixel color image used
            as an icon for this feature. The value of this property is a plug-in-relative path to an image
            file. This image is shown on the &quot;about&quot; dialog describing
            individual features, and is also used on the main &quot;about&quot; dialog
            to indicate that the feature is present. This property is
            optional. Related features supplied by a single provider should
            contain copies of the identical image file; this allows duplicate
            images to be eliminated.</li>
          <li>&quot;<code>aboutImage</code>&quot; - A large color image that appears in the
            main &quot;about&quot; dialog for a product. The value of this
            property is a plug-in-relative path to an image file. This property
            is only
            required for primary features; other features should omit it. Both
            graphic-and-text, and graphic only layouts are supported, depending
            on the size of image provided. A half-size image of up to 250 pixels
            wide by 330 pixels high is shown on the main &quot;about&quot; dialog
            with text (&quot;<code>aboutText</code>&quot; property) beside it. A
            full-size image of up to 500 pixels wide by 330 pixels high is shown without
            text.</li>
          <li>&quot;<code>welcomePage</code>&quot;&nbsp; - A welcome page. The
            value of this property is a plug-in-relative path to an XML-format
            file containing the feature's welcome page. This property is
            recommended for all major features; other features may omit it.</li>
          <li>&quot;<code>welcomePerspective</code>&quot;&nbsp; - The preferred
            perspective in which to show the welcome page. The
            value of this property is a workbench perspective id. This property is
            recommended for features with welcome pages that show better in the
            context of the feature's views and editors. Features that do not
            have welcome pages, or have no strong opinion where the welcome
            pages is shown, should omit it.</li>
          <li>&quot;<code>appName</code>&quot; - A short string used to
            associate a name with the application on platforms where this makes
            sense. In operating environments with the Motif window system, the
            value is used for Motif resource lookup (see xrdb and related). In
            addition, on the CDE window manager (used on Solaris and AIX), this
            is the name which shows up under the icon for windows which are
            minimized to the desktop. This property is required for primary features;
            other features may omit it.</li>
        </ul>
<p>More generally, every plug-in (not just feature plug-ins) should have an
&quot;<code>about.html</code>&quot; file containing information about that plug-ins.</p>
<p>Translatable strings in &quot;<code>about.ini</code>&quot; (the &quot;<code>aboutText</code>&quot;
and &quot;<code>appName</code>&quot; properties) should be extracted into a
companion &quot;<code>about.properties</code>&quot; file (using &quot;<code>%<i>var</i></code>&quot; as
the value in &quot;<code>about.ini</code>&quot; paired with an entry for the key &quot;<i><code>var</code></i>&quot;
in the &quot;<code>about.properties</code>&quot; file; analogous to the way translatable strings in
&quot;<code>plugin.xml</code>&quot; are extracted to &quot;<code>plugin.properties</code>&quot;). The
&quot;<code>about.properties</code>&quot; file is also a&nbsp; <a href="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html">java.io.Properties</a>
format file (ISO 8859-1 character encoding with \u<i>xxxx </i>Unicode escapes).
Various translations of the &quot;<code>about.properties</code>&quot; file are located in
NL-specific subdirectories; for example, for the &quot;<code>fr_FR_EURO</code>&quot; locale,
the file would be found in &quot;<code>nl/fr/FR/EURO/about.properties</code>&quot; located
within the feature's plug-in (possibly within a plug-in fragment).</p>
<p>Translated image files are also looked for in NL-specific subdirectories
within the feature plug-in or fragment thereof.</p>
<p>There is an additional mechanism for supplying values for fill-in fields for the &quot;<code>aboutText</code>&quot;
        property. The file, named &quot;<code>about.mappings</code>&quot;, is typically created
or appended to when a feature is installed and
        contains install-time information such as the license
        key and the name of the licensed user. The
&quot;<code>about.mappings</code>&quot; file is also a&nbsp; <a href="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html">java.io.Properties</a>
format file (ISO 8859-1 character encoding with \u<i>xxxx </i>Unicode escapes).
The keys are integers: &quot;<code>0</code>&quot;, &quot;<code>1</code>&quot;, etc.
The value of &quot;<code>0</code>&quot; is substituted for the substring &quot;<code>{0}</code>&quot;,
in standard java.text.MessageFormat fashion. The &quot;<code>about.mappings</code>&quot;
file is only required when the &quot;<code>aboutText</code>&quot;
        property contains fill-in fields.</p>
<p>Example:</p>
<p>File <code>about.ini</code> (this file does not get translated):</p>
<blockquote>
  <p><code>appName=%appName<br>
  aboutText=%blurb<br>
  windowImage=acme-16.gif<br>
  featureImage=acme-32.gif<br>
  aboutImage=about-acme.gif<br>
  welcomePage=acme-welcome.xml<br>
  welcomePerspective=org.eclipse.ui.resourcePerspective<br>
  </code></p>
</blockquote>
<p>File <code>about.properties</code> (this file gets translated):</p>
<blockquote>
  <p><code>appName=Anvil<br>
  blurb=\<br>
  Acme Anvil 1.0.0 (build {0})\n\<br>
  Product id: {1}\n\<br>
  This
                product licensed to {2}\n\<br>
  Visit our web site at http://acme.example.com<br>
  </code></p>
</blockquote>
<p>File <code>about.mappings</code> (this file does not get translated):</p>
<blockquote>
  <p><code>0=887<br>
  1=T42-24T-ME4U-U4ME<br>
  2=Wile E. Coyote</code></p>
</blockquote>
<h2>What product developers do not need to know</h2>
<p><b>N.B. The details in this section are not Eclipse platform API, and may
change over time. Do not rely on anything described in this section.</b></p>
<p>The &quot;about&quot; dialog presents information at three levels: product,
feature, and plug-in. Product information appears front-and-center on the main
&quot;about&quot; dialog; this information comes from the product's primary
feature plug-in. Feature information appears on a second dialog containing a table
of all configured features. Plug-in information appears on a third dialog containing a table of all configured plug-ins.</p>
<p>The main dialog is designed to give primary billing to the product, and
secondary billing to other features. The product gets most of the screen real
estate to show a large graphic, or a half-sized graphic plus text with embedded
hyperlinks. Underneath the product's area are a bar of 32x32 images for the
various other features. Selecting one of the feature images opens the second dialog
feature dialogs and selects the corresponding feature in the list.
Duplicate images are eliminated (based on comparing CRC-32 of the image file
bytes). The feature images are ordered by feature id. There are buttons at
bottom of the main dialog to allow the user to drill down to find out about
individual features and plug-ins.</p>
<p>The features dialog has a table of features; the columns are provider name,
feature name, and feature version. Selecting any of the features shows the
feature's 32x32 image (&quot;<code>featureImage</code>&quot; property) and blurb (&quot;<code>aboutText</code>&quot;
property) in the area below the table (room for 15 lines, 75 characters per
line). URL in the text look
and act like standard hyperlinks. The table is ordered alphabetically by
provider name first and then by feature name; this keeps each provider's
features together.</p>
<p>The plug-ins dialog has a table of plug-ins; the columns are provider name,
plug-in name, and plug-in version. Selecting any of the plug-ins opens a web
browser showing the plug-in's &quot;<code>about.html</code>&quot; page.</p>
<p>The workbench has a Help -&gt; &quot;Getting Started&quot; menu item that
opens a dialog which presents a list of all features with a welcome page (&quot;<code>welcomePage</code>&quot;
property in feature's plug-in's <code>about.ini</code> file) and affords the
user a way to make a single selection. The selected feature's preferred
perspective (if one is specified by the &quot;<code>welcomePerspective</code>&quot;
property in the feature's plug-in's <code>about.ini</code> file) is then opened
and the feature's welcome page is presented in a special editor.<br>
</p>

</body>

</html>