mwenz | 682b149 | 2010-12-15 07:42:58 +0000 | [diff] [blame] | 1 | <?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" /> |
mwenz | 4ed2fa2 | 2011-02-01 13:05:06 +0000 | [diff] [blame] | 8 | <title>Graphiti "New and Noteworthy"</title> |
mwenz | 682b149 | 2010-12-15 07:42:58 +0000 | [diff] [blame] | 9 | </head> |
| 10 | <body> |
mwenz | 2371bdf | 2011-09-05 13:11:29 +0200 | [diff] [blame] | 11 | <h1>Graphiti "New and Noteworthy" for Indigo</h1> |
mwenz | 60416b6 | 2011-09-12 12:27:11 +0200 | [diff] [blame^] | 12 | <p>Last revised September 12, 2011</p> |
| 13 | <p>This document describes the new development topics and bug fixes |
| 14 | that were adressed during a milestone towards the release 0.8.1 within |
| 15 | the Indigo release train.</p> |
mwenz | 682b149 | 2010-12-15 07:42:58 +0000 | [diff] [blame] | 16 | |
mwenz | 2371bdf | 2011-09-05 13:11:29 +0200 | [diff] [blame] | 17 | <table border="0" width="80%" cellpadding="10" cellspacing="0"> |
| 18 | <tr> |
| 19 | <td colspan="2"> |
| 20 | <hr style="color: grey; height: 5px" /> |
| 21 | <h2> |
| 22 | <b>SR1</b> |
| 23 | </h2> |
| 24 | <hr /></td> |
| 25 | </tr> |
| 26 | <tr id="Bugfixes"> |
| 27 | <td width="30%" valign="top" align="left"><b>The following |
mwenz | 60416b6 | 2011-09-12 12:27:11 +0200 | [diff] [blame^] | 28 | bugs were fixed for the Indigo SR1 release of Graphiti (version |
| 29 | number is 0.8.1)</b> |
mwenz | 2371bdf | 2011-09-05 13:11:29 +0200 | [diff] [blame] | 30 | </td> |
| 31 | <td width="70%" valign="top"><ul> |
| 32 | <li><a |
mwenz | 60416b6 | 2011-09-12 12:27:11 +0200 | [diff] [blame^] | 33 | href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=355347">Bug |
| 34 | 355347</a> - Depreciate and finally remove setters of Graphiti's Font |
| 35 | Interface</li> |
| 36 | <li><a |
mwenz | 2371bdf | 2011-09-05 13:11:29 +0200 | [diff] [blame] | 37 | href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=352709">Bug |
| 38 | 352709</a> - Invalid image provider id crashes diagram editor</li> |
| 39 | <li><a |
| 40 | href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=351053">Bug |
| 41 | 351053</a> - Check the need for WorkspaceCommandStackImpl</li> |
| 42 | <li><a |
| 43 | href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=348662">Bug |
| 44 | 348662</a> - Setting tooltip to null in tool behavior provider |
| 45 | doesn't clear up tooltip</li> |
| 46 | <li><a |
| 47 | href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=348637">Bug |
| 48 | 348637</a> - Direct-editing box for connection text decorator has |
| 49 | size issues</li> |
| 50 | <li><a |
| 51 | href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=348634">Bug |
| 52 | 348634</a> - Direct-editing invoked again after user clicks away from |
| 53 | the label and moves back</li> |
| 54 | </ul> |
| 55 | </td> |
| 56 | </tr> |
| 57 | <tr> |
| 58 | <td colspan="2"> |
| 59 | <hr style="color: grey; height: 5px" /> |
| 60 | <h2> |
| 61 | <b>M7</b> |
| 62 | </h2> |
| 63 | <hr /></td> |
| 64 | </tr> |
| 65 | <tr id="bug 324859"> |
| 66 | <td width="30%" valign="top" align="left"><b>Undo/Redo |
| 67 | support for Non-EMF domain models</b> |
| 68 | </td> |
| 69 | <td width="70%" valign="top">It is now possible to provide |
| 70 | undo/redo functionality for operations on non-EMF domain models. In |
| 71 | order to implement this, users of the Graphiti framework can |
| 72 | implement the new interface <i>ICustomUndoableFeature</i> with their |
| 73 | features or the new interface <i>ICustomUndoablePattern</i> with |
| 74 | their patterns. If they do so, the feature or pattern will be called |
| 75 | as soon as an undo or redo is performed for this feature. For |
| 76 | details on this new possibility see <a |
| 77 | href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=324859">Bugzilla |
| 78 | 324859</a>.</td> |
| 79 | </tr> |
| 80 | <tr> |
| 81 | <td colspan="2"> |
| 82 | <hr /></td> |
| 83 | </tr> |
| 84 | <tr id="bug 324058"> |
| 85 | <td width="30%" valign="top" align="left"><b>User selection |
| 86 | context in IDirectEditing APIs</b> |
| 87 | </td> |
| 88 | <td width="70%" valign="top">So far the direct editing |
| 89 | functionality in Graphiti was purely String-based. Entries in the |
| 90 | drop down or for code completion could only be identified by the |
| 91 | String they were also represented in the UI to the user. Now it is |
| 92 | possible to define and provide a proposal support class based on the |
| 93 | new interface <i>IProposalSupport</i> based on additional |
| 94 | information, e.g placed in the direct editing context. This can |
| 95 | serve e.g. tool builders having to deal with different objects that |
| 96 | have the name, like classes with the same name residing in different |
| 97 | packages. For details on this new possibility see <a |
| 98 | href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=324058">Bugzilla |
| 99 | 324058</a>.</td> |
| 100 | </tr> |
| 101 | <tr> |
| 102 | <td colspan="2"> |
| 103 | <hr /></td> |
| 104 | </tr> |
| 105 | <tr id="bug 340708"> |
| 106 | <td width="30%" valign="top" align="left"><b>Double click |
| 107 | for connections</b> |
| 108 | </td> |
| 109 | <td width="70%" valign="top">It is now possible to register A |
| 110 | feature that will be executed on double click on a connection. This |
| 111 | was so far only possible for shapes.</td> |
| 112 | </tr> |
| 113 | <tr> |
| 114 | <td colspan="2"> |
| 115 | <hr /></td> |
| 116 | </tr> |
| 117 | <tr id="bugfixing and round-offs"> |
| 118 | <td width="30%" valign="top" align="left"><b>Round-offs and |
| 119 | bugfixes</b> |
| 120 | </td> |
| 121 | <td width="70%" valign="top">Several smaller round-offs have |
| 122 | been implemented: |
| 123 | <ul> |
| 124 | <li>Visualization during direct editing now completely |
| 125 | fulfills the usability specification.</li> |
| 126 | <li>Opening a user-contributed editor within <i>AbstractDrillDownFeature</i> |
| 127 | has been made easier by providing a protected method to open and a |
| 128 | specific editor for a given diagram.</li> |
| 129 | <li>The framework is now prepared for users to deal with EMF |
| 130 | objects that are equal in the sense of <i>EMFUtil.equals</i> but |
| 131 | are not identical. For details on this new possibility see <a |
| 132 | href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=335828">Bugzilla |
| 133 | 335828</a>.</li> |
| 134 | </ul> Besides several bugs within the framework have been fixed.</td> |
| 135 | </tr> |
| 136 | <tr> |
| 137 | <td colspan="2"> |
| 138 | <hr style="color: grey; height: 5px" /> |
| 139 | <h2> |
| 140 | <b>M6</b> |
| 141 | </h2> |
| 142 | <hr /></td> |
| 143 | </tr> |
| 144 | <tr id="bug 326396"> |
| 145 | <td width="30%" valign="top" align="left"><b>Connections on |
| 146 | Connections</b> |
| 147 | </td> |
| 148 | <td width="70%" valign="top">It is now possible to attach |
| 149 | connections to other connections. The Graphiti metamodel offered |
| 150 | this possibility already but the framework support for this was |
| 151 | still lacking. Now, one can define so-called connection points to |
| 152 | actually split existing connections. Technically these connection |
| 153 | points are possibly active shapes that can be selected, moved or |
| 154 | deleted as any other shape. As a tool builder you need to allow this |
| 155 | new behavior when the user tries to drop a connection either via a <i>CreateConnectionFeature</i> |
| 156 | or a <i>ReconnectConnectionFeature</i>. Example implementations are |
| 157 | available in the Sketch testtool in the tests folder in the Graphiti |
| 158 | CVS. <img src="images/NaNW-Indigo-M6-Connection.jpg" /> |
| 159 | </td> |
| 160 | </tr> |
| 161 | <tr> |
| 162 | <td colspan="2"> |
| 163 | <hr /></td> |
| 164 | </tr> |
| 165 | <tr id="bug 323358"> |
| 166 | <td width="30%" valign="top" align="left"><b>Font Management</b> |
| 167 | </td> |
| 168 | <td width="70%" valign="top">Graphiti now manages the fonts that |
| 169 | are used inside a diagram just the way it was already done for |
| 170 | colors. This feature was introduced in order to improve the graphics |
| 171 | handles usage and number of classes instantiated; multiple uses of |
| 172 | the same font will now lead to only one instance of that font |
| 173 | existing inside the diagram. Just as the colors fonts are now |
| 174 | managed at Diagram level and no longer on the individual graphical |
| 175 | elements. <b>Note: this is an minor incompatible change in the |
| 176 | Graphiti API you will need to adapt to!</b> There are no font creation |
| 177 | methods any more, instead you will need to call manageFont on the |
| 178 | diagram. <b>Besides diagrams that were created using Graphiti |
| 179 | versions before 0.8.0 M6 will need a migration</b> if tool defined |
| 180 | fonts are used. The Graphiti framework provides a small migration |
| 181 | utility that can be triggered at an appropriate time by the tool. We |
| 182 | decided explicitly against triggering the migration from the |
| 183 | framework, because there will definitely by different requirements |
| 184 | on the time of triggering in the various tool scenarios. Besides |
| 185 | there will be tools that will need no migration at all and would be |
| 186 | only suffer a time penalty from that check and migration being done |
| 187 | in the framework. More details on the API change and the migrator |
| 188 | can be found in the Bugzilla <a |
| 189 | href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=323358">323358</a>.</td> |
| 190 | </tr> |
| 191 | <tr> |
| 192 | <td colspan="2"> |
| 193 | <hr /></td> |
| 194 | </tr> |
| 195 | <tr id="bug 336075"> |
| 196 | <td width="30%" valign="top" align="left"><b>URIEditorInput</b> |
| 197 | </td> |
| 198 | <td width="70%" valign="top">The Graphiti DiagramEditor now |
| 199 | accepts <i>URIEditorInput</i> objects. They can be created outside |
| 200 | the editor and the editor will care about opening the corresponding |
| 201 | diagram.</td> |
| 202 | </tr> |
| 203 | <tr> |
| 204 | <td colspan="2"> |
| 205 | <hr /></td> |
| 206 | </tr> |
| 207 | <tr id="bug 329523"> |
| 208 | <td width="30%" valign="top" align="left"><b>Resource Saved |
| 209 | Hook</b> |
| 210 | </td> |
| 211 | <td width="70%" valign="top">A new hook <i>resourcesSaved()</i> |
| 212 | has been introduced in the diagram type provider. It will be called |
| 213 | by the framework right after a diagram has been saved.</td> |
| 214 | </tr> |
| 215 | <tr> |
| 216 | <td colspan="2"> |
| 217 | <hr /></td> |
| 218 | </tr> |
| 219 | <tr id="bug 336828"> |
| 220 | <td width="30%" valign="top" align="left"><b>Pattern |
| 221 | Enhancements</b> |
| 222 | </td> |
| 223 | <td width="70%" valign="top">Graphiti patterns now allow the |
| 224 | integration of delete, remove and direct editing features. These |
| 225 | functionalities before had to be implemented within separate |
| 226 | features. Besides the patterns now easily allow to prevent that a |
| 227 | creation tool entry is created for them in the editor palette.</td> |
| 228 | </tr> |
| 229 | <tr> |
| 230 | <td colspan="2"> |
| 231 | <hr /></td> |
| 232 | </tr> |
| 233 | <tr id="bug 323155"> |
| 234 | <td width="30%" valign="top" align="left"><b>Printing and |
| 235 | Saving as Image</b> |
| 236 | </td> |
| 237 | <td width="70%" valign="top">Graphiti supports printing and |
| 238 | saving a diagram to an image. There have always been hooks were the |
| 239 | user can influence the default behaviors for these operations. |
| 240 | Nevertheless it was not clear if the way this was enabled was really |
| 241 | feasible. An investigation of the two features that exist for those |
| 242 | purposes (<i>DefaultPrintFeature</i> and <i>DefaultSaveImageFeature</i>) |
| 243 | showed that tool builders can rudimentary implement behavioral |
| 244 | changes to those features (like changing the selection in the |
| 245 | editor), so it makes sense to keep the implementations available. |
| 246 | The existing state was documented in the JavaDoc at the appropriate |
| 247 | classes and methods and a not used property in the save context was |
| 248 | removed. This functionality might be subject to further enhancement |
| 249 | request as tools need more possibilities to influence the behavior.</td> |
| 250 | </tr> |
| 251 | <tr> |
| 252 | <td colspan="2"> |
| 253 | <hr /></td> |
| 254 | </tr> |
| 255 | <tr id="bugfixing"> |
| 256 | <td width="30%" valign="top" align="left"><b>Fixing of Bugs</b> |
| 257 | </td> |
| 258 | <td width="70%" valign="top">Some bugs in the area of anchor |
| 259 | handling and drill down features were fixed. Also, the used SUA was |
| 260 | updated to the newest Indigo version.</td> |
| 261 | </tr> |
mwenz | 40f2171 | 2011-03-15 10:13:27 +0000 | [diff] [blame] | 262 | |
| 263 | |
mwenz | 2371bdf | 2011-09-05 13:11:29 +0200 | [diff] [blame] | 264 | <tr> |
| 265 | <td colspan="2"> |
| 266 | <hr style="color: grey; height: 5px" /> |
| 267 | <h2> |
| 268 | <b>M5</b> |
| 269 | </h2> |
| 270 | <hr /></td> |
| 271 | </tr> |
| 272 | <tr id="bug 323359"> |
| 273 | <td width="30%" valign="top" align="left"><b>Globalization</b> |
| 274 | </td> |
| 275 | <td width="70%" valign="top">Graphiti now uses resource bundles |
| 276 | for all its texts and is ready to be translated.</td> |
| 277 | </tr> |
| 278 | <tr> |
| 279 | <td colspan="2"> |
| 280 | <hr /></td> |
| 281 | </tr> |
| 282 | <tr id="bug 327669"> |
| 283 | <td width="30%" valign="top" align="left"><b>API Usages</b> |
| 284 | </td> |
| 285 | <td width="70%" valign="top">Graphiti now uses other projects |
| 286 | only via their public APIs. Usages of GEF internal stuff has been |
| 287 | removed.</td> |
| 288 | </tr> |
| 289 | <tr> |
| 290 | <td colspan="2"> |
| 291 | <hr /></td> |
| 292 | </tr> |
| 293 | <tr id="bug 332704"> |
| 294 | <td width="30%" valign="top" align="left"><b>Accessibility</b> |
| 295 | </td> |
| 296 | <td width="70%" valign="top">Graphiti now fully supports themes |
| 297 | like the high contrast mode to enable Accessibility for disabled |
| 298 | users. Some gaps in presenting selections and gradients were closed.</td> |
| 299 | </tr> |
| 300 | <tr> |
| 301 | <td colspan="2"> |
| 302 | <hr /></td> |
| 303 | </tr> |
| 304 | <tr id="bug 326993"> |
| 305 | <td width="30%" valign="top" align="left"><b>Prevent |
| 306 | Multiple Popups</b> |
| 307 | </td> |
| 308 | <td width="70%" valign="top">When deleting more than one object |
| 309 | a confirmation popup for each of the objects was presented to the |
| 310 | user. This has been improved so that the user has the option "Yes |
| 311 | for all" available.</td> |
| 312 | </tr> |
| 313 | <tr> |
| 314 | <td colspan="2"> |
| 315 | <hr /></td> |
| 316 | </tr> |
| 317 | <tr id="bugfixing"> |
| 318 | <td width="30%" valign="top" align="left"><b>Fixing of Bugs</b> |
| 319 | </td> |
| 320 | <td width="70%" valign="top">Some bugs especially in the area of |
| 321 | the zoom animation, ContextButtonPadData and grid alignment were |
| 322 | fixed.</td> |
| 323 | </tr> |
mwenz | 40f2171 | 2011-03-15 10:13:27 +0000 | [diff] [blame] | 324 | |
| 325 | |
mwenz | 2371bdf | 2011-09-05 13:11:29 +0200 | [diff] [blame] | 326 | <tr> |
| 327 | <td colspan="2"> |
| 328 | <hr style="color: grey; height: 5px" /> |
| 329 | <h2> |
| 330 | <b>M4</b> |
| 331 | </h2> |
| 332 | <hr /></td> |
| 333 | </tr> |
| 334 | <tr id="bug 330230"> |
| 335 | <td width="30%" valign="top" align="left"><b>Indigo Release |
| 336 | Train</b> |
| 337 | </td> |
| 338 | <td width="70%" valign="top">Graphiti declared its participation |
| 339 | in the Indigo release train. All project metadata settings were done |
| 340 | and the project update site is aggregated into the common Indigo |
| 341 | milestones update site.</td> |
| 342 | </tr> |
| 343 | <tr> |
| 344 | <td colspan="2"> |
| 345 | <hr /></td> |
| 346 | </tr> |
| 347 | <tr id="bug 330218"> |
| 348 | <td width="30%" valign="top" align="left"><b>Vector Graphics |
| 349 | Export</b> |
| 350 | </td> |
| 351 | <td width="70%" valign="top">Diagrams can now be exported also |
| 352 | in vector graphics format (SVG). This is available from the save as |
| 353 | dialog of a diagram editor besides the traditional save as JPG, BMP |
| 354 | etc.</td> |
| 355 | </tr> |
| 356 | <tr> |
| 357 | <td colspan="2"> |
| 358 | <hr /></td> |
| 359 | </tr> |
| 360 | <tr id="FillGaps"> |
| 361 | <td width="30%" valign="top" align="left"><b>Filling of |
| 362 | functional gaps</b> |
| 363 | </td> |
| 364 | <td width="70%" valign="top">Some functional gaps like missing |
| 365 | services, automated resizing for combo boxes, creation of color |
| 366 | constants from RGB string etc. were filled.</td> |
| 367 | </tr> |
| 368 | <tr> |
| 369 | <td colspan="2"> |
| 370 | <hr /></td> |
| 371 | </tr> |
| 372 | <tr id="BugFixing"> |
| 373 | <td width="30%" valign="top" align="left"><b>Fixing of bugs</b> |
| 374 | </td> |
| 375 | <td width="70%" valign="top">Some bugs (especially in the area |
| 376 | of refreshing the diagram were fixed.</td> |
| 377 | </tr> |
| 378 | <tr> |
| 379 | <td colspan="2"> |
| 380 | <hr /></td> |
| 381 | </tr> |
| 382 | </table> |
mwenz | 682b149 | 2010-12-15 07:42:58 +0000 | [diff] [blame] | 383 | </body> |
| 384 | </html> |