blob: fc531bc4adb1c4d1e9fd451307cede0102a6926e [file] [log] [blame]
mwenz682b1492010-12-15 07:42:58 +00001<?xml version="1.0" encoding="iso-8859-1"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
3 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4<html xmlns="http://www.w3.org/1999/xhtml">
5<head>
6<meta http-equiv="Content-Language" content="en-us" />
7<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
mwenz4ed2fa22011-02-01 13:05:06 +00008<title>Graphiti &quot;New and Noteworthy&quot;</title>
mwenz682b1492010-12-15 07:42:58 +00009</head>
10<body>
mwenz2371bdf2011-09-05 13:11:29 +020011 <h1>Graphiti &quot;New and Noteworthy&quot; for Indigo</h1>
mwenzfb3d8902012-01-12 15:01:55 +010012 <p>Last revised January 12, 2012</p>
mwenz60416b62011-09-12 12:27:11 +020013 <p>This document describes the new development topics and bug fixes
mwenzfb3d8902012-01-12 15:01:55 +010014 that were adressed during a milestone towards the release 0.8.2 within
mwenz60416b62011-09-12 12:27:11 +020015 the Indigo release train.</p>
mwenz682b1492010-12-15 07:42:58 +000016
mwenz2371bdf2011-09-05 13:11:29 +020017 <table border="0" width="80%" cellpadding="10" cellspacing="0">
18 <tr>
19 <td colspan="2">
20 <hr style="color: grey; height: 5px" />
21 <h2>
mwenzfb3d8902012-01-12 15:01:55 +010022 <b>SR2</b>
23 </h2>
24 <hr />
25 </td>
26 </tr>
27 <tr id="Bugfixes">
28 <td width="30%" valign="top" align="left"><b>The following
29 bugs were fixed for the Indigo SR2 release of Graphiti (version
30 number is 0.8.2)</b></td>
31 <td width="70%" valign="top"><ul>
32 <li><a
33 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=357764">Bug
34 357764</a> - IndexOutOfBoundsException when creating new
35 ContainerShape inside existing one</li>
36 <li><a
37 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=365169">Bug
38 365169</a> - DiagramEditorInternal's selectionChanged() method
39 doesn't support FormEditor-based multipage editors</li>
40 <li><a
41 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=359217">Bug
42 359217</a> - Documentation: Plugin-In structure page missing some plugins</li>
43 <li><a
44 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=359526">Bug
45 359526</a> - NPE in DomainModelWorkspaceSynchronizerDelegate</li>
mwenz04c30362012-01-23 16:57:44 +010046 <li><a
47 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=368146">Bug
48 368146</a> - RuntimeException during SVG export</li>
mwenz9e618662012-02-06 11:02:51 +010049 <li><a
50 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=370457">Bug
51 370457</a> - SVG export is only installable with the sdk.plus feature</li>
mwenzfb3d8902012-01-12 15:01:55 +010052 </ul></td>
53 </tr>
54 <tr>
55 <td colspan="2">
56 <hr style="color: grey; height: 5px" />
57 <h2>
mwenz2371bdf2011-09-05 13:11:29 +020058 <b>SR1</b>
59 </h2>
mwenzfb3d8902012-01-12 15:01:55 +010060 <hr />
61 </td>
mwenz2371bdf2011-09-05 13:11:29 +020062 </tr>
63 <tr id="Bugfixes">
64 <td width="30%" valign="top" align="left"><b>The following
mwenz60416b62011-09-12 12:27:11 +020065 bugs were fixed for the Indigo SR1 release of Graphiti (version
mwenzfb3d8902012-01-12 15:01:55 +010066 number is 0.8.1)</b></td>
mwenz2371bdf2011-09-05 13:11:29 +020067 <td width="70%" valign="top"><ul>
68 <li><a
mwenz60416b62011-09-12 12:27:11 +020069 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=355347">Bug
70 355347</a> - Depreciate and finally remove setters of Graphiti's Font
71 Interface</li>
72 <li><a
mwenz2371bdf2011-09-05 13:11:29 +020073 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=352709">Bug
74 352709</a> - Invalid image provider id crashes diagram editor</li>
75 <li><a
76 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=351053">Bug
77 351053</a> - Check the need for WorkspaceCommandStackImpl</li>
78 <li><a
79 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=348662">Bug
80 348662</a> - Setting tooltip to null in tool behavior provider
81 doesn't clear up tooltip</li>
82 <li><a
83 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=348637">Bug
84 348637</a> - Direct-editing box for connection text decorator has
85 size issues</li>
86 <li><a
87 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=348634">Bug
88 348634</a> - Direct-editing invoked again after user clicks away from
89 the label and moves back</li>
mwenzfb3d8902012-01-12 15:01:55 +010090 </ul></td>
mwenz2371bdf2011-09-05 13:11:29 +020091 </tr>
92 <tr>
93 <td colspan="2">
94 <hr style="color: grey; height: 5px" />
95 <h2>
96 <b>M7</b>
97 </h2>
mwenzfb3d8902012-01-12 15:01:55 +010098 <hr />
99 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200100 </tr>
101 <tr id="bug 324859">
102 <td width="30%" valign="top" align="left"><b>Undo/Redo
mwenzfb3d8902012-01-12 15:01:55 +0100103 support for Non-EMF domain models</b></td>
mwenz2371bdf2011-09-05 13:11:29 +0200104 <td width="70%" valign="top">It is now possible to provide
105 undo/redo functionality for operations on non-EMF domain models. In
106 order to implement this, users of the Graphiti framework can
107 implement the new interface <i>ICustomUndoableFeature</i> with their
108 features or the new interface <i>ICustomUndoablePattern</i> with
109 their patterns. If they do so, the feature or pattern will be called
110 as soon as an undo or redo is performed for this feature. For
111 details on this new possibility see <a
112 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=324859">Bugzilla
mwenzfb3d8902012-01-12 15:01:55 +0100113 324859</a>.
114 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200115 </tr>
116 <tr>
117 <td colspan="2">
mwenzfb3d8902012-01-12 15:01:55 +0100118 <hr />
119 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200120 </tr>
121 <tr id="bug 324058">
122 <td width="30%" valign="top" align="left"><b>User selection
mwenzfb3d8902012-01-12 15:01:55 +0100123 context in IDirectEditing APIs</b></td>
mwenz2371bdf2011-09-05 13:11:29 +0200124 <td width="70%" valign="top">So far the direct editing
125 functionality in Graphiti was purely String-based. Entries in the
126 drop down or for code completion could only be identified by the
127 String they were also represented in the UI to the user. Now it is
128 possible to define and provide a proposal support class based on the
129 new interface <i>IProposalSupport</i> based on additional
130 information, e.g placed in the direct editing context. This can
131 serve e.g. tool builders having to deal with different objects that
132 have the name, like classes with the same name residing in different
133 packages. For details on this new possibility see <a
134 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=324058">Bugzilla
mwenzfb3d8902012-01-12 15:01:55 +0100135 324058</a>.
136 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200137 </tr>
138 <tr>
139 <td colspan="2">
mwenzfb3d8902012-01-12 15:01:55 +0100140 <hr />
141 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200142 </tr>
143 <tr id="bug 340708">
144 <td width="30%" valign="top" align="left"><b>Double click
mwenzfb3d8902012-01-12 15:01:55 +0100145 for connections</b></td>
mwenz2371bdf2011-09-05 13:11:29 +0200146 <td width="70%" valign="top">It is now possible to register A
147 feature that will be executed on double click on a connection. This
148 was so far only possible for shapes.</td>
149 </tr>
150 <tr>
151 <td colspan="2">
mwenzfb3d8902012-01-12 15:01:55 +0100152 <hr />
153 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200154 </tr>
155 <tr id="bugfixing and round-offs">
156 <td width="30%" valign="top" align="left"><b>Round-offs and
mwenzfb3d8902012-01-12 15:01:55 +0100157 bugfixes</b></td>
mwenz2371bdf2011-09-05 13:11:29 +0200158 <td width="70%" valign="top">Several smaller round-offs have
159 been implemented:
160 <ul>
161 <li>Visualization during direct editing now completely
162 fulfills the usability specification.</li>
163 <li>Opening a user-contributed editor within <i>AbstractDrillDownFeature</i>
164 has been made easier by providing a protected method to open and a
mwenzfb3d8902012-01-12 15:01:55 +0100165 specific editor for a given diagram.
166 </li>
mwenz2371bdf2011-09-05 13:11:29 +0200167 <li>The framework is now prepared for users to deal with EMF
168 objects that are equal in the sense of <i>EMFUtil.equals</i> but
169 are not identical. For details on this new possibility see <a
170 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=335828">Bugzilla
mwenzfb3d8902012-01-12 15:01:55 +0100171 335828</a>.
172 </li>
173 </ul> Besides several bugs within the framework have been fixed.
174 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200175 </tr>
176 <tr>
177 <td colspan="2">
178 <hr style="color: grey; height: 5px" />
179 <h2>
180 <b>M6</b>
181 </h2>
mwenzfb3d8902012-01-12 15:01:55 +0100182 <hr />
183 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200184 </tr>
185 <tr id="bug 326396">
186 <td width="30%" valign="top" align="left"><b>Connections on
mwenzfb3d8902012-01-12 15:01:55 +0100187 Connections</b></td>
mwenz2371bdf2011-09-05 13:11:29 +0200188 <td width="70%" valign="top">It is now possible to attach
189 connections to other connections. The Graphiti metamodel offered
190 this possibility already but the framework support for this was
191 still lacking. Now, one can define so-called connection points to
192 actually split existing connections. Technically these connection
193 points are possibly active shapes that can be selected, moved or
194 deleted as any other shape. As a tool builder you need to allow this
195 new behavior when the user tries to drop a connection either via a <i>CreateConnectionFeature</i>
196 or a <i>ReconnectConnectionFeature</i>. Example implementations are
197 available in the Sketch testtool in the tests folder in the Graphiti
198 CVS. <img src="images/NaNW-Indigo-M6-Connection.jpg" />
199 </td>
200 </tr>
201 <tr>
202 <td colspan="2">
mwenzfb3d8902012-01-12 15:01:55 +0100203 <hr />
204 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200205 </tr>
206 <tr id="bug 323358">
207 <td width="30%" valign="top" align="left"><b>Font Management</b>
208 </td>
209 <td width="70%" valign="top">Graphiti now manages the fonts that
210 are used inside a diagram just the way it was already done for
211 colors. This feature was introduced in order to improve the graphics
212 handles usage and number of classes instantiated; multiple uses of
213 the same font will now lead to only one instance of that font
214 existing inside the diagram. Just as the colors fonts are now
215 managed at Diagram level and no longer on the individual graphical
216 elements. <b>Note: this is an minor incompatible change in the
217 Graphiti API you will need to adapt to!</b> There are no font creation
218 methods any more, instead you will need to call manageFont on the
219 diagram. <b>Besides diagrams that were created using Graphiti
220 versions before 0.8.0 M6 will need a migration</b> if tool defined
221 fonts are used. The Graphiti framework provides a small migration
222 utility that can be triggered at an appropriate time by the tool. We
223 decided explicitly against triggering the migration from the
224 framework, because there will definitely by different requirements
225 on the time of triggering in the various tool scenarios. Besides
226 there will be tools that will need no migration at all and would be
227 only suffer a time penalty from that check and migration being done
228 in the framework. More details on the API change and the migrator
229 can be found in the Bugzilla <a
mwenzfb3d8902012-01-12 15:01:55 +0100230 href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=323358">323358</a>.
231 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200232 </tr>
233 <tr>
234 <td colspan="2">
mwenzfb3d8902012-01-12 15:01:55 +0100235 <hr />
236 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200237 </tr>
238 <tr id="bug 336075">
239 <td width="30%" valign="top" align="left"><b>URIEditorInput</b>
240 </td>
241 <td width="70%" valign="top">The Graphiti DiagramEditor now
242 accepts <i>URIEditorInput</i> objects. They can be created outside
243 the editor and the editor will care about opening the corresponding
mwenzfb3d8902012-01-12 15:01:55 +0100244 diagram.
245 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200246 </tr>
247 <tr>
248 <td colspan="2">
mwenzfb3d8902012-01-12 15:01:55 +0100249 <hr />
250 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200251 </tr>
252 <tr id="bug 329523">
253 <td width="30%" valign="top" align="left"><b>Resource Saved
mwenzfb3d8902012-01-12 15:01:55 +0100254 Hook</b></td>
mwenz2371bdf2011-09-05 13:11:29 +0200255 <td width="70%" valign="top">A new hook <i>resourcesSaved()</i>
256 has been introduced in the diagram type provider. It will be called
mwenzfb3d8902012-01-12 15:01:55 +0100257 by the framework right after a diagram has been saved.
258 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200259 </tr>
260 <tr>
261 <td colspan="2">
mwenzfb3d8902012-01-12 15:01:55 +0100262 <hr />
263 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200264 </tr>
265 <tr id="bug 336828">
266 <td width="30%" valign="top" align="left"><b>Pattern
mwenzfb3d8902012-01-12 15:01:55 +0100267 Enhancements</b></td>
mwenz2371bdf2011-09-05 13:11:29 +0200268 <td width="70%" valign="top">Graphiti patterns now allow the
269 integration of delete, remove and direct editing features. These
270 functionalities before had to be implemented within separate
271 features. Besides the patterns now easily allow to prevent that a
272 creation tool entry is created for them in the editor palette.</td>
273 </tr>
274 <tr>
275 <td colspan="2">
mwenzfb3d8902012-01-12 15:01:55 +0100276 <hr />
277 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200278 </tr>
279 <tr id="bug 323155">
280 <td width="30%" valign="top" align="left"><b>Printing and
mwenzfb3d8902012-01-12 15:01:55 +0100281 Saving as Image</b></td>
mwenz2371bdf2011-09-05 13:11:29 +0200282 <td width="70%" valign="top">Graphiti supports printing and
283 saving a diagram to an image. There have always been hooks were the
284 user can influence the default behaviors for these operations.
285 Nevertheless it was not clear if the way this was enabled was really
286 feasible. An investigation of the two features that exist for those
287 purposes (<i>DefaultPrintFeature</i> and <i>DefaultSaveImageFeature</i>)
288 showed that tool builders can rudimentary implement behavioral
289 changes to those features (like changing the selection in the
290 editor), so it makes sense to keep the implementations available.
291 The existing state was documented in the JavaDoc at the appropriate
292 classes and methods and a not used property in the save context was
293 removed. This functionality might be subject to further enhancement
mwenzfb3d8902012-01-12 15:01:55 +0100294 request as tools need more possibilities to influence the behavior.
295 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200296 </tr>
297 <tr>
298 <td colspan="2">
mwenzfb3d8902012-01-12 15:01:55 +0100299 <hr />
300 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200301 </tr>
302 <tr id="bugfixing">
303 <td width="30%" valign="top" align="left"><b>Fixing of Bugs</b>
304 </td>
305 <td width="70%" valign="top">Some bugs in the area of anchor
306 handling and drill down features were fixed. Also, the used SUA was
307 updated to the newest Indigo version.</td>
308 </tr>
mwenz40f21712011-03-15 10:13:27 +0000309
310
mwenz2371bdf2011-09-05 13:11:29 +0200311 <tr>
312 <td colspan="2">
313 <hr style="color: grey; height: 5px" />
314 <h2>
315 <b>M5</b>
316 </h2>
mwenzfb3d8902012-01-12 15:01:55 +0100317 <hr />
318 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200319 </tr>
320 <tr id="bug 323359">
mwenzfb3d8902012-01-12 15:01:55 +0100321 <td width="30%" valign="top" align="left"><b>Globalization</b></td>
mwenz2371bdf2011-09-05 13:11:29 +0200322 <td width="70%" valign="top">Graphiti now uses resource bundles
323 for all its texts and is ready to be translated.</td>
324 </tr>
325 <tr>
326 <td colspan="2">
mwenzfb3d8902012-01-12 15:01:55 +0100327 <hr />
328 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200329 </tr>
330 <tr id="bug 327669">
mwenzfb3d8902012-01-12 15:01:55 +0100331 <td width="30%" valign="top" align="left"><b>API Usages</b></td>
mwenz2371bdf2011-09-05 13:11:29 +0200332 <td width="70%" valign="top">Graphiti now uses other projects
333 only via their public APIs. Usages of GEF internal stuff has been
334 removed.</td>
335 </tr>
336 <tr>
337 <td colspan="2">
mwenzfb3d8902012-01-12 15:01:55 +0100338 <hr />
339 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200340 </tr>
341 <tr id="bug 332704">
mwenzfb3d8902012-01-12 15:01:55 +0100342 <td width="30%" valign="top" align="left"><b>Accessibility</b></td>
mwenz2371bdf2011-09-05 13:11:29 +0200343 <td width="70%" valign="top">Graphiti now fully supports themes
344 like the high contrast mode to enable Accessibility for disabled
345 users. Some gaps in presenting selections and gradients were closed.</td>
346 </tr>
347 <tr>
348 <td colspan="2">
mwenzfb3d8902012-01-12 15:01:55 +0100349 <hr />
350 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200351 </tr>
352 <tr id="bug 326993">
353 <td width="30%" valign="top" align="left"><b>Prevent
mwenzfb3d8902012-01-12 15:01:55 +0100354 Multiple Popups</b></td>
mwenz2371bdf2011-09-05 13:11:29 +0200355 <td width="70%" valign="top">When deleting more than one object
356 a confirmation popup for each of the objects was presented to the
357 user. This has been improved so that the user has the option "Yes
358 for all" available.</td>
359 </tr>
360 <tr>
361 <td colspan="2">
mwenzfb3d8902012-01-12 15:01:55 +0100362 <hr />
363 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200364 </tr>
365 <tr id="bugfixing">
366 <td width="30%" valign="top" align="left"><b>Fixing of Bugs</b>
367 </td>
368 <td width="70%" valign="top">Some bugs especially in the area of
369 the zoom animation, ContextButtonPadData and grid alignment were
370 fixed.</td>
371 </tr>
mwenz40f21712011-03-15 10:13:27 +0000372
373
mwenz2371bdf2011-09-05 13:11:29 +0200374 <tr>
375 <td colspan="2">
376 <hr style="color: grey; height: 5px" />
377 <h2>
378 <b>M4</b>
379 </h2>
mwenzfb3d8902012-01-12 15:01:55 +0100380 <hr />
381 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200382 </tr>
383 <tr id="bug 330230">
384 <td width="30%" valign="top" align="left"><b>Indigo Release
mwenzfb3d8902012-01-12 15:01:55 +0100385 Train</b></td>
mwenz2371bdf2011-09-05 13:11:29 +0200386 <td width="70%" valign="top">Graphiti declared its participation
387 in the Indigo release train. All project metadata settings were done
388 and the project update site is aggregated into the common Indigo
389 milestones update site.</td>
390 </tr>
391 <tr>
392 <td colspan="2">
mwenzfb3d8902012-01-12 15:01:55 +0100393 <hr />
394 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200395 </tr>
396 <tr id="bug 330218">
397 <td width="30%" valign="top" align="left"><b>Vector Graphics
mwenzfb3d8902012-01-12 15:01:55 +0100398 Export</b></td>
mwenz2371bdf2011-09-05 13:11:29 +0200399 <td width="70%" valign="top">Diagrams can now be exported also
400 in vector graphics format (SVG). This is available from the save as
401 dialog of a diagram editor besides the traditional save as JPG, BMP
402 etc.</td>
403 </tr>
404 <tr>
405 <td colspan="2">
mwenzfb3d8902012-01-12 15:01:55 +0100406 <hr />
407 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200408 </tr>
409 <tr id="FillGaps">
410 <td width="30%" valign="top" align="left"><b>Filling of
mwenzfb3d8902012-01-12 15:01:55 +0100411 functional gaps</b></td>
mwenz2371bdf2011-09-05 13:11:29 +0200412 <td width="70%" valign="top">Some functional gaps like missing
413 services, automated resizing for combo boxes, creation of color
414 constants from RGB string etc. were filled.</td>
415 </tr>
416 <tr>
417 <td colspan="2">
mwenzfb3d8902012-01-12 15:01:55 +0100418 <hr />
419 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200420 </tr>
421 <tr id="BugFixing">
422 <td width="30%" valign="top" align="left"><b>Fixing of bugs</b>
423 </td>
424 <td width="70%" valign="top">Some bugs (especially in the area
425 of refreshing the diagram were fixed.</td>
426 </tr>
427 <tr>
428 <td colspan="2">
mwenzfb3d8902012-01-12 15:01:55 +0100429 <hr />
430 </td>
mwenz2371bdf2011-09-05 13:11:29 +0200431 </tr>
432 </table>
mwenz682b1492010-12-15 07:42:58 +0000433</body>
434</html>