source: trunk/doc/whatsnew.html@ 20

Last change on this file since 20 was 9, checked in by lpino, 18 years ago
  • Initial commit
File size: 21.4 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<?xml-stylesheet type="text/css"
3href="eclipseos2-xxe.css"
4?>
5<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
6"xhtml1-strict.dtd">
7<html>
8 <head>
9 <link href="eclipseos2.css" rel="stylesheet" type="text/css" />
10
11 <title>Eclipse for OS/2 Transitional Project Notes</title>
12 </head>
13
14 <body>
15 <h1>What's new</h1>
16
17 <p>This section contains the project's history of changes, in general.
18 More detailed information can be available in the corresponding sections
19 of these Notes, as well as in the <a href="../ChangeLog">ChangeLog</a>
20 file. Changes are grouped by date, with more recent ones placed at the
21 bottom of this file.</p>
22
23 <h3>2002-11-17</h3>
24
25 <h4>[dmik]</h4>
26
27 <ul>
28 <li>Initial checkin. At last!</li>
29 </ul>
30
31 <h3>2002-12-02</h3>
32
33 <h4>[dmik]</h4>
34
35 <ul>
36 <li>added new <a href="index.html#compilation">compilation</a> targets
37 and properties in <kbd>build.prp</kbd>. Old one should be deleted in
38 order to be automatically recreated with new settings.</li>
39
40 <li>some new checkpoints in the <a href="swt001.html">SWT Step 001</a>
41 (in particular, the native <code>OS.WinAlarm()</code> is implemented as
42 an example of work with natives).</li>
43
44 <li>more classes (part is still hugely commented) included in
45 compilation (see
46 <kbd>$CVSROOT/src/plugins/org.eclipse.swt.pm/classes.inc</kbd>).</li>
47
48 <li><kbd>SWT001.java</kbd> exception handling is changed in order to
49 prevent thread racing when writing to the step log file.</li>
50 </ul>
51
52 <h3>2002-12-08</h3>
53
54 <h4>[eli]</h4>
55
56 <ul>
57 <li>added <kbd>misc/model.zip</kbd>. This file contains the UML model of
58 Win32 SWT in <kbd>.WMF</kbd> format, created by Together. The file is
59 very large in dimensions and possibly will not be viewed correctly
60 outside Together.</li>
61 </ul>
62
63 <h3>2003-01-05</h3>
64
65 <h4>[dmik]</h4>
66
67 <ul>
68 <li>some changes in <a href="">General SWT Q&amp;A</a>.</li>
69
70 <li>changes in <a href="swt001.html">SWT Step 001</a>: added
71 <code>hab</code> and <code>hmq</code> initialization,
72 <code>OS.DosGetInfoBlocks()</code> and stuff.</li>
73
74 <li>added <a href="index.html#ordinary.checkins">info</a> about ordinary
75 checkins policy.</li>
76 </ul>
77
78 <h3>2003-01-15</h3>
79
80 <h4>[dmik]</h4>
81
82 <ul>
83 <li>added useful <a href="swt.html#native.methods">info</a> and some
84 conventions about the implementation of SWT native methods [<i>Eli, look
85 at this, please!</i>].</li>
86
87 <li>changed <kbd>swt.dll</kbd> compilation: now it throws an
88 <code>SWTError</code> exception with the <kbd>Argument cannot be
89 NULL</kbd> message when a check of arguments in some native method
90 implementations fails -- this check should not seriously increase the
91 size of the dll, so it can be kept in the future.</li>
92
93 <li>changed linkage type for callback functions to work correctly under
94 OS/2 (<kbd>callback.h</kbd>).</li>
95
96 <li>new <a href="index.html#conventions">marker</a> to sign temporary
97 pieces of code</li>
98
99 <li>added lots of new code and some code changed (see <a
100 href="swt001.html">SWT Step 001</a>).</li>
101 </ul>
102
103 <h3>2003-01-21</h3>
104
105 <ul>
106 <li><a href="swt001.html">SWT Step 001</a> is considered to be done.
107 Repository contents are tagged as <kbd>tr-swt-001</kbd>.</li>
108 </ul>
109
110 <h3>2003-02-04</h3>
111
112 <h4>[dmik]</h4>
113
114 <ul>
115 <li><a href="swt002.html">SWT Step 002</a> started.</li>
116 </ul>
117
118 <h3>2003-03-03</h3>
119
120 <h4>[dmik]</h4>
121
122 <ul>
123 <li>handling of native structures in natives' implementation
124 (<kbd>swt.h</kbd>) changed a bit: now if <code>null</code> is passed as
125 a structure reference, then <code>NULL</code> will be passed to the
126 native call instead of the pointer to an empty native structure.</li>
127
128 <li><a href="swt002.html">SWT Step 002</a> objective is changed. Also
129 steps <a href="swt003.html">003</a> and <a href="swt004.html">004</a>
130 are added as drafts.</li>
131
132 <li>testcase <code>SWT001</code> is changed: the objective
133 <kbd>helloWorld1</kbd> is removed because the temporary message loop
134 handling in <code>Display</code> has been removed too (honestly,
135 commented for a while -- it can be necessary for debugging) and this
136 objective won't compile any more.</li>
137
138 <li>added lots of classes during the <a href="swt002.html">SWT Step
139 002</a> processing.</li>
140
141 <li><b>yeah</b>! testcase <code>SWT002</code> is added and seems to
142 function pretty well -- the top and the secondary SWT windows are
143 showing and even can be closed &lt;) Also their decorations can be
144 altered by the standard <code>o.e.swt.SWT</code> flags.</li>
145 </ul>
146
147 <h3>2003-03-11</h3>
148
149 <ul>
150 <li><a href="swt002.html">SWT Step 002</a> is considered to be done.
151 Repository contents are tagged as <kbd>tr-swt-002</kbd>.</li>
152
153 <li>Aqris Software AS gave us a free time limited license for using <a
154 href="http://www.refactorit.com">RefactorIT</a>, their handy refactoring
155 tool for Java, to help making the port quicker. Thanks them a lot.</li>
156 </ul>
157
158 <h3>2003-03-17</h3>
159
160 <ul>
161 <li><a href="swt004.html">SWT004</a>: widget size/position manipulation
162 methods are fixed (coordinate space flipping formula was not correct,
163 see <a href="swt002.html#ScreenCoordinates">SWT002</a> notes) and
164 improved.</li>
165
166 <li>testcase <code>SWT004</code> is added to test widget size/position
167 manipulation methods.</li>
168 </ul>
169
170 <h3>2003-04-20</h3>
171
172 <ul>
173 <li>added <a href="swt.html#native.methods">notes</a> about handling
174 pointers to C structures in native calls.</li>
175
176 <li>important <a href="swt002.html#ScreenCoordinates">info</a> about the
177 coordinate space flipping is updated.</li>
178
179 <li><a href="swt003.html">SWT003:</a> added a lot of code to implement
180 the <code>SWT.Paint</code> event functionality. it's now possible to
181 listen it and paint in a widget using <code>o.e.swt.GC</code> class
182 methods (just few of them are implemented). Also <code>Composite</code>
183 widgets understand <code>SWT.NO_REDRAW_RESIZE</code> and
184 <code>SWT.NO_MERGE_PAINTS</code> styles.</li>
185
186 <li>testcase <code>SWT003</code> is added.</li>
187
188 <li><a href="swt004.html">SWT004:</a> minimization/maximization methods
189 are implemented. Also the testcase uses
190 <code>Display.getClientArea()</code> implemented in <code>SWT003</code>
191 step to place windows at the center and corners.</li>
192 </ul>
193
194 <h3>2003-05-12</h3>
195
196 <ul>
197 <li><a href="swt003.html">SWT003:</a> fixed flipping matrix calculation
198 (zero <code>y</code> coordinate was outside the client area).</li>
199
200 <li>testcase <code>SWT003</code> is divided on two separate testcases
201 (<code>SWT003_01</code> and <code>SWT003_02</code>) and deleted.</li>
202
203 <li>two helper classes, <code>TestCase</code> and
204 <code>SWTTestCase</code>, are created to simplify the testcase writing;
205 tests <code>SWT003_01</code>, <code>SWT003_02</code> and
206 <code>SWT004</code> are now derived from the <code>SWTTestCase</code>
207 class, all new testcases will also be derived either from
208 <code>TestCase</code> or <code>SWTTestCase</code>.</li>
209
210 <li><a href="swt003.html">SWT003:</a>
211 <code>GC.{draw|fill}{{[Round]Rectangle}|Arc|Oval}()</code> methods are
212 finally implemented, see task notes for details.</li>
213
214 <li><a href="swt003.html">SWT003:</a> Color support and
215 <code>{set|get}{Background|Foreground}()</code> methods of
216 <code>GC</code> and <code>Control</code> classes are implemented.</li>
217
218 <li>All changes and additions to the source code are now copyrighted by
219 EclipseOS2 Team, see also <a
220 href="index.html#CopyrightNotice">here</a>.</li>
221 </ul>
222
223 <h3>2003-07-23</h3>
224
225 <ul>
226 <li><a href="swt003.html">SWT003:</a> <code>GC</code>: implemented
227 polylines and polygons, line style and width handling.</li>
228
229 <li><a href="swt003.html">SWT003:</a> implemented <code>Region</code>
230 class and clipping operations in GC.</li>
231
232 <li><a href="swt003.html">SWT003:</a> added testcase
233 <code>SWT003_03</code> to demonstrate regions and clipping.</li>
234
235 <li><a href="swt004.html">SWT004:</a> some basic <code>Button</code>
236 operations are implemented (currently only push/radio/check buttons
237 without images and alignment).</li>
238
239 <li><a href="swt004.html">SWT004:</a> sizing/positioning is improved
240 again (in particular, it's now possible to size/move all child widgets
241 of the parent widget at once -- this is used in layout management); also
242 the support for
243 <code>SWT.Size</code>/<code>Move</code>/<code>Iconify</code>/<code>Deiconify</code>
244 events is done.</li>
245
246 <li><a href="swt004.html">SWT004:</a> layout management is implemented
247 -- all existing layouts should work.</li>
248
249 <li>testcase <code>SWT004</code> is divided on two:
250 <code>SWT004_01</code> and <code>SWT004_02</code>.</li>
251
252 <li>the name and objective of the <a href="swt003.html">SWT003</a> step
253 is changed: font handling will be done on the separate step.</li>
254
255 <li>font handling implementation is transferred to the separate step: <a
256 href="swt005.html">SWT005</a>, also the <a href="swt006.html">SWT006</a>
257 step is added to the roadmap.</li>
258
259 <li>important <a href="swt004.html#WidgetHeight">info</a> about the
260 coordinate space flipping is updated again.</li>
261 </ul>
262
263 <h3>2003-07-29</h3>
264
265 <ul>
266 <li><a href="swt003.html">SWT Step 003</a> and <a href="swt004.html">SWT
267 Step 004</a> are considered to be done. Repository contents are tagged
268 as <kbd>tr-swt-003</kbd> and <kbd>tr-swt-004</kbd>.</li>
269 </ul>
270
271 <h3>2003-09-22</h3>
272
273 <ul>
274 <li>added <code><a href="diff.html">$CVSROOT/doc/diff.html</a></code>
275 that contains known differences between the Win32 and OS/2 ports.</li>
276
277 <li>changed the behavior of filled versions of some graphic primitives
278 in <code>GC</code> (rectangles and arcs) back to that one in Windows
279 (meaning that they are drawn 1 pixel narrower than their outlined
280 counterparts with the same width and height arguments) -- this is done
281 for compatibility reasons. Initial discussion of this issue was <a
282 href="swt003.html#GraphicPrimitives">here</a>.</li>
283
284 <li><a href="swt006.html">SWT006:</a> added testcases
285 <code>SWT006_01</code> (including test images) and
286 <code>SWT006_02</code>.</li>
287
288 <li><a href="swt006.html">SWT006:</a> great work is done (and many bugs
289 in OS/2 GRE are found and worked around) to implement and optimize image
290 support including transparency and alpha -- the <code>Image</code> class
291 and corresponding <code>GC</code> methods are implemented. However,
292 icons are not yet supported, only bitmap images are (including all
293 possible bit depths).</li>
294
295 <li>several minor fixes in different classes.</li>
296 </ul>
297
298 <h3>2003-11-24</h3>
299
300 <ul>
301 <li>added two special path definitions and several other changes to
302 <kbd>$CVSROOT/build.xml</kbd> and to <kbd>$CVSROOT/tests/build.xml</kbd>
303 in order the AntHelper jEdit's plugin to work correctly. <a
304 href="http://www.jedit.org">jEdit</a> is a great programmer's editor --
305 a good choice until the Eclipse for OS/2 is finished.</li>
306
307 <li>added new target to the main build file -- <kbd>dll</kbd>. This
308 target builds the SWT dll by launching the
309 <kbd>$CVSROOT/src/plugins/org.eclipse.swt/Eclipse&nbsp;SWT&nbsp;PI/pm/library/build.cmd</kbd>
310 file.</li>
311
312 <li>version 1.5.4 of <a href="http://ant.apache.org/">ant</a> is now
313 required in order for the <kbd>dll</kbd> target to work correctly. This
314 version is required because a patch is made for it to fix this boring
315 stuff with spaces in <code>dir</code> attribute and
316 <code>&lt;arg&gt;</code> elements of the <code>&lt;exec&gt;</code> task
317 under OS/2. This patch can be found on the repository
318 (<kbd>$CVSROOT/misc/ant-1.5.4-patch-os2.jar</kbd>). See the
319 <kbd>readme.txt</kbd> file inside the jar on how to install it. Also
320 <kbd>$CVSROOT/misc/ant.cmd</kbd> is updated in order to use the this
321 patch.</li>
322
323 <li>deleted some obsolete parts of the documentation (this includes
324 Q&amp;A sections on the main SWT page and per-step pages as well).</li>
325
326 <li><a href="swt006.html">SWT006:</a> changed the behavior of filled
327 versions of some graphic primitives in <code>GC</code>, to be compatible
328 with Windows (and conform to SWT specs). Now graphic primitives use the
329 convention where points that define a primitive are placed between
330 actual (screen) pixels, not inside them. So, when a filled figure is
331 drawn it affects all pixels that are inside the area defined by figure's
332 coordinates. When an outlined figure is drawn it touches pixels to the
333 left and to the bottom from every point that defines the figure's shape.
334 This, in particular, means that given the same width and height a filled
335 rectangle will be 1 pixel smaller in dimensions than an outlined one --
336 the former will occupy exactly the given number of pixels in width and
337 height while the latter will occupy width + 1 and height + 1 pixels
338 respectively.</li>
339
340 <li><a href="swt006.html">SWT006:</a> two small fixes to
341 <code>Decorations</code> and <code>Shell</code> classes regarding the
342 layout management.</li>
343
344 <li><a href="swt006.html">SWT006:</a> image handling implementation is
345 finished, including icons and support of 256-color display modes. Lots
346 of changes and improvements are made to <code>Image</code> and
347 <code>GC</code> classes to address different issues.</li>
348 </ul>
349
350 <h3>2003-12-08</h3>
351
352 <ul>
353 <li><a href="swt006.html">SWT Step 006</a> is considered to be done,
354 repository contents on 24-11-03 are tagged as
355 <kbd>tr-swt-006</kbd>.</li>
356
357 <li><a href="swt005.html">SWT005:</a> started implementation of font
358 support.</li>
359
360 <li>the <kbd>$CVSROOT/src/plugins/org.eclipse.swt.pm/os/os2/x86</kbd>
361 directory is taken out of CVS control, the <kbd>dll</kbd> target of
362 <kbd>$CVSROOT/build.xml</kbd> now creates it if necessary.</li>
363 </ul>
364
365 <h3>2003-12-21</h3>
366
367 <ul>
368 <li>fixed a bug in <code>WinCreateMsgQueue()</code> that caused a trap
369 inside the GoldenCode JVM when running <kbd><code>SWT006_01</code></kbd>
370 (see the native implementation of <code>OS.WinCreateMsgQueue()</code> in
371 <kbd>swt.c</kbd>), thanks goes to Gregory Shah from GoldenCode
372 (ges@goldencode.com) for the explanation of trap reasons</li>
373
374 <li><code>GC.drawFocus()</code> behavior now corresponds to one under
375 Windows (see the <a href="diff.html#003">Issue #003</a> in the list of
376 differences).</li>
377
378 <li>fixed update rectangle reporting in the <code>PaintEvent</code> and
379 some clipping issues.</li>
380
381 <li><a href="swt006.html">SWT006</a>: some missed <code>GC</code>
382 methods (<code>copyArea()</code>, <code>getClipping(Region)</code> and
383 <code>isClipping()</code>) are implemented, testcase
384 <code>SWT006_03</code> is created to test them.</li>
385 </ul>
386
387 <h3>2004-02-29</h3>
388
389 <ul>
390 <li>slightly modified <code>TestCase</code> and <code>SWTTestCase</code>
391 classes to simplify some operations in testcases. All testcases are
392 updated to support the new interface.</li>
393
394 <li>implemented some public methods of
395 <code>o.e.swt.grapthcs.Device</code> class (<code>getDepth()</code>,
396 <code>getDPI()</code>, <code>getSystemColor()</code>...).</li>
397
398 <li>added new property <kbd>test.jvm</kbd> to <kbd>build.prp</kbd>. This
399 property is intended to make it possible to compile Eclipse under one
400 JVM and run it under another. This can be necessary if, for example, we
401 edit and compile the code in the IDE that is running under Innotek JVM
402 which is currently incompatible with Eclipse for OS/2.</li>
403
404 <li><a href="swt005.html">SWT005:</a> font support is fully implemented
405 (except the locale support -- see step notes):
406 <code>o.e.swt.graphics.Font</code>, <code>FontData</code> and
407 <code>FontMetrics</code> classes are done and the
408 <code>o.e.swt.graphics.GC</code> class is completely finished -- now it
409 provides all functionality SWT should provide.
410 <code>o.e.swt.graphics.Device</code> is also fully implemented.
411 Testcases <code>SWT005_01</code> and <code>SWT005_02</code> are created
412 to test different uses of fonts.</li>
413 </ul>
414
415 <h3>2004-03-02</h3>
416
417 <ul>
418 <li>the current year is added to the copyright statement in all
419 sources.</li>
420
421 <li><code>TestCase</code> and <code>SWTTestCase</code> classes are
422 modified again to make it possible to run testcases from other
423 environments by creating a testcase instance and calling its
424 <code>run()</code> method, optionally on a separate thread:<ul>
425 <li>The <code>TestCase</code> class now implements the
426 <code><i>Runnable</i></code> interface (instead of
427 <code>SWTTestCase</code>) -- for simplicity;</li>
428
429 <li><code>TestCase.run()</code> is now final, it calls
430 <code>init()</code>, then <code>exec()</code> (a new method that
431 does the actual work), and then <code>done()</code>. This is done
432 for multithreaded environments to make it posiible to do some
433 initialization and cleanup at the same (newly created) thread where
434 <code>exec()</code> is executed.</li>
435 </ul></li>
436
437 <li><code>SWT004_01</code>, <code>SWT001</code> and <code>SWT002</code>
438 testcases are updated to incorporate the above changes.</li>
439 </ul>
440
441 <h3>2004-03-04</h3>
442
443 <ul>
444 <li><a href="swt005.html">SWT Step 005</a> is considered to be done,
445 repository contents on 2004-03-02 are tagged as
446 <kbd>tr-swt-005</kbd>.</li>
447
448 <li><a href="swt007.html">SWT007:</a> started new step to finish the
449 implementation of the <code>Button</code> widget.</li>
450 </ul>
451
452 <h3>2004-10-31</h3>
453
454 <h4>[dmik]</h4>
455
456 <ul>
457 <li>well, after quite a long period of inactivity the project goes on
458 again!</li>
459
460 <li>fixed some minor resource non-deallocation issues in
461 <code>GC</code>.</li>
462
463 <li><a href="swt007.html">SWT Step 007</a> seems to be done. Yes, this
464 means that now we have SWT buttons and additioanlly lots of other stuff
465 working (keyboard handling, focus traversal); <code>SWT007_01</code> and
466 <code>SWT007_02</code> testcases demonstrate this. See step notes.</li>
467
468 <li>there are no more step checkilsts in the step notes. Instead, usual
469 CVS commit messages are used to describe the changes, and the repository
470 contains a separate <a href="../ChangeLog">ChangeLog</a> file
471 (<kbd>/ChangeLog</kbd>, generated by a Perl script), that contains all
472 commit messages for all repository files. <a
473 href="index.html#ordinary.checkins">Here</a> is a new commit
474 policy.</li>
475 </ul>
476
477 <h3>2004-11-11</h3>
478
479 <h4>[dmik]</h4>
480
481 <ul>
482 <li>Updated <a href="index.html#documentation.tool">documentation
483 tool</a>.</li>
484
485 <li>Added new properties recognized in <kbd>build.prp</kbd> to enable
486 JNI-API call profiling. It requires the special version of the SWT DLL
487 and the report tool contributed by <a
488 href="mailto:kruseldaniel@iowatelecom.net">Daniel Lee Kruse</a>, they
489 are not currently on CVS. Provided that you've got them, rename your old
490 <kbd>build.prp</kbd> to let the main build script to generate a new one
491 containing new properties, then set them up according to comments. After
492 that, when <code>test.apiprofiler</code> is set to <code>true</code>,
493 all testcases begin to use the profiling version of <kbd>swt.dll</kbd>
494 that produces (together with the report tool) profiling logs like
495 <kbd>swtXXX_YYY.profile.log</kbd>, containing some statistics about
496 calls made to OS/2 API functions through JNI wrappers from the
497 <code>o.e.swt.internal.pm.OS</code> class.</li>
498
499 <li>Fixed a resource leak in the <code>Button</code> class.</li>
500
501 <li><a href="swt007.html">SWT Step 007</a> is considered to be done.
502 Repository contents are tagged as <kbd>tr-swt-007</kbd>.</li>
503 </ul>
504
505 <h3>2004-12-09</h3>
506
507 <h4>[dmik]</h4>
508
509 <ul>
510 <li>New steps <a href="swt008.html">SWT008</a> (standard dialogs) and <a
511 href="swt009.html">SWT009</a> (the <code>Label</code> class) have been
512 started.</li>
513
514 <li><a href="swt008.html">SWT008</a>: added
515 <code>o.e.swt.widgets.MessageBox</code> implementation (contributed by
516 <a href="mailto:kruseldaniel@iowatelecom.net">Daniel Lee Kruse</a>). No
517 test case yet.</li>
518 </ul>
519 </body>
520</html>
Note: See TracBrowser for help on using the repository browser.