platform-help-home/proposals/platform-specific-docs.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1, Tue Nov 30 01:08:30 2004 UTC revision 1.2, Wed Dec 1 22:43:55 2004 UTC
# Line 6  Line 6 
6    <meta http-equiv="Content-Style-Type" content="text/css">    <meta http-equiv="Content-Style-Type" content="text/css">
7    <link href="http://dev.eclipse.org/default_style.css" rel="stylesheet"    <link href="http://dev.eclipse.org/default_style.css" rel="stylesheet"
8   type="text/css">   type="text/css">
9    <style>
10    table,td,th { font-size: 10pt; font-family: arial, helvetica, geneva;}
11    </style>
12    <style media="screen">
13    th {background-color: #334070; color:#ffffff;}
14    .on {background-color: #ffff66;}
15    </style>
16    <style media="print">
17    .on {font-weight: bold;}
18    </style>
19    
20  </head>  </head>
21  <body style="background-color: rgb(255, 255, 255);">  <body style="background-color: rgb(255, 255, 255);">
22  <table width="100%">  <table width="100%">
# Line 128  Line 139 
139  <p>Platform specific content will be marked with either: <br>  <p>Platform specific content will be marked with either: <br>
140  </p>  </p>
141  <ul>  <ul>
142      <li>class=all_os_ws (for generic documentation that displays
143      the operation of all operating systems and widget sets)
144    <li>class=default_os (not win32, ie. executable names that do not    <li>class=default_os (not win32, ie. executable names that do not
145  have .exe) </li>  have .exe) </li>
146    <li>class=win32 (OLE, DND and .exe executable names) </li>    <li>class=win32 (OLE, DND and .exe executable names) </li>
# Line 135  Line 148 
148  Widget Set specific content will be marked with these: <br>  Widget Set specific content will be marked with these: <br>
149  <ul>  <ul>
150    <li>class=default_ws (things that apply to all widget sets except the    <li>class=default_ws (things that apply to all widget sets except the
151  ones marked below - windows is in this category)</li>  ones marked below - Windows is in this category)</li>
152    <li>class=gtk (widget used on Unix-like platforms - including Linux)</li>    <li>class=gtk (widget used on Unix-like platforms - including Linux)</li>
153    <li>class=carbon (widget set used on Mac OS X)</li>    <li>class=carbon (widget set used on Mac OS X)</li>
154  </ul>  </ul>
# Line 159  Line 172 
172  branding plug-in. This CSS file would specify which platforms and  branding plug-in. This CSS file would specify which platforms and
173  widget sets  widget sets
174  should not be displayed.</p>  should not be displayed.</p>
175  The Eclipse SDK will ship with its CSS file in  
176  org.eclipse.platform/book.css. The CSS in this file will display the  <p>The Eclipse SDK will ship with its CSS file in
177  content  org.eclipse.platform/book.css, and this will call a bookos.css file
178  for all platforms and widget sets. This means that the documentation  that sets default_os, win32, default_ws, gtk, and carbon <b>off</b>
179  <b>must</b> be written in such a way that it makes sense both when the  (the remaining class, all_os_ws remains on).
180  content  </p>
181  is all displayed and when only one class of content is displayed. This  
 point  
 will be stressed in the documentation style guide and an example will  
 be given.  
182  <p>ISVs can also achieve  <p>ISVs can also achieve
183  automatic selection of marked up content with multiple  automatic selection of marked up content with multiple
184  style sheets read by the help system, according to system settings.  style sheets read by the help system; which CSS files are used is determined by the system settings.
185  In this case the branding plug-in will have two or more CSS  In this case the branding plug-in will have a book.css file and one or two additional CSS
186  files, one to turn on platform specific content, the other to turn on  files, one to disable all but particular platform-specific content, and optionally a second to
187  widget  disable all but particular widget-set specific content. The help system resource
188  set specific content. The help system resource  resolution will apply the appropriate CSS
189  resolution will apply to the CSS  files to the product (branding)
190  files in the product (branding)  plug-in. </p>
191  plug-in. The directory  
192  structure in this case would be as follows:</p>  <table border="1" cellpadding="3" cellspacing="0">
193    <tr><th rowspan="3">O/S</th><th colspan="6">CSS</th></tr>
194    <tr><th colspan="2">Path names</th><th colspan="3">Help Key</th><th rowspan="2" width="75" valign="bottom">all_os_ws</th></tr>
195    <tr><th width="75">win32</th><th>default_os</th><th width="75">gtk</th><th width="75">carbon</th><th>default_ws</th></tr>
196    
197    <tr><td>Win32</td><td class="on">on</td><td>off</td><td>off</td><td>off</td><td class="on">on</td><td>off</td></tr>
198    <tr><td>Linux Gtk</td><td>off</td><td class="on">on</td><td class="on">on</td><td>off</td><td>off</td><td>off</td></tr>
199    <tr><td>Linux&nbsp;Other</td><td>off</td><td class="on">on</td><td>off</td><td>off</td><td class="on">on</td><td>off</td></tr>
200    
201    <tr><td>Mac</td><td>off</td><td class="on">on</td><td>off</td><td class="on">on</td><td>off</td><td>off</td></tr>
202    <tr><td>Unix Gtk</td><td>off</td><td class="on">on</td><td class="on">on</td><td>off</td><td>off</td><td>off</td></tr>
203    <tr><td>Unix Other</td><td>off</td><td class="on">on</td><td>off</td><td>off</td><td class="on">on</td><td>off</td></tr>
204    
205    <tr><td>Generic</td><td>off</td><td>off</td><td>off</td><td>off</td><td>off</td><td class="on">on</td></tr>
206    </table>
207    
208    <p>The directory structure is as follows:</p>
209    
210  <ul>  <ul>
211    <li>PRODUCT_PLUGIN/book.css (default_os on, win32 off - needs to    <li>PRODUCT_PLUGIN/book.css (needs to import a bookos.css)</li>
212  import a bookws.css)</li>    <li>For Windows, a single CSS file, PRODUCT_PLUGIN/os/win32/bookos.css,
213    <li>PRODUCT_PLUGIN/os/win32/book.css (default_os off, win32 on,    as there is only one widget set. This sets win32 on, default_ws on; all_os_ws off, default_os off,
214  default_ws on - does not need import a bookws.css)</li>    gtk off, carbon off.</li>
215    <li>PRODUCT_PLUGIN/bookws.css (gtk off, carbon off, default_ws on)</li>    <li>For gtk, a single CSS file, PRODUCT_PLUGIN/ws/gtk/bookos.css,
216    <li>PRODUCT_PLUGIN/ws/gtk/bookws.css (gtk on, carbon off, default_ws    as this widget set implies the operating system.
217  off)</li>    This sets default_os on, gtk on;
218    <li>PRODUCT_PLUGIN/ws/carbon/bookws.css (gtk off, carbon on,    all_os_ws off, win32 off, carbon off, default_ws off.</li>
219  default_ws off)</li>    <li>For Mac, a single CSS file, PRODUCT_PLUGIN/ws/carbon/bookos.css, that sets
220      default_os on, carbon on; all_os_ws off, win32 off, gtk off, default_ws off.</li>
221  </ul>  </ul>
222  <p>As noted above, book.css for the case that default_os is displayed  
223  will need  <p>The book.css for each of the cases noted above imports a single bookos.css file,
224  to import a bookws.css file, while book.css for the case that win32  because these cases have operating systems that imply the widget set, or a widget
225  is  set that implies the operating system.
226  displayed will not have to import a bookws.css file. This is because  An ISV that wants to release a version of Eclipse that runs under Windows, Unix gtk and
227  non-windows platforms can have multiple widget sets while windows only  some other Unix widget set would need to call a book.css that imports a bookos.css
228  has one  (which would disable either win32 or default_os) and a bookws (which would disable
229  widget set. Sample CSS files will be part of this solution so that ISVs  all_os_ws, carbon, and either gtk or default_ws).
230  can  </p>
231    
232    <p>Sample CSS files will be part of this solution so that ISVs can
233  easily achieve this automatic selection. </p>  easily achieve this automatic selection. </p>
234    
235    <p>All of this means that the documentation
236    <b>must</b> be written in such a way that it makes sense both when the
237    all_os_ws content is displayed and when only one class of content is displayed.
238    Therefore the source HTML files will have duplicated content, but the help browser
239    will show only the content that is appropriate for the user.
240    This point will be stressed in the documentation style guide and an example will
241    be given.</p>
242    
243  <h4>Solution Should Allow Customization Without Modification To The Doc  <h4>Solution Should Allow Customization Without Modification To The Doc
244  Plug-ins</h4>  Plug-ins</h4>
245    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2