This document contains the release notes for recent major releases of Sirius. See also the release notes from previous versions for details about older releases.
org.eclipse.sirius.diagram.ui
org.eclipse.sirius.diagram.ui.colorPalettePopupProvider
has been introduced. It allows to provide a custom color palette popup by registering a custom implementation of the new
org.eclipse.sirius.diagram.ui.tools.api.color.ColorPalettePopupProvider
interface. See the
exsd
file for the extension point for more information and an example.
it is not possible to pin/unpin edges or compartments.
. Nevertheless, it was possible to pin/unpin edges through the corresponding wizard (using the
Pin/Unpin
button provided by the tab bar when there is no element selected on the diagram). The default layout considered this status with different results according to the pinned status of source/target:
Pin status
button is enabled on edges.
Automatically mark moved elements as pinned
also affects edges.
org.eclipse.sirius.diagram.elk
org.eclipse.sirius.diagram.elk.targetFolderPath
is now available to set the folder path where the diagram will be exported in “ELK Graph” format. Previously, this path was hard-coded to the Java temporary folder path
java.io.tmpdir
(for example under Windows:
%USER%\AppData\Local\Temp
). If this property is not set (or is invalid), the Java temporary folder is used. The value of this system property can contains variables names, like in the definition of the workspace data folder in a launch configuration. For example:
${container_loc}
: Returns the absolute file system path of the session’s container (container of the AIRD * file),
${project_loc}
: Returns the absolute file system path of a session’s project,
${workspace_loc}
: Returns the absolute file system path of the workspace root.
"$"
by a
"%"
to avoid a replacement of the variables during the launch (and not by ElkDiagramLayoutTracer during export).
org.eclipse.sirius.diagram
org.eclipse.sirius.diagram.tools.api.management.ToolManagement.hash(byte[])
has been added to generate a hash for IDs of Tools and ToolSections in Palette.
SiriusUIPreferencesKeys.PREF_DISPLAY_VSM_USER_FIXED_COLOR_IN_PALETTE
has been renamed from “Display viewpoints colors” to “Display suggested colors in color palette”.
org.eclipse.sirius.diagram.ui
org.eclipse.sirius.diagram.ui.tools.api.color.ColorManager.collectVsmColors(Session)
has replaced
Map<String, RGB> collectVsmAndDefaultColors(Session session)
.
Paste Format
,
Paste Style
and
Paste Layout
) are now called semantic paste (i.e.
Paste Format (Semantic)
,
Paste Style (Semantic)
and
Paste Layout (Semantic)
), but their behavior remains unchanged.
Apply the applicable appearance properties of the last selected shape to the other selected shapes.
has been removed. Use the new style copy-paste feature, which does the same thing.
AnnotationEntry
elements of
DTable
instances. This modification allows following use-cases:
org.eclipse.sirius.diagram.business.api.diagramtype.IDiagramDescriptionProvider.allowsAutoSizeNodeStyle(DNode)
has been added to indicates if a diagram description provider allows node auto-size mode computed from the node style on the specified element.
org.eclipse.sirius.diagram.business.api.query.DNodeQuery.isAutoSize()
has been added to indicates if a node is in auto-size mode.
org.eclipse.sirius.diagram.business.api.query.DNodeQuery.supportNodeStyleAutoSize(NodeStyle, NodeStyleDescription)
has been added to indicates if a DNode can support autosize mode defined from its style.
org.eclipse.sirius
org.eclipse.sirius.business.api.logger.InterpretationContext
is created to ease setting and clearing variables when interpreting expressions.
org.eclipse.sirius.table
org.eclipse.sirius.table.business.api.helper.TableVariablesHelper
is added to initialize variable value according active table decorator.
org.eclipse.sirius.table.business.api.helper.TableToolHelper
is added to handle common evaluations with table tools.
org.eclipse.sirius.table.business.api.helper.TableHelper.canEditCrossTableCell(DCell)
and
org.eclipse.sirius.table.business.api.helper.TableHelper.canEditCrossTableCell(DCell)
have been deprecated for removal.
TableToolHelper
should be used to handle precondition evaluation.
org.eclipse.sirius.table.business.api.query.DLineQuery
query has been deprecated for removal. It was only used once in a internal class.
org.eclipse.sirius.table.tools.api.command.ITableCommandFactory.buildCreateLineCommandFromTool(LineContainer, EObject, CreateTool)
and
org.eclipse.sirius.table.tools.api.command.ITableCommandFactory.buildCreateColumnCommandFromTool(DTable, EObject, CreateTool)
have been deprecated for removal. They have been replaced by methods using applicable DSemanticDecorator in signature.
org.eclipse.sirius.diagram.ui
org.eclipse.sirius.diagram.ui.business.api.view.SiriusLayoutDataManager.KEEP_FIXED
has been added to tag elements to be laid out and indicate that their location should not be modified.
org.eclipse.sirius.diagram.ui.business.api.view.SiriusLayoutDataManager.getArrangeCreatedViewsCommand(List<IAdaptable>, List<IAdaptable>, IGraphicalEditPart, String)
has been added to handle the new
KEEP_FIXED
layout tag. There are now 3 types of tags that can be used for layout:
org.eclipse.gmf.runtime.diagram.ui.services.layout.LayoutType.DEFAULT
,
org.eclipse.sirius.diagram.ui.business.api.view.SiriusLayoutDataManager.LAYOUT_TYPE_ARRANGE_AT_OPENING
and
org.eclipse.sirius.diagram.ui.business.api.view.SiriusLayoutDataManager.KEEP_FIXED
.
org.eclipse.sirius.diagram.ui.tools.api.preferences.SiriusDiagramUiPreferencesKeys.PREF_FONT_LAST_USED_COLORS
is used to store the last used font colors.
org.eclipse.sirius.diagram.ui.tools.api.preferences.SiriusDiagramUiPreferencesKeys.PREF_FILL_LAST_USED_COLORS
is used to store the last used fill colors.
org.eclipse.sirius.diagram.ui.tools.api.preferences.SiriusDiagramUiPreferencesKeys.PREF_LINE_LAST_USED_COLORS
is used to store the last used line colors.
org.eclipse.sirius.diagram.ui.tools.api.color.ColorManager.collectVsmColors(Session)
has been added to collect colors defined in the VSM.
org.eclipse.sirius.diagram.ui.tools.api.color.ColorManager.rgbToString(RGB)
has been added to convert an RGB color to a string.
org.eclipse.sirius.diagram.ui.tools.api.color.ColorManager.stringToRGB(String)
has been added to convert a string color to an RGB color.
org.eclipse.sirius.diagram.ui.tools.api.color.ColorManager.sortColors(Collection<RGB>)
has been added to sort a collection of RGB colors using their HSB (Hue, Saturation, Brightness). The specified collection isn’t modified.
org.eclipse.sirius.diagram.ui.tools.api.color.ColorCategoryManager
has been added to manage color categories used in the new
ColorPalettePopup
. It includes the following methods:
org.eclipse.sirius.diagram.ui.tools.api.color.ColorCategoryManager.getLastUsedColors()
to get the list of last colors used by the user.
org.eclipse.sirius.diagram.ui.tools.api.color.ColorCategoryManager.getCustomColors()
to get the list of custom colors defined by the user.
org.eclipse.sirius.diagram.ui.tools.api.color.ColorCategoryManager.getSuggestedColors()
to get the list of the ten preferred colors defined in the VSM.
org.eclipse.sirius.diagram.ui.tools.api.color.ColorCategoryManager.getBasicColors()
to get ten useful colors.
org.eclipse.sirius.diagram.ui.tools.api.color.ColorCategoryManager.addLastUsedColor(RGB)
to add a color to the list of last used colors.
org.eclipse.sirius.diagram.ui.tools.api.color.ColorCategoryManager.setCustomColors(List<RGB>)
to set the list of custom colors defined by the user.
org.eclipse.sirius.diagram.ui.tools.api.color.ColorCategoryManager.setSuggestedColors(List<RGB>)
to set the list of the preferred suggested colors.
org.eclipse.sirius.diagram.ui.tools.api.color.ColorCategoryManager.getSelectedColorsByPropertyId()
to get the list of colors used for all objects selected in the representation for a specific propertyId.
org.eclipse.sirius.diagram.ui
org.eclipse.sirius.diagram.ui.tools.api.util.GMFNotationHelper.getNotes(Diagram)
and
org.eclipse.sirius.diagram.ui.tools.api.util.GMFNotationHelper.getTextNotes(Diagram)
now return a list of
org.eclipse.gmf.runtime.notation.Shape
instead of a list of
org.eclipse.gmf.runtime.notation.Node
. This type is more precise and avoids multiple cast when using the returned list.
org.eclipse.sirius.diagram.ui.tools.api.preferences.SiriusDiagramUiPreferencesKeys
:
PREF_NEWLY_CREATED_ELEMENTS_LAYOUT
: An integer preference used to define the arrangement of elements created on a diagram when they are not directly positioned by the user. When created successively, elements can be positioned diagonally, vertically or horizontally. Elements can be positioned diagonally with the value 0, vertically with the value 1, horizontally with the value 2. By default, elements are positioned diagonally with the value 0.
The Sirius default values for these preferences can be overridden for a specific product. For example:
// Preference customization for plugin "org.eclipse.sirius.diagram.ui"
IEclipsePreferences diagramPreferences = DefaultScope.INSTANCE.getNode(org.eclipse.sirius.diagram.ui.provider.DiagramUIPlugin.ID);
// By default override the @PREF_NEWLY_CREATED_ELEMENTS_LAYOUT@ default value
diagramPreferences.putBoolean(SiriusDiagramUiPreferencesKeys.@PREF_NEWLY_CREATED_ELEMENTS_LAYOUT@, 2);
-Dorg.eclipse.sirius.diagram.ui.internal.region.autosize.figure.optimized=true
-Dorg.eclipse.sirius.diagram.ui.internal.region.autosize.action.optimized=true
-Dorg.eclipse.sirius.diagram.ui.internal.region.content.canonical.layout.standard=true
org.eclipse.sirius.diagram.ui
org.eclipse.sirius.diagram.ui.business.api.query.NodeQuery.getFreeFormContainerCompartment()
is added to get the compartment of the GMF node container with “free form” layout.
org.eclipse.sirius.diagram.ui.business.api.query.ViewQuery.isFreeFormContainer()
and
org.eclipse.sirius.diagram.ui.business.api.query.ViewQuery.isRegionContainer()
are added to test if a GMF node is associated to DNodeContainer Sirius diagram element with respectively free form layout and stack layout (horizontal or vartical).
org.eclipse.sirius.diagram.ui.business.api.query.ViewQuery.isFreeFormCompartment()
is added to test if a GMF node is compartment of node corresponding to a Sirius container free form.
Added
org.eclipse.sirius.diagram.ui.business.api.query.ViewQuery.isNode()
is added to test if a GMF node is associated to DNode Sirius diagram element.
org.eclipse.sirius.diagram.ui.business.api.query.ViewQuery.isNodeLabel()
is added to test if a GMF node is associated to label of DNode Sirius diagram element.
CirclePlus
,
DiamondWithDot
,
FillDiamondWithDot
,
InputArrowWithDiamondAndDot
,
InputArrowWithDot
,
InputArrowWithFillDiamondAndDot
.
Shift
key is pressed during using the
left arrow
key, a collapse all is done instead of a simple collapse. This is the same for expand with
Shift
+
right arrow
key. You can refer to
navigation documentation for more details.
org.eclipse.sirius.ui.restoreBehaviorEnablingDirectEditOnAlphanumericKey
to true
org.eclipse.sirius.ui.enableCreatedElementsConstraintInSelectElementsListener
has been added to allow to ignore the “created elements” constraint when the
SelectDRepresentationElementsListener
is called to select elements after a tool execution. In other words, this allows to select an element that is not created during the tool execution. The default value of the system property is
true
. It must be set to
false
to ignore the constraint.
org.eclipse.sirius.properties.core.api.SiriusInputDescriptor
and
org.eclipse.sirius.properties.core.internal.SiriusToolServices
classes allows to use the list of selected elements in order to exploit additional informations. It is now possible to retrieve the list of selected elements via an aql expression like
aql:input.getSelectedOriginalSelections()
, the list of semantic elements with
aql:input.getSelectedSemanticElements()
and the list of contexts with
aql:input.getContextSelections()
.
org.eclipse.sirius.ecore.extender.business.api.permission.IPermissionAuthority
now has a
isFrozen(EObject)
method. This is a status handled by the collaborative plugins, but this new API makes this status available for queries from Sirius core plugins.
org.eclipse.sirius
org.eclipse.sirius.business.api.helper.task.DeleteEObjectTask.getEObjectToDelete()
has been added to get the EObject that will be deleted by this task.
org.eclipse.sirius.business.api.refresh.RepresentationTimeStampInformationSupplierRegistry
and
org.eclipse.sirius.business.api.refresh.RepresentationTimeStampInformationSupplier
have been added. The first is the registry to register instance of the second that allows to tell when the DRepresentationDescriptor.changeId is updated or not.
org.eclipse.sirius.business.api.query.SiriusProjectDependencyQuery
is added to get project
dependencies from a given project.
org.eclipse.sirius.business.api.session.Session.getSharedMainDAnalysis()
is added to get the DAnalysis that holds data and can be shared in some context such as CDO.
org.eclipse.sirius.diagram.ui
org.eclipse.sirius.diagram.ui.tools.api.preferences.SiriusDiagramUiPreferencesKeys
:
PREF_PROMPT_PASTE_MODE
: A boolean preference to say if the paste mode must be requested at each “Paste format” or “Paste layout” action.
PREF_PASTE_MODE_ABSOLUTE
: : A boolean preference for the paste mode, true for “Absolute” mode, false for “Bounding box” mode. This preference is changed as soon as the user changes the selection in the dialog asking the mode. Thereby, at the next dialog, the last choice is pre-selected.
PREF_PROMPT_PASTE_MODE
is true, this preference is used to pre-select the choice in the dialog.
PREF_PROMPT_PASTE_MODE
is false, this preference is used as the Paste mode to apply.
The Sirius default values for these preferences can be overridden for a specific product. For example:
// Preference customization for plugin "org.eclipse.sirius.diagram.ui"
IEclipsePreferences diagramPreferences = DefaultScope.INSTANCE.getNode(org.eclipse.sirius.diagram.ui.provider.DiagramUIPlugin.ID);
// By default override the PREF_PROMPT_PASTE_MODE default value
diagramPreferences.putBoolean(SiriusDiagramUiPreferencesKeys.PREF_PROMPT_PASTE_MODE, false);
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager
to allow to paste the layout on a subpart of the children of a container and not on all children of this container:
applyLayout(IGraphicalEditPart, List<IGraphicalEditPart>, boolean)
and
applyFormat(IGraphicalEditPart, List<IGraphicalEditPart>, boolean)
. A default implementation is available in
org.eclipse.sirius.diagram.ui.tools.api.format.AbstractSiriusFormatDataManager
.
org.eclipse.sirius.tests.swtbot.support
org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor
:
getAbsoluteLocation(String, Class<? extends EditPart>, boolean)
and
getAbsoluteLocation(GraphicalEditPart, boolean)
. Only a boolean parameter has been added to two existing methods (same name without last boolean parameter). This boolean allows to consider, or note, the label of an edge in the bounds computation.
org.eclipse.sirius.properties.core
org.eclipse.sirius.properties.core.api.SiriusInputDescriptor
class has been modified to handle the selection of many elements by creating a list of SiriusContext. This enhancement allows to access the list of selected semantic elements with
org.eclipse.sirius.properties.core.api.SiriusInputDescriptor.getSemanticElements()
and the list of original selected objects with
org.eclipse.sirius.properties.core.api.SiriusInputDescriptor.getOriginalSelections()
.
org.eclipse.sirius.diagram.ui.business.internal.migration.WorkspaceImageGMFBoundsMigrationParticipant
migration participant has been modified to fix the previous version
15.0.0.202201261500 . The corresponding version, stored in attribute version of viewpoint:DAnalysis of the aird file, is
15.0.0.202209061200.
org.eclipse.sirius.diagram.ui.business.internal.migration.SetChangeIdMigrationParticipant
that set a changeId value for each DRepresentationDescriptor that did not have one has been changed. The migration participant now sets a time stamp that represents the absolute time. The corresponding version, stored in the attribute version of viewpoint:DAnalysis of the aird file, is
15.1.0.202211301600.
Minor release to avoid errors thrown during indirect deletion of edges whose label is selected (deletion done from outside the diagram editor or from a custom command).
com.ibm.icu
has been removed.
edgeView
and
otherEnd
are now also available during precondition evaluation of a reconnect tool. Before, these variables were available only during the reconnection tool execution.
org.eclipse.sirius
org.eclipse.sirius.business.api.helper.task.TaskHelper.checkPrecondition(EObject, AbstractToolDescription, Map<String, EObject>, boolean, boolean)
has been added to factorize code for the evaluation of a tool precondition.
org.eclipse.sirius.common
org.eclipse.sirius.common.tools.api.interpreter.VariableType.fromVariableTypes(VariableType...)
has been added to create a new VariableType from a list of other VariableTypes, ie a concatenation without duplicate.
org.eclipse.sirius.diagram
edgeView
and
otherEnd
is now available in
org.eclipse.sirius.diagram.tools.api.interpreter.IInterpreterSiriusDiagramVariables
. Before, it was duplicated constants in several classes.
org.eclipse.sirius.diagram.ui.enableEmbeddedSVGInSVGExport
to
false
.
org.eclipse.sirius.model
, re-exported by
org.eclipse.sirius
org.eclipse.sirius.diagram.model
, re-exported by
org.eclipse.sirius.diagram
org.eclipse.sirius.diagram.sequence.model
, re-exported by
org.eclipse.sirius.diagram.sequence
org.eclipse.sirius.table.model
, re-exported by
org.eclipse.sirius.table
org.eclipse.sirius.tree.model
, re-exported by
org.eclipse.sirius.tree
org.eclipse.sirius.diagram.ui.disableArrangeAtOpeningChanges
to
true
. You can also create a specific bugzilla to explain the problem. This system property is temporary and will be removed in one or two versions.
org.eclipse.sirius.diagram.ui.disableHStackContainerNewBehavior
to
true
. You can also create a specific bugzilla to explain the problem. This system property is temporary and will be removed in one or two versions.
org.eclipse.sirius.ext.base.Option<T>
helper type has been deprecated for removal. It will be progressively replaced by the standard
java.util.Optional
type in our APIs.
org.eclipse.sirius.workflow.*
and
org.eclipse.sirius.editor.workflow
plug-ins.
org.eclipse.sirius.server.*
plug-ins.
org.eclipse.sirius.business.api.query.DRepresentationDescriptorQuery.isRepresentationReachable(boolean)
was added to allow it to load the representation in order to verify that the representation element is reachable, not just its resource. To benefit from this new method,
org.eclipse.sirius.business.api.query.DRepresentationDescriptorQuery.isRepresentationValid(boolean)
and
org.eclipse.sirius.business.api.query.DRepresentationDescriptorQuery.DRepresentationDescriptorValidityAdapter.triggerRepresentationValidation(boolean)
were also created. These new methods (with a parameter value true) can be used in tests, but should not be used by the “Model explorer” view otherwise there would be no more lazy loading of representations.
org.eclipse.sirius
org.eclipse.sirius.business.api.image.ImageManager
and
org.eclipse.sirius.business.api.image.Base64ImageHelper
have been added to support image management such as image creation from base64 string or image path serialization.
org.eclipse.sirius.business.api.query.SiriusReferenceFinderCache
has been added. This cache allows to avoid redundant computing to find impacted DRepresentationDescriptors returned by
org.eclipse.sirius.business.api.query.SiriusReferenceFinder.getImpactedRepresentationDescriptors
.
org.eclipse.sirius.business.api.query.SiriusReferenceFinder.CACHE
is a convenience to use
org.eclipse.sirius.business.api.query.SiriusReferenceFinderCache
.
org.eclipse.sirius.viewpoint.SiriusPlugin
has been renamed to
org.eclipse.sirius.tools.api.SiriusPlugin
org.eclipse.sirius.viewpoint.Messages
has been renamed to
org.eclipse.sirius.tools.api.Messages
org.eclipse.sirius.business.api.helper.ViewpointUtil
has been deprecated,
org.eclipse.sirius.model.business.api.helper.ViewpointUtil
from plugin
org.eclipse.sirius.model
should be used instead.
org.eclipse.sirius.business.api.resource.ResourceDescriptor
has been moved to
org.eclipse.sirius.model
plugin alongside with code generated from Sirius metamodel as it is one of its data type.
org.eclipse.sirius.business.api.resource
has been renamed to
org.eclipse.sirius.business.api.resource.support
. Impacted classes are
org.eclipse.sirius.business.api.resource.support.LoadEMFResource
and
org.eclipse.sirius.business.api.resource.support.WorkspaceDragAndDropSupport
.
org.eclipse.sirius.tools.api.ui.color.EnvironmentSystemColorFactory
has been moved to
org.eclipse.sirius.model
plugin.
org.eclipse.sirius.business.api.session.danalysis.DAnalysisSelector.selectSmartlyAnalysisForAddedResource(Resource, Collection<DAnalysis>)
and
org.eclipse.sirius.business.api.session.danalysis.DAnalysisSessionHelper.selectAnalysis(Resource, Collection<DAnalysis>, DAnalysisSelector)
have been deprecated for removal in a future version.
org.eclipse.sirius.common
org.eclipse.sirius.common.tools.api.resource.FileProvider.exists(IPath)
and
org.eclipse.sirius.common.tools.api.resource.IFileGetter.exists(IPath)
have been added to know if a path leads to an existing file.
org.eclipse.sirius.diagram
org.eclipse.sirius.diagram.DiagramPlugin
has been renamed to
org.eclipse.sirius.diagram.tools.api.DiagramPlugin
.
org.eclipse.sirius.diagram.Messages
has been renamed to
org.eclipse.sirius.diagram.tools.api.Messages
.
eventShouldTriggerArrange(OperationHistoryEvent)
in
org.eclipse.sirius.diagram.business.api.diagramtype.IDiagramDescriptionProvider
This method is used to avoid an arrange to be launch for a specific event if it is not necessary for a specific diagram description.
org.eclipse.sirius.diagram.business.api.helper.graphicalfilters.HideFilterHelper.hideLabel(DDiagramElement, Map<EObject, List<Integer>>)
has been added in order to hide a list of labels of a diagram element. This is dedicated to DEdge that can have up to 3 labels. The list of Integer correspond to the VisualID of the corresponding edge label edit part.
org.eclipse.sirius.diagram.business.api.helper.graphicalfilters.HideFilterHelper.revealLabel(DDiagramElement, Map<EObject, List<Integer>>)
has been added in order to reveal a list of labels of a diagram element. This is dedicated to DEdge that can have up to 3 labels. The list of Integer correspond to the VisualID of the corresponding edge label edit part.
org.eclipse.sirius.diagram.tools.api.command.IDiagramCommandFactory.buildHideLabelSelectionCommand(Set<EObject>, Map<EObject, List<Integer>>)
has been added to forward the labels of an edge to hide to the command.
org.eclipse.sirius.diagram.tools.api.command.IDiagramCommandFactory.buildRevealLabelSelectionCommand(DDiagramElement, Map<EObject, List<Integer>>)
has been added to forward the labels of an edge to reveal to the command.
org.eclipse.sirius.diagram.tools.api.command.view.HideDDiagramElementLabel.HideDDiagramElementLabel(TransactionalEditingDomain, Set<?>, Map<EObject, List<Integer>>)
has a new constructor in order to give the list of labels of an edge to hide.
org.eclipse.sirius.diagram.tools.api.command.view.RevealDDiagramElementsLabel.RevealDDiagramElementsLabel(TransactionalEditingDomain, Set<DDiagramElement>, Map<EObject, List<Integer>>)
has a new constructor in order to give the list of labels of an edge to reveal.
org.eclipse.sirius.diagram.business.api.query.DDiagramElementQuery.hasAnyHiddenLabel()
has been added in order to check if at least one label of a DDiagramElement is hidden.
org.eclipse.sirius.diagram.business.api.query.DDiagramElementQuery.areAllLabelsHidden()
has been added in order to check if at all labels of a DDiagramElement are hidden.
org.eclipse.sirius.diagram.business.api.query.DDiagramElementQuery.areAllLabelsHidden(List<Integer>)
has been added in order to check if at all labels of the given collection concerning a DDiagramElement are hidden.
org.eclipse.sirius.diagram.business.api.query.DDiagramElementQuery.isLabelHidden(int)
has been added in order to check if one label in particular of a DDiagramElement is hidden.
org.eclipse.sirius.diagram.business.api.query.DEdgeQuery.howManyLabels()
has been added in order to return how many labels an edge has.
org.eclipse.sirius.diagram.business.api.query.DEdgeQuery.areAllLabelsHidden()
has been added in order to check if at all labels of a DEdge are hidden.
org.eclipse.sirius.diagram.model
DiagramDescription::allTools
operation has been removed from the Diagram metamodel. The corresponding method has been removed from generated code. Calls to
org.eclipse.sirius.diagram.description.DiagramDescription.getAllTools()
should be replaced by
new org.eclipse.sirius.diagram.business.api.query.DiagramDescriptionQuery(diagramDescription).getAllTools()
.
DiagramDescription::allEdgeMappings
operation has been removed from the Diagram metamodel. The corresponding method has been removed from generated code. Calls to
org.eclipse.sirius.diagram.description.DiagramDescription.getAllEdgeMappings()
should be replaced by
org.eclipse.sirius.diagram.business.internal.metamodel.helper.ContentHelper.getAllEdgeMappings(diagramDescription, false)
alongside with the getAllNodeMappings and getAllContainerMappings methods.
org.eclipse.sirius.diagram.ui
org.eclipse.sirius.diagram.ui.business.api.image.WorkspaceImageHelper
has been added, it includes most of the methods that previously existed in
org.eclipse.sirius.diagram.ui.business.api.image.ImageSelectorService
. The affected methods are:
org.eclipse.sirius.diagram.ui.business.api.image.WorkspaceImageHelper.updateStyle(BasicLabelStyle, String)
, which was previously
org.eclipse.sirius.diagram.ui.business.api.image.ImageSelectorService.updateStyle(BasicLabelStyle, String)
.
org.eclipse.sirius.diagram.ui.business.api.image.WorkspaceImageHelper.updateWorkspacePath(BasicLabelStyle, String)
, which was previously
org.eclipse.sirius.diagram.ui.business.api.image.ImageSelectorService.updateWorkspacePath(BasicLabelStyle, String)
.
org.eclipse.sirius.diagram.ui.business.api.image.ImageSelectionDialog
has been added to replace the
org.eclipse.sirius.common.ui.tools.api.resource.WorkspaceResourceDialogWithFilter
dialog which was used to select a background image for a diagram element.
org.eclipse.sirius.diagram.ui.business.api.image.ImageSelectionDialog
now provides a new simpler and more complete UI.
org.eclipse.sirius.diagram.ui.business.api.image.ITreeImagesContentProvider
has been added to allow the implementation of an
org.eclipse.jface.viewers.ITreeContentProvider
that can be used by
org.eclipse.sirius.diagram.ui.business.api.image.ImageSelectionDialog
to retrieve image information.
org.eclipse.sirius.diagram.ui.business.api.image.ImageFiltersUtils
provides the filter used by the TreeViewer in the
ImageSelectionDialog
as well as various utility methods to identify the supported image formats.
org.eclipse.sirius.diagram.ui.business.api.image.GallerySelectable
provides an implementation of
org.eclipse.sirius.diagram.ui.tools.internal.dialogs.widgets.gallery.Gallery
which allows to select items in the gallery. This is mostly used in tests.
GallerySelectable
allows to use the
org.eclipse.sirius.diagram.ui.tools.internal.dialogs.widgets.gallery.Gallery
in
ImageSelectionDialog
implementations.
org.eclipse.sirius.diagram.ui.tools.api.editor.DDiagramEditor
:
enableFireNotification()
to enable the fire notification, ie it causes the editor to fire selection changed notification to all listeners when
SelectionManager#fireSelectionChanged()
is called, and
disableFireNotification()
to disable it. It is used internally, among others, to disable the notification during a drag’n’drop of an element or during the reconnection of an edge.
org.eclipse.sirius.diagram.ui
now depends on GMF Runtime 1.14.0, which itself uses Apache Batik 1.14.0 to support SVG (both rendering SVG images on diagrams and exporting diagrams to SVG files). As a result, exporting diagrams to PDF is not supported anymore (as GMF Runtime 1.14.0 itself has dropped support for this).
org.eclipse.sirius.diagram.ui.business.api.image.ImageSelector
has been modified to support multiple image selection. The enum
org.eclipse.sirius.diagram.ui.business.api.image.ImageSelector.SelectionMode
can be used to define the selection mode supported:
MONO_SELECTION
for a single selection or
MULTI_SELECTION
for a multiple selection. The method
org.eclipse.sirius.diagram.ui.business.api.image.ImageSelector.selectImages(EObject, SelectionMode)
has been updated to handle this selection mode as a parameter and now returns the list of selected images as a
List<String>
.
org.eclipse.sirius.diagram.ui.business.api.image.WorkspaceImageSelector
has been modified to implement the interface
ImageSelector
and the update of its
ImageSelector.selectImages(EObject, SelectionMode)
method.
org.eclipse.sirius.diagram.ui.business.api.image.ImageSelectorService
has been split in a new lighter
ImageSelectorService
which aims to get an
ImageSelector
. The other methods have been moved to
org.eclipse.sirius.diagram.ui.business.api.image.WorkspaceImageHelper
.
org.eclipse.sirius.diagram.ui.tools.internal.util.EditPartQuery.getVisualID()
has been added in order to return the VisualID field value if there is one.
org.eclipse.sirius.diagram.ui.tools.api.figure.FigureQuery.edgeLabelViewConstantToVisualID(int)
has been added in order to convert LabelViewConstant values to the equivalent VisualID from the label edit parts.
org.eclipse.sirius.diagram.ui.tools.api.figure.SiriusWrapLabelWithAttachment.getLocationField()
was added in order to have a public access to the location value.
org.eclipse.sirius.diagram.ui.business.api.provider.DEdgeBeginLabelItemProvider
,
org.eclipse.sirius.diagram.ui.business.api.provider.DEdgeEndLabelItemProvider
and
org.eclipse.sirius.diagram.ui.business.api.provider.DEdgeLabelItemProvider
methods equals and hashCode have been overridden in order to differentiate them in an HashSet.
org.eclipse.sirius.common.ui
org.eclipse.sirius.common.ui.tools.api.resource.WorkspaceResourceDialogWithFilter
is now deprecated. The use of
org.eclipse.sirius.diagram.ui.business.api.image.ImageSelectionDialog
is now favored to provide a dialog to select a background image of a diagram element.
org.eclipse.sirius.diagram.sequence
org.eclipse.sirius.diagram.sequence.util.Range
has been moved to
org.eclipse.sirius.diagram.sequence.business.api.util.Range
org.eclipse.sirius.diagram.sequence.util.Pair
has been moved to
org.eclipse.sirius.diagram.sequence.business.api.util.Pair
org.eclipse.sirius.diagram.sequence.Messages
has been moved to
org.eclipse.sirius.diagram.sequence.tool.internal.Messages
.
org.eclipse.sirius.tests.swtbot.support
org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusHelper.selectGalleryItem(SWTBot, String)
has been added in order to select an item in the Gallery in the new
org.eclipse.sirius.diagram.ui.business.api.image.ImageSelectionDialog
.
org.eclipse.sirius.tests.swtbot.support.api.condition.CheckNbVisibleElementsInGallery
has been added to avoid tests failing because of images that have not finished loading.
org.eclipse.sirius.tests.swtbot.support.api.AbstractSiriusSwtBotGefTestCase.getNbStatusInErrorLog()
has been removed. It is not reliable (sometimes the number of elements returned is 0 instead of the real number). It should be replaced by
doesAnErrorOccurs()
and
doesAWarningOccurs()
.
org.eclipse.sirius.tests.junit.support
org.eclipse.sirius.tests.support.api.SiriusTestCase.copyAllFiles(String, String, String)
and
org.eclipse.sirius.tests.support.api.EclipseTestsSupportHelper.copyDirectory(String, String)
have been added to ease to the copy of the test files from the test plugin to the junit workspace.
org.eclipse.sirius.diagram.ui.business.internal.migration.WorkspaceImageGMFBoundsMigrationParticipant
migration participant, the size of these nodes was recomputed according to the Size Computation Expression defined in the VSM. The corresponding version, stored in attribute version of viewpoint:DAnalysis of the aird file, is
15.0.0.202201261500.
org.eclipse.sirius.diagram
org.eclipse.sirius.diagram.tools.api.command.IDiagramCommandFactory
to support the new z-order actions on edges. The returned commands are currently only used by new actions for edges but they also manage nodes (same code than in existing GMF commands).
buildBringToFrontCommand(List<? extends View>)
: Build a command that is able to bring to the front many elements. These elements, nodes or edges, must be of the same type and have the same parent.
buildSendToBackCommand(List<? extends View>
: Build a command that is able to send to the back many elements. These elements, nodes or edges, must be of the same type and have the same parent.
buildBringForwardCommand(List<? extends View>)
: Build a command that is able to bring forward many elements. These elements, nodes or edges, must be of the same type and have the same parent.
buildSendBackwardCommand(List<? extends View>)
: Build a command that is able to send backward many elements. These elements, nodes or edges, must be of the same type and have the same parent.
org.eclipse.sirius.diagram.tools.api.command.view.BringForwardElements
org.eclipse.sirius.diagram.tools.api.command.view.BringToFrontElements
org.eclipse.sirius.diagram.tools.api.command.view.SendBackwardElements
org.eclipse.sirius.diagram.tools.api.command.view.SendToBackElements
org.eclipse.sirius.diagram.ui
org.eclipse.sirius.diagram.ui.edit.api.part.AbstractDDiagramEditPart.refreshChildren()
has been overridden to redraw the edges figures according to the order of the GMF edges.
org.eclipse.sirius.diagram.ui.business.internal.migration.SetChangeIdMigrationParticipant
sets a random changeId if it didn’t already exist. The corresponding version, stored in attribute version of viewpoint:DAnalysis of the aird file, is
14.6.0.202110251100.
org.eclipse.sirius.diagram.ui.business.internal.migration.NoteShapeDefaultLabelAlignmentMigrationParticipant
has been updated to repair Notes with a potential wrong vertical label alignment. This problem can occur since Sirius 6.3.2 used in a collaborative environment, Obeo Designer Team Edition or Team For Capella for example. The corresponding version, stored in the attribute version of viewpoint:DAnalysis of the aird file, is
14.5.1.202106111100 (migration added in Sirius 6.5.1).
aird
file, select “Properties”, and in the dialog go to the “Sirius settings” section. The preferences are stored in the project scope and associated to the aird file. For more details, refer the
documentation .
CellEditor
tool is available for feature column mapping of edition table. It allows to define a specific
org.eclipse.jface.viewers.CellEditor
to edit a cell (see
documentation for more details).
order, despite this problem, to have a satisfactory layout result. This new behavior has been tested with
ELK Layered algorithm with option
Node Placement Strategy
set to
NETWORK_SIMPLEX
. There is no guarantee with other kind of layouts. All cases are not supported. Further additional developments are needed to support more. There are probably still some constructions not correctly handled but it is a first step. As example, the edges with label(s) have not been tested. Here is a list of supported/tested cases:
diagram:targetSemanticId
is added on SVG elements to reference the target semantic id on which the graphical element is based on. This option can be activated programmatically or by setting a preference. See the details below:
org.eclipse.sirius.diagram.ui.tools.api.part.DiagramEditPartService.DiagramEditPartService(boolean)
has been added to make it possible to activate the semantic traceability during the SVG export. Note that this constructor will also be called by
org.eclipse.sirius.ui.business.api.dialect.DialectUIServices.exportWithResult
with the
ExportFormat
as parameter, which own the
SemanticTraceabilityEnabled
value.
org.eclipse.sirius.ui.business.api.dialect.ExportFormat
,
setSemanticTraceabilityEnabled(boolean)
and
isSemanticTraceabilityEnabled()
have been added to specify through the ExportFormat if the traceability should be enabled.
org.eclipse.sirius.ui.business.api.preferences.SiriusUIPreferencesKeys.PREF_EXPORT_SEMANTIC_TRACEABILITY
has been added to make it possible to activate the traceability on representation export. This will activate the traceability for any export by using the user interface (through the export specific wizard) or by calling the
ExportAction
. Direct calls to the
DialectUIServices.exportWithResult
are not impacted.
org.eclipse.sirius
org.eclipse.sirius.business.api.session.SiriusPreferences
has been added to get preferences related to a Sirius Session that is to a main aird file. An instance of this API can be accessed with
org.eclipse.sirius.business.api.session.Session.getSiriusPreferences()
. Both
org.eclipse.sirius.business.api.preferences.SiriusPreferencesKeys.PREF_AUTO_REFRESH
and
org.eclipse.sirius.ui.business.api.preferences.SiriusUIPreferencesKeys.PREF_REFRESH_ON_REPRESENTATION_OPENING
should not be used any more by clients with Eclipse preference API but
org.eclipse.sirius.business.api.session.SiriusPreferences.isAutoRefresh()
and
org.eclipse.sirius.business.api.session.SiriusPreferences.isRefreshAtRepresentationOpening()
should be used instead.
The reason is that the implementation of
SiriusPreferences
wraps the logic of getting or storing the preferences on a ProjectScope.
org.eclipse.sirius.tools.api.ui.RefreshHelper.isAutoRefresh()
has been removed. Clients should call
Session.getPreferences.isAutoRefresh()
or
new DRepresentationQuery(DRpresentation).isAutoRefresh()
instead.
org.eclipse.sirius.diagram.ui.tools.api.properties.PropertiesService
,
org.eclipse.sirius.tools.api.ui.property.IPropertiesProvider
and
org.eclipse.sirius.diagram.ui.tools.internal.properties.SiriusDiagramEditorPropertiesProvider
have been removed. Clients should call
Session.getPreferences.isAutoRefresh()
or
new DRepresentationQuery(DRpresentation).isAutoRefresh()
instead.
org.eclipse.sirius.diagram.ui
org.eclipse.sirius.diagram.ui.tools.api.format.AbstractSiriusFormatDataManager.logUnhandledDiagramElementKindMessage(Object)
has been added to mutualize the code concerning the log of a warning for
Object
not managed by the
SiriusLayoutDataManager
. This method avoids to log a message for
DNodeListElement
, as it is expected that nothing is stored in LayoutDataManager for
DNodeListElement
as their location and size are constrained by their parents.
org.eclipse.sirius.ui
org.eclipse.sirius.ui.business.api.dialect.DialectUIManager.isRefreshActivatedOnRepresentationOpening()
has been removed. Use
org.eclipse.sirius.business.api.session.SiriusPreferences.isRefreshAtRepresentationOpening()
instead.
org.eclipse.sirius.ecore.extender
org.eclipse.sirius.ecore.extender.business.api.permission.IPermissionAuthority.getLockedObjects()
has been added the get all the locked objects.
org.eclipse.sirius.ext.gmf.runtime
org.eclipse.sirius.ext.gmf.runtime.gef.ui.figures.IFigureWithoutLabels
has been created so that a Figure, that implements this API, can provide its bounds without considering its labels. The method
org.eclipse.sirius.ext.gmf.runtime.editparts.GraphicalHelper.getAbsoluteBoundsWithoutLabelsIn100Percent(GraphicalEditPart)
has been added to get the rectangle bounds without taking labels into account. This is used, in particular, to compute the bendpoints of an edge when the source or the target of the edge is an edge.