platform-update-home/doc/eclipse_about_dialogs.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (view) (download) (as text)

1 : jeem 1.1 <html>
2 :    
3 :     <head>
4 :     <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
5 :     <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
6 :     <meta name="ProgId" content="FrontPage.Editor.Document">
7 :     <title>Eclipse About Dialogs</title>
8 :     </head>
9 :    
10 :     <body>
11 :    
12 :     <h1>Eclipse About Dialogs</h1>
13 :     <p>Last revised 14:30 Friday May 17, 2002</p>
14 :     <p>This note describes how Eclipse &quot;about&quot; dialogs work.</p>
15 :     <h2>What product developers need to know</h2>
16 :     <p>Eclipse has an &quot;about&quot; dialog that is shown to the user when they
17 :     select the &quot;About&quot; item from the workbench
18 :     &quot;Help&quot; menu. The workbench constructs this dialog using
19 :     information supplied by features and plug-ins. Product-specific information comes from the product's primary
20 :     feature; information about individual features and plug-ins come from each
21 :     installed and configured feature and plug-in. The &quot;about&quot; dialog is adjusted
22 :     automatically as new features and plug-ins are added, or existing ones upgraded.</p>
23 :     All plug-ins must have a file named &quot;<code>about.html</code>&quot; in the plug-in
24 :     directory containing a description of the plug-in. This page is shown (in a
25 :     standard web browser) when the user explicitly requests information about the
26 :     plug-in from the plug-in &quot;about&quot; dialog.&nbsp;
27 :     <p>Features plug-ins contain additional files (&quot;<code>about.ini</code>&quot;
28 :     together with optional companion files &quot;<code>about.properties</code>&quot;
29 :     and
30 :     &quot;<code>about.mappings</code>&quot; plus various image files) that provide
31 :     text and images that are presented on the &quot;about&quot; dialogs.</p>
32 :     <p>A feature's &quot;about&quot; information is given by properties in the
33 :     &quot;<code>about.ini</code>&quot; file located within the feature's <i>plug-in</i>. This is
34 :     a <a href="http://java.sun.com/j2se/1.3/docs/api/java/util/Properties.html">java.io.Properties</a>
35 :     format file (ISO 8859-1 character encoding with \u<i>xxxx </i>Unicode escapes),
36 :     with the following keys:</p>
37 :     <ul>
38 :     <li>&quot;<code>aboutText</code>&quot; - A multi-line text description of the feature
39 :     containing copyright, license terms, license
40 :     registration info, etc. URLs found in text are presented as links. Line
41 :     breaks are indicated by &quot;<code>\n</code>&quot;; lines should be
42 :     no longer than 75 characters each, and there is a limit of 15 lines.
43 :     This information is shown in the main &quot;about&quot; dialog (used
44 :     in conjunction with a half-sized image), and on the secondary &quot;about&quot;
45 :     dialog describing individuals feature. All features
46 :     are required to have this property.</li>
47 :     <li>&quot;<code>windowImage</code>&quot; - A 16x16 pixel color image used to brand
48 :     windows created by a product. The value of this property is a plug-in-relative path to an image
49 :     file. This property is only required for primary features; other
50 :     features may omit it.</li>
51 :     <li>&quot;<code>featureImage</code>&quot; - A 32x32 pixel color image used
52 :     as an icon for this feature. The value of this property is a plug-in-relative path to an image
53 :     file. This image is shown on the &quot;about&quot; dialog describing
54 :     individual features, and is also used on the main &quot;about&quot; dialog
55 :     to indicate that the feature is present. This property is
56 :     optional. Related features supplied by a single provider should
57 :     contain copies of the identical image file; this allows duplicate
58 :     images to be eliminated.</li>
59 :     <li>&quot;<code>aboutImage</code>&quot; - A large color image that appears in the
60 :     main &quot;about&quot; dialog for a product. The value of this
61 :     property is a plug-in-relative path to an image file. This property
62 :     is only
63 :     required for primary features; other features should omit it. Both
64 :     graphic-and-text, and graphic only layouts are supported, depending
65 :     on the size of image provided. A half-size image of up to 250 pixels
66 :     wide by 330 pixels high is shown on the main &quot;about&quot; dialog
67 :     with text (&quot;<code>aboutText</code>&quot; property) beside it. A
68 :     full-size image of up to 500 pixels wide by 330 pixels high is shown without
69 :     text.</li>
70 :     <li>&quot;<code>welcomePage</code>&quot;&nbsp; - A welcome page. The
71 :     value of this property is a plug-in-relative path to an XML-format
72 :     file containing the feature's welcome page. This property is
73 :     recommended for all major features; other features may omit it.</li>
74 :     <li>&quot;<code>welcomePerspective</code>&quot;&nbsp; - The preferred
75 :     perspective in which to show the welcome page. The
76 :     value of this property is a workbench perspective id. This property is
77 :     recommended for features with welcome pages that show better in the
78 :     context of the feature's views and editors. Features that do not
79 :     have welcome pages, or have no strong opinion where the welcome
80 :     pages is shown, should omit it.</li>
81 :     <li>&quot;<code>appName</code>&quot; - A short string used to
82 :     associate a name with the application on platforms where this makes
83 :     sense. In operating environments with the Motif window system, the
84 :     value is used for Motif resource lookup (see xrdb and related). In
85 :     addition, on the CDE window manager (used on Solaris and AIX), this
86 :     is the name which shows up under the icon for windows which are
87 :     minimized to the desktop. This property is required for primary features;
88 :     other features may omit it.</li>
89 :     </ul>
90 :     <p>More generally, every plug-in (not just feature plug-ins) should have an
91 :     &quot;<code>about.html</code>&quot; file containing information about that plug-ins.</p>
92 :     <p>Translatable strings in &quot;<code>about.ini</code>&quot; (the &quot;<code>aboutText</code>&quot;
93 :     and &quot;<code>appName</code>&quot; properties) should be extracted into a
94 :     companion &quot;<code>about.properties</code>&quot; file (using &quot;<code>%<i>var</i></code>&quot; as
95 :     the value in &quot;<code>about.ini</code>&quot; paired with an entry for the key &quot;<i><code>var</code></i>&quot;
96 :     in the &quot;<code>about.properties</code>&quot; file; analogous to the way translatable strings in
97 :     &quot;<code>plugin.xml</code>&quot; are extracted to &quot;<code>plugin.properties</code>&quot;). The
98 :     &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>
99 :     format file (ISO 8859-1 character encoding with \u<i>xxxx </i>Unicode escapes).
100 :     Various translations of the &quot;<code>about.properties</code>&quot; file are located in
101 :     NL-specific subdirectories; for example, for the &quot;<code>fr_FR_EURO</code>&quot; locale,
102 :     the file would be found in &quot;<code>nl/fr/FR/EURO/about.properties</code>&quot; located
103 :     within the feature's plug-in (possibly within a plug-in fragment).</p>
104 :     <p>Translated image files are also looked for in NL-specific subdirectories
105 :     within the feature plug-in or fragment thereof.</p>
106 :     <p>There is an additional mechanism for supplying values for fill-in fields for the &quot;<code>aboutText</code>&quot;
107 :     property. The file, named &quot;<code>about.mappings</code>&quot;, is typically created
108 :     or appended to when a feature is installed and
109 :     contains install-time information such as the license
110 :     key and the name of the licensed user. The
111 :     &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>
112 :     format file (ISO 8859-1 character encoding with \u<i>xxxx </i>Unicode escapes).
113 :     The keys are integers: &quot;<code>0</code>&quot;, &quot;<code>1</code>&quot;, etc.
114 :     The value of &quot;<code>0</code>&quot; is substituted for the substring &quot;<code>{0}</code>&quot;,
115 :     in standard java.text.MessageFormat fashion. The &quot;<code>about.mappings</code>&quot;
116 :     file is only required when the &quot;<code>aboutText</code>&quot;
117 :     property contains fill-in fields.</p>
118 :     <p>Example:</p>
119 :     <p>File <code>about.ini</code> (this file does not get translated):</p>
120 :     <blockquote>
121 :     <p><code>appName=%appName<br>
122 :     aboutText=%blurb<br>
123 :     windowImage=acme-16.gif<br>
124 :     featureImage=acme-32.gif<br>
125 :     aboutImage=about-acme.gif<br>
126 :     welcomePage=acme-welcome.xml<br>
127 :     welcomePerspective=org.eclipse.ui.resourcePerspective<br>
128 :     </code></p>
129 :     </blockquote>
130 :     <p>File <code>about.properties</code> (this file gets translated):</p>
131 :     <blockquote>
132 :     <p><code>appName=Anvil<br>
133 :     blurb=\<br>
134 :     Acme Anvil 1.0.0 (build {0})\n\<br>
135 :     Product id: {1}\n\<br>
136 :     This
137 :     product licensed to {2}\n\<br>
138 :     Visit our web site at http://acme.example.com<br>
139 :     </code></p>
140 :     </blockquote>
141 :     <p>File <code>about.mappings</code> (this file does not get translated):</p>
142 :     <blockquote>
143 :     <p><code>0=887<br>
144 :     1=T42-24T-ME4U-U4ME<br>
145 :     2=Wile E. Coyote</code></p>
146 :     </blockquote>
147 :     <h2>What product developers do not need to know</h2>
148 :     <p><b>N.B. The details in this section are not Eclipse platform API, and may
149 :     change over time. Do not rely on anything described in this section.</b></p>
150 :     <p>The &quot;about&quot; dialog presents information at three levels: product,
151 :     feature, and plug-in. Product information appears front-and-center on the main
152 :     &quot;about&quot; dialog; this information comes from the product's primary
153 :     feature plug-in. Feature information appears on a second dialog containing a table
154 :     of all configured features. Plug-in information appears on a third dialog containing a table of all configured plug-ins.</p>
155 :     <p>The main dialog is designed to give primary billing to the product, and
156 :     secondary billing to other features. The product gets most of the screen real
157 :     estate to show a large graphic, or a half-sized graphic plus text with embedded
158 :     hyperlinks. Underneath the product's area are a bar of 32x32 images for the
159 :     various other features. Selecting one of the feature images opens the second dialog
160 :     feature dialogs and selects the corresponding feature in the list.
161 :     Duplicate images are eliminated (based on comparing CRC-32 of the image file
162 :     bytes). The feature images are ordered by feature id. There are buttons at
163 :     bottom of the main dialog to allow the user to drill down to find out about
164 :     individual features and plug-ins.</p>
165 :     <p>The features dialog has a table of features; the columns are provider name,
166 :     feature name, and feature version. Selecting any of the features shows the
167 :     feature's 32x32 image (&quot;<code>featureImage</code>&quot; property) and blurb (&quot;<code>aboutText</code>&quot;
168 :     property) in the area below the table (room for 15 lines, 75 characters per
169 :     line). URL in the text look
170 :     and act like standard hyperlinks. The table is ordered alphabetically by
171 :     provider name first and then by feature name; this keeps each provider's
172 :     features together.</p>
173 :     <p>The plug-ins dialog has a table of plug-ins; the columns are provider name,
174 :     plug-in name, and plug-in version. Selecting any of the plug-ins opens a web
175 :     browser showing the plug-in's &quot;<code>about.html</code>&quot; page.</p>
176 :     <p>The workbench has a Help -&gt; &quot;Getting Started&quot; menu item that
177 :     opens a dialog which presents a list of all features with a welcome page (&quot;<code>welcomePage</code>&quot;
178 :     property in feature's plug-in's <code>about.ini</code> file) and affords the
179 :     user a way to make a single selection. The selected feature's preferred
180 :     perspective (if one is specified by the &quot;<code>welcomePerspective</code>&quot;
181 :     property in the feature's plug-in's <code>about.ini</code> file) is then opened
182 :     and the feature's welcome page is presented in a special editor.<br>
183 :     </p>
184 :    
185 :     </body>
186 :    
187 :     </html>
188 :