Skip to main content
Jump to: navigation, search

Graphical Modeling Framework/Versions/GMF 2.1

< Graphical Modeling Framework‎ | Versions
Revision as of 17:31, 8 January 2008 by (Talk | contribs) (Palette Enhancements in M5)

Graphical Modeling Framework 2.1 New and Noteworthy items

See GMF Project Plan for more details

Back to Graphical Modeling Framework

Previous Release N&N Pages

GMF 2.0 New and Noteworthy - Released: June 28, 2007

GMF 1.0 New and Noteworthy - Released: June 30, 2006

2.1 M1

Export Big Diagrams to Images

Huge diagrams that fail to be exported to a single JPEG, JPG, GIF, PNG or BMP image (Bug 160386), now can be exported to a number of images that combined together will display the image of the whole diagram (or selected editparts). An HTML file is created to view the whole image. The HTML file essentially contains a table, each cell of which is occupied by the appropriate piece of diagram's image (i.e. by the image file corresponding to that particular piece of the diagram). GMF's UI for exporting diagrams to images has been added a checkbox "Export to HTML", which will trigger exporting the diagram as described above.


The result of exporting a huge Geoshape diagram to HTML with the HTML file opened looks as follows:


2.1 M3

Label Enhancements in the GMF Runtime

There were a number of usability bugs with the WrapLabel implementation and the TextDirectEditManager. The TextCompartmentEditPart and its helper classes also made assumptions that the figure of a TextCompartmentEditPart was a WrapLabel, making it difficult for clients to use any other label figures.

A new WrappingLabel has been created that uses GEF's Flow Figure classes to perform that text wrapping. The TextCompartmentEditPart and its helper classes have been modified so that there is only a dependency on a new interface, ILabelDelegate, which a client could use with any figure for displaying the label. The TextDirectEditManager has been changed to fix a few bugs and work with an ILabelDelegate.

Existing GMF Runtime clients need not make any code changes to enjoy the benefits of the new WrappingLabel as the existing WrapLabel subclasses the new WrappingLabel. However, it would be wise to test all behavior with text on diagrams to ensure there are no regressions.

A document which discusses the design, gives an overview of the changes made, and provides documentation for the clients on how to use the new WrappingLabel is attached to the bugzilla: Bug 162932

2.1 M4

Group/Ungroup Functionality in the GMF Runtime

The GMF Runtime now has the ability to group and ungroup shapes. Check out the GMF Runtime Logic and Geoshapes Examples to see the new functionality. It's under the Format menu when multiple shapes are selected. The group/ungroup actions are not contributed by default by the GMF Runtime. To learn how to adopt the group/ungroup in a GMF diagram, see the document attached to Bug 111892. Note at this point, the group/ungroup functionality has not yet been adopted by the GMF Code Generator.

Additional Snap to Grid Functionality in the GMF Runtime

The GMF Runtime has extended the use of snap to grid for two existing components.

Arrange All / Arrange Selection

Edit parts selected will now snap to grid at the end of the arrange session, if the snap to grid property is enabled. Bugzilla 119252 Screen shots of "arrange all" in action with snap to grid on is shown below.

Before Using Arrange All After Using Arrange All
Arrange before.jpg Arrange after.jpg

Connection Bend Points

Connection bend points will now snap to grid when being dragged by the user, if the snap to grid property is enabled. Bugzilla 194282 A screen shot of bend points snapped to grid is shown below.

Connection bendpoint.jpg

GEF Alignment Feature: Snap To Geometry added in the GMF Runtime

The GMF Runtime now has the capability to allow edit parts to snap to each other when editing. Bugzilla 188974 The snap to geometry property can be enabled and disabled in the ruler/grid property section. Snapping to other edit parts inside compartments are also supported. However, edit parts can only snap to other edit parts that share the same parent. (e.g: edit parts inside a compartment can only snap to each other) Some screen shots of this new feature are shown below.

SnapGeo 01.jpg SnapGeo 02.jpg SnapGeo 03.jpg
SnapGeo 04.jpg

Customize Palette Capability in the GMF Runtime

It is now possible for users to customize the palette in an application using the GMF Runtime. Users can: hide palette entries, rename palette entries, and set drawers to be open and/or pinned on startup. The customizations are saved in the workspace preferences.

At this point, saving the customizations does not work in GMF generated diagram editors because these editors do not have palette ids.

For further details see: Bugzilla 114117

CustomizeMenu.jpg || CustomizeDialog.jpg

2.1 M5

Palette Enhancements in the GMF Runtime

  1. The palette can be resized, moved to the west side of the diagram, and minimized by the user; however, these settings were never persisted. Now these customizations are saved in the workspace preferences. See Bugzilla 117917
  2. There is a new method getInitialDockLocation() in DiagramEditorWithFlyOutPalette that allows the client to change the default docking location of the palette to be the west side. See Bugzilla 206371

Back to the top