Contents

Draw2d

Refactoring of Geometry API

Geometry API was refactored to guarantee consistency between integer-precision and double-precision version of Point/PrecisionPoint, Dimension/PrecisionDimension, and Rectangle/PrecisionRectangle. Synchronization between the still exposed integer-precision fields (x, y, width, height) and the no-longer exposed double-precision fields (preciseX, preciseY, preciseWidth, preciseHeight) is performed automatically by precision classes now, so clients may use the precision versions transparently, being no longer forced to perform a manual update of the respective fields. See 124904, 142628, and 271235 for details.

GEF

Refactoring of Layout and PrimaryDrag edit policies

TODO

MarqueeSelectionTool

MarqueeSelectionTool was enhanced to now offer the following default marquee behaviors:

BEHAVIOR_CONNECTIONS_TOUCHED (supported since 3.1)

BEHAVIOR_CONNECTIONS_CONTAINED

BEHAVIOR_NODES_TOUCHED

BEHAVIOR_NODES_CONTAINED (supported since 3.1, default behavior)

BEHAVIOR_NODES_TOUCHED_AND_RELATED_CONNECTIONS

BEHAVIOR_NODES_CONTAINED_AND_RELATED_CONNECTIONS (supported since 3.1, formerly known as BEHAVIOR_NODES_AND_CONNECTIONS, which was in turn deprecated).

Refactored MarqueeSelectionTool, by separating those code fragments depending on the current tool mode from those depending on the selected marquee behavior. Clients may now customize behavior of MarqueeSelectionTool by subclassing and customizing the following methods:

performMarqueeSelect()

calculateMarqueeSelectedEditParts()

isMarqueeSelectable(EditPart)

The following methods are now exposed (protected visibility) so clients can consume them:

getCurrentMarqueeSelectionRectangle()

getCurrentSelectionMode()

MatchSizeAction

Similar to MatchWidthAction and MatchHeightAction, a concrete MatchSizeAction was now made available (see 107916).