From 2c51735d0842a4db8791281eca83657b1c6453b0 Mon Sep 17 00:00:00 2001
From: Pierre-Charles David 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.
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). The arrange-all functionality is available in Sirius diagram editors in the form of a button and a context menu: The layout-all functionality is available in Sirius diagram editors in the form of a button and a context menu:
Release Notes for Sirius
+ Release Notes for Sirius Desktop
Release Notes for Sirius
Release Notes for Sirius
Release Notes for Sirius
Release Notes for Sirius
+
Release Notes for Sirius
Changes in Sirius 7.0.2
Release Notes for Sirius
Changes in Sirius 7.0.1
@@ -107,10 +121,10 @@ Release Notes for Sirius
Changes in Sirius 7.0.0
@@ -118,10 +132,10 @@ Release Notes for Sirius
Changes in Sirius 6.6.0
@@ -129,7 +143,7 @@ Release Notes for Sirius
Changes in Sirius 6.5.1
@@ -137,13 +151,13 @@ Release Notes for Sirius
Changes in Sirius 6.5.0
@@ -153,16 +167,196 @@ Release Notes for Sirius
Changes in Sirius 7.3.0
+ Changes in Sirius Desktop 7.4.0
User-Visible Changes
-
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.
+
+
+ Specifier-Visible Changes
+
+
AnnotationEntry
elements of
+ DTable
instances. This modification allows following use-cases:
+
+
+ Developer-Visible Changes
+
+
+ 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.
+ Changes in
+
+ org.eclipse.sirius
+
+
+ org.eclipse.sirius.business.api.logger.InterpretationContext
is created to ease setting and clearing variables when interpreting expressions.
+ Changes in
+
+ 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.
+ Changes in
+ 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.
+ Migrations
+
+
+ Changes in Sirius 7.3.0
+ User-Visible Changes
+
+
+ Specifier-Visible Changes
+ Developer-Visible Changes
+ Changes in
+
org.eclipse.sirius.diagram.ui
+
org.eclipse.sirius.diagram.ui.tools.api.util.GMFNotationHelper.getNotes(Diagram)
and
@@ -186,13 +380,13 @@ Changes in
diagramPreferences.putBoolean(SiriusDiagramUiPreferencesKeys.@PREF_NEWLY_CREATED_ELEMENTS_LAYOUT@, 2);
Changes in Sirius 7.2.1
- User-Visible Changes
+ User-Visible Changes
- Specifier-Visible Changes
+ Specifier-Visible Changes
-
@@ -217,8 +411,8 @@
Specifier-Visible Changes
Developer-Visible Changes
- Changes in
+
Developer-Visible Changes
+ Changes in
org.eclipse.sirius.diagram.ui
@@ -242,11 +436,11 @@
Changes in
Changes in Sirius 7.2.0
- User-Visible Changes
+ User-Visible Changes
- Specifier-Visible Changes
+ Specifier-Visible Changes
- CirclePlus
,
@@ -257,12 +451,12 @@ Specifier-Visible Changes
InputArrowWithFillDiamondAndDot
.
Developer-Visible Changes
+ Developer-Visible Changes
Changes in Sirius 7.1.0
- User-Visible Changes
+ User-Visible Changes
- Shift
key is pressed during using the
@@ -290,7 +484,7 @@ User-Visible Changes
Specifier-Visible Changes
+ Specifier-Visible Changes
- org.eclipse.sirius.ui.enableCreatedElementsConstraintInSelectElementsListener
has been added to allow to ignore the “created elements” constraint when the
@@ -309,14 +503,14 @@ Specifier-Visible Changes
aql:input.getContextSelections()
.
Developer-Visible Changes
+ Developer-Visible Changes
- 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.
Changes in
+
Changes in
org.eclipse.sirius
@@ -337,7 +531,7 @@
- Changes in
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.
Changes in
+
Changes in
org.eclipse.sirius.diagram.ui
@@ -395,7 +589,7 @@
- Changes in
org.eclipse.sirius.properties.core.api.SiriusInputDescriptor.getOriginalSelections()
.
Migrations
+ Migrations
Migrations
Changes in Sirius 7.0.4
- User-Visible Changes
+ User-Visible Changes
Changes in Sirius 7.0.3
- Developer-Visible Changes
+ Developer-Visible Changes
com.ibm.icu
has been removed.
Changes in Sirius 7.0.2
- Specifier-Visible Changes
+ Specifier-Visible Changes
- 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.
Developer-Visible Changes
- Changes in
+
Developer-Visible Changes
+ Changes in
org.eclipse.sirius
@@ -456,7 +650,7 @@
Changes in
Changes in Sirius 7.0.1
- Developer-Visible Changes
+ Developer-Visible Changes
Developer-Visible Changes
Changes in Sirius 7.0.0
- User-Visible Changes
+ User-Visible Changes
-
@@ -482,7 +676,7 @@
- User-Visible Changes
Developer-Visible Changes
+ Developer-Visible Changes
- Developer-Visible Changes
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.
Changes in
+
Changes in
org.eclipse.sirius
@@ -664,7 +858,7 @@
Changes in
org.eclipse.sirius.diagram.business.internal.metamodel.helper.ContentHelper.getAllEdgeMappings(diagramDescription, false)
alongside with the getAllNodeMappings and getAllContainerMappings methods.
Changes in
+
Changes in
org.eclipse.sirius.diagram.ui
@@ -798,7 +992,7 @@
- Changes in
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.
Migrations
+ Migrations
Migrations
Changes in Sirius 6.6.0
- User-Visible Changes
+ User-Visible Changes
- User-Visible Changes
Developer-Visible Changes
+ Developer-Visible Changes
Changes in
@@ -856,7 +1050,7 @@ org.eclipse.sirius.diagram
Changes in
-
Changes in
+
Changes in
org.eclipse.sirius.diagram.ui
@@ -864,7 +1058,7 @@
- Changes in
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.
Migrations
+ Migrations
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
@@ -875,8 +1069,8 @@ Migrations
Changes in Sirius 6.5.1
- Developer-Visible Changes
- Migrations
+ Developer-Visible Changes
+ Migrations
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
@@ -884,7 +1078,7 @@ Migrations
Changes in Sirius 6.5.0
- User-Visible Changes
+ User-Visible Changes
- 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
@@ -894,7 +1088,7 @@ User-Visible Changes
documentation .
Specifier-Visible Changes
+ Specifier-Visible Changes
- CellEditor
tool is available for feature column mapping of edition table. It allows to define a specific
@@ -920,7 +1114,7 @@ Specifier-Visible Changes
Developer-Visible Changes
+ Developer-Visible Changes
- 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:
@@ -947,7 +1141,7 @@ Developer-Visible Changes
ELK documentation for the list of changes in that version (and previous).
Changes in
+
Changes in
org.eclipse.sirius
@@ -978,7 +1172,7 @@
- Changes in
new DRepresentationQuery(DRpresentation).isAutoRefresh()
instead.
Changes in
+
Changes in
org.eclipse.sirius.diagram.ui
@@ -1016,7 +1210,7 @@
- Changes in
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.
Migrations
+ Migrations
Sirius Developer Manual
Providing a custom diagram layout algorithm (“Arrange All”)
+ Providing a custom diagram layout algorithm (“Layout All”)
-
Providing a custom dia
The Arrange All functionality in short
- The Layout All functionality in short
+ The Arrange All functionality in shor
org.eclipse.sirius.diagram.ui.layoutProvider
and
org.eclipse.sirius.diagram.ui.viewOrderingProvider
as well as an API to ease the writing of your own layout algorithms and their usage in Sirius diagram editors.
This API reuse the GMF “Arrange All” API and augments it with features needed by Sirius layout algorithms like:
+This API reuse the GMF “Layout All” API and augments it with features needed by Sirius layout algorithms like:
GMF provides basic API and implementations to ease the customization of the “Arrange All” mechanism. It also implements a complete algorithm that is based on the graphical elements.
+GMF provides basic API and implementations to ease the customization of the “Layout All” mechanism. It also implements a complete algorithm that is based on the graphical elements.
The top level type of this this API is
ILayoutNodeProvider
:
provides
operation is meant to return true if the class can arrange the diagram for the specified operation.
The
- layoutEditParts
operations will return the commands that will actually be in charge of arranging the diagrams' edit parts. The first one takes the main container that is to be arranged while the latter accepts a list of edit parts to arrange.
+ layoutEditParts
operations will return the commands that will actually be in charge of layouting the diagrams' edit parts. The first one takes the main container that is to be layouted while the latter accepts a list of edit parts to layout.
The implementation of those three methods forms your layout algorithm.
With this API comes an extension point @@ -123,7 +123,7 @@
Sirius defines and already uses various different layout providers in different contexts.
Here is a list of all of those with a basic description of each:
It is used by Sirius as entry point to dispatch arrange requests on a Sirius diagram to registered layout providers. The dispatch takes in consideration layout algorithm specified in the VSM and layout providers provided from the Sirius extension point +
It is used by Sirius as entry point to dispatch layout requests on a Sirius diagram to registered layout providers. The dispatch takes in consideration layout algorithm specified in the VSM and layout providers provided from the Sirius extension point
org.eclipse.sirius.diagram.ui.layoutProvider
.
Lays out connections alongside their source and target nodes (useful on the sequence diagram for example).
This provider only purpose is to delegate arrangement to attached layout provider after having added information about not selected parts in the layout hint.
+This provider only purpose is to delegate layout to attached layout provider after having added information about not selected parts in the layout hint.
It is used for example with our composite layout providers to keep fixed the not selected parts and to avoid putting other selected parts on it when layouting.
-It is used primary by default provider whenever the arrange-all action is called because the arrangement can be done on a selection and not on all diagram elements.
+It is used primary by default provider whenever the layout-all action is called because the layout can be done on a selection and not on all diagram elements.
This provider is used to delegate layouting to attached provider only when an arrange-all is done on a diagram and not an arrange selection.
-When used as primary provider, the arrange selection action is not available in the menu of a Sirius editor using this provider.
+This provider is used to delegate layouting to attached provider only when a layout-all is done on a diagram and not a layout selection.
+When used as primary provider, the layout selection action is not available in the menu of a Sirius editor using this provider.
It is used for example in the
OrderedTreeLayoutProvider
where it does not make sense to make a tree of just some elements because the all concept is to have a complete tree representation.
PinnedElementLayoutProvider
can be attached to a compound instance. Then those providers are called in their attach order one after another to do their layouting parts. It avoids the composite provider to duplicate code to handle pinned elements.
This provider arranges all the bordered nodes which are connected to one edge. It reduces the path of the edge between each extremity. For example:
+This provider layouts all the bordered nodes which are connected to one edge. It reduces the path of the edge between each extremity. For example:
Becomes
@@ -717,7 +717,7 @@This class contains the core layout algorithm. When a user calls an arrange-all on a diagram that will be configured to use your layout algorithm, an instance of this class is created. You will be given the parts to layout. Then it is your job to layout it as you want.
+This class contains the core layout algorithm. When a user calls a layout-all on a diagram that will be configured to use your layout algorithm, an instance of this class is created. You will be given the parts to layout. Then it is your job to layout it as you want.
For example, the ELK integration have the following:
public class ELKLayoutNodeProvider extends DefaultLayoutProvider {
@@ -773,7 +773,7 @@ org.eclipse.sirius.diagram
clp.addProvider(new PinnedElementsLayoutProvider(cdtp));
if (ENABLE_BORDERED_NODES_ARRANGE_ALL) {
// ArrangeSelectionLayoutProvider wrap all providers to manage
- // the selected diagram element on diagram "Arrange all"
+ // the selected diagram element on diagram "Layout all"
AbstractLayoutProvider abstractLayoutProvider = BorderItemAwareLayoutProviderHelper.createBorderItemAwareLayoutProvider(clp);
this.layoutNodeProvider = new ArrangeSelectionLayoutProvider(abstractLayoutProvider);
} else {
diff --git a/sirius/doc/i18n_changes.html b/sirius/doc/i18n_changes.html
index 5ab027a..e8497aa 100644
--- a/sirius/doc/i18n_changes.html
+++ b/sirius/doc/i18n_changes.html
@@ -11,8 +11,229 @@ Translation Keys Changes
This document lists the changes in
TranslatableMessage
used for Sirius internationalization in each Sirius version.
- Translation Keys Changes in Sirius 7.0.7 (from Sirius 7.0.6)
+ Translation Keys Changes in Sirius 7.4.0 (from Sirius 7.3.0)
Message Keys Added
+
+ -
+
org.eclipse.sirius.tools.api.Messages.ImageManager_projectMembersFailure
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.PasteStylePureGraphicalAction_commandLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.PasteStylePureGraphicalAction_text
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.PasteStylePureGraphicalAction_toolTipText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ArrangeAction_ArrangeAll_ActionLabelText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ArrangeAction_ArrangeAll_ActionToolTipText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ArrangeAction_toolbar_ArrangeAll_ActionLabelText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ArrangeAction_toolbar_ArrangeAll_ActionToolTipText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ArrangeAction_ArrangeSelection_ActionLabelText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ArrangeAction_ArrangeSelection_ActionToolTipText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ArrangeAction_toolbar_ArrangeSelection_ActionLabelText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ArrangeAction_toolbar_ArrangeSelection_ActionToolTipText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ArrangeBorderNodesAction_actionDiagramText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ArrangeBorderNodesAction_toolTipText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ArrangeBorderNodesAction_toolbarActionDiagramText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ArrangeMenuManager_Arrange_ActionLabelText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ArrangeMenuManager_Arrange_ActionToolTipText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.LayoutChildrenAction_commandLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.LayoutChildrenAction_menuText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.LayoutChildrenAction_toolbarText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.LayoutChildrenAction_tooltip
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.MovePinnedElementsAction_text
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.MovePinnedElementsAction_toolTipText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.PinElementsEclipseAction_tooltip
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorManager_logErrorParsingRGB
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorPalettePopup_customCategoryLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorPalettePopup_customCategoryMoreButtonTooltip
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorPalettePopup_customCategoryTooltip
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorPalettePopup_basicCategoryLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorPalettePopup_basicCategoryTooltip
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorPalettePopup_lastUsedCategoryLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorPalettePopup_lastUsedCategoryTooltip
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorPalettePopup_moreButtonLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorPalettePopup_suggestedCategoryLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorPalettePopup_suggestedCategoryMoreButtonTooltip
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorPalettePopup_suggestedCategoryTooltip
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorPalettePopup_title
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorSelectionDialog_addButtonLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorSelectionDialog_addButtonTooltip
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorSelectionDialog_customAllColorsTooltip
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorSelectionDialog_customColorsDialogTitle
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorSelectionDialog_groupAllCustomColorsLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorSelectionDialog_groupAllSuggestedColorsLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorSelectionDialog_groupDisplayedSuggestedColorsLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorSelectionDialog_removeButtonLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorSelectionDialog_removeButtonTooltip
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorSelectionDialog_suggestedAllColorsTooltip
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorSelectionDialog_suggestedColorsDialogTitle
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ColorSelectionDialog_suggestedDisplayedColorsTooltip
+
+
+ Message Values Changed
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.PasteFormatAction_commandLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.PasteFormatAction_text
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.PasteLayoutAction_commandLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.PasteLayoutAction_text
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.PasteStyleAction_commandLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.PasteStyleAction_text
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ArrangeBorderNodesAction_commandLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ArrangeBorderNodesAction_toolTipDiagramText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.ArrangeBorderNodesAction_toolbarActionText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.PinElementsEclipseAction_text
+
+
+ Message Keys Removed
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.SiriusCopyAppearancePropertiesAction_tooltipMessage
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.DiagramEditorContextMenuProvider_arrangeMenuText
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.UnpinElementsEclipseAction_text
+
+
+ Translation Keys Changes in Sirius 7.3.0 (from Sirius 7.2.1)
+ Message Keys Added
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.DiagramGeneralPreferencePage_newlyCreatedElementsGroupLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.NewlyCreatedElements_diagonalLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.NewlyCreatedElements_diagonalTooltip
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.NewlyCreatedElements_horizontalLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.NewlyCreatedElements_horizontalTooltip
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.NewlyCreatedElements_verticalLabel
+
+ -
+
org.eclipse.sirius.diagram.ui.provider.Messages.NewlyCreatedElements_verticalTooltip
+
+
+ Translation Keys Changes in Sirius 7.0.7 (from Sirius 7.0.6)
+ Message Keys Added
-
org.eclipse.sirius.tree.ui.provider.Messages.AbstractDTreeItemRunnableWithProgress_emptyDTreeItemsParameter
@@ -30,7 +251,7 @@ Message Keys Added
org.eclipse.sirius.tree.ui.provider.Messages.ExpandDTreeItemRunnableWithProgress_expandAllTreeItems
- Message Keys Removed
+ Message Keys Removed
-
org.eclipse.sirius.tree.ui.provider.Messages.ExpandDTreeItemRunnableWithProgress_treeItemCollapsing
@@ -40,7 +261,7 @@ Message Keys Removed
Translation Keys Changes in Sirius 7.0.2 (from Sirius 7.0.1)
- Message Keys Added
+ Message Keys Added
-
org.eclipse.sirius.diagram.ui.provider.Messages.ChangeMassivelyImagePathDialog_newLabel
@@ -77,7 +298,7 @@ Message Keys Added
Translation Keys Changes in Sirius 7.0.1 (from Sirius 7.0.0)
- Message Keys Added
+ Message Keys Added
-
org.eclipse.sirius.diagram.ui.provider.Messages.SVGImageRegistry_LoadImageError
@@ -135,7 +356,7 @@ Message Keys Renamed or Moved
- Message Keys Added
+ Message Keys Added
-
org.eclipse.sirius.viewpoint.provider.Messages.AnalysisSelectorFilteredItemsSelectionDialog_labelProviderLocal
@@ -171,7 +392,7 @@ Message Keys Added
org.eclipse.sirius.tools.api.Messages.DRepresentationDescriptorQuery_representationError_broken_fragment_path
- Message Keys Removed
+ Message Keys Removed
-
org.eclipse.sirius.diagram.Messages.NodeMappingHelper_methodInvocationErrorMsg
@@ -202,7 +423,7 @@ Message Keys Removed
Translation Keys Changes in Sirius 6.6.0 (from Sirius 6.5.0)
- Message Keys Added
+ Message Keys Added
-
org.eclipse.sirius.diagram.sequence.ui.Messages.SequenceEMFCommandFactory_notSupportedZorderCommandsMessage
@@ -250,9 +471,9 @@ Message Keys Added
org.eclipse.sirius.diagram.Messages.ZOrderRecordingCommand_notSameType
- Message Keys Removed
+ Message Keys Removed
Translation Keys Changes in Sirius 6.5.0 (from Sirius 6.4.0)
- Message Keys Added
+ Message Keys Added
-
org.eclipse.sirius.diagram.ui.provider.Messages.RepairEdgesWithOneBendpointMigrationParticipant_edgesModified
@@ -417,7 +638,7 @@ Message Keys Added
org.eclipse.sirius.viewpoint.Messages.SiriusPreferencesImpl_noProjectScope
- Message Keys Removed
+ Message Keys Removed
-
org.eclipse.sirius.diagram.ui.provider.Messages.FormatData_illegalTarget
@@ -436,7 +657,7 @@ Message Keys Removed
Translation Keys Changes in Sirius 6.4.0 (from Sirius 6.3.2)
- Message Keys Added
+ Message Keys Added
-
org.eclipse.sirius.diagram.ui.provider.Messages.DDiagramEditorImpl_error_representationRefresh
@@ -553,7 +774,7 @@ Message Keys Added
org.eclipse.sirius.viewpoint.provider.Messages.ViewpointsFolderInvalidItemImpl_invalidRepresentations_title
- Message Keys Removed
+ Message Keys Removed
-
org.eclipse.sirius.diagram.ui.provider.Messages.DDiagramEditorImpl_diagramRefreshTitle
@@ -563,14 +784,14 @@ Message Keys Removed
Translation Keys Changes in Sirius 6.3.2 (from Sirius 6.3.1)
- Message Keys Added
+ Message Keys Added
-
org.eclipse.sirius.viewpoint.Messages.DRepresentationDescriptorQuery_representationError
Translation Keys Changes in Sirius 6.3.1 (from Sirius 6.3.0)
- Message Keys Added
+ Message Keys Added
-
org.eclipse.sirius.diagram.ui.provider.Messages.BundledImageShape_idMissing
@@ -594,14 +815,14 @@ Message Keys Added
org.eclipse.sirius.viewpoint.provider.Messages.LogThroughActiveDialectEditorLogListener_wrongErrorMessageProvider
- Message Keys Removed
+ Message Keys Removed
-
org.eclipse.sirius.diagram.ui.provider.Messages.DiagramConnectionsPreferencePage_enableOverrideLabel
Translation Keys Changes in Sirius 6.1 (from Sirius 6.0)
- Message Keys Added
+ Message Keys Added
-
org.eclipse.sirius.common.ui.Messages.MigrationUIUtil_askToSaveChanges
@@ -721,7 +942,7 @@ Message Keys Added
org.eclipse.sirius.viewpoint.Messages.TechnicalUidMigrationParticipant_message
- Message Keys Removed
+ Message Keys Removed
-
org.eclipse.sirius.diagram.ui.provider.Messages.LayoutingModeSwitchingAction_activate
@@ -740,7 +961,7 @@ Message Keys Removed
Translation Keys Changes in Sirius 6.0 (from Sirius 5.1)
- Message Keys Added
+ Message Keys Added
-
org.eclipse.sirius.diagram.ui.provider.Messages.DiagramGeneralPreferencePage_sizeGroupLabel
@@ -923,7 +1144,7 @@ Message Keys Added
org.eclipse.sirius.viewpoint.Messages.ModelingModelProvider_satusUnsavedDataWillBeLost
- Message Keys Removed
+ Message Keys Removed
-
org.eclipse.sirius.diagram.ui.provider.Messages.DiagramGeneralPreferencePage_scaleDiagramOnExport
@@ -954,7 +1175,7 @@ Message Keys Removed
Translation Keys Changes in Sirius 5.1 (from Sirius 5.0)
- Message Keys Added
+ Message Keys Added
-
org.eclipse.sirius.diagram.sequence.Messages.Range_wrongArgument
@@ -1104,7 +1325,7 @@ Message Keys Added
org.eclipse.sirius.viewpoint.Messages.SessionFactoryImpl_ResourceTypeErrorMsg
- Message Keys Removed
+ Message Keys Removed
-
org.eclipse.sirius.viewpoint.provider.Messages.DeleteRepresentationAction_message
@@ -1120,7 +1341,7 @@ Message Keys Removed
Translation Keys Changes in Sirius 5.0 (from Sirius 4.1)
- Message Keys Added
+ Message Keys Added
-
org.eclipse.sirius.common.acceleo.aql.business.Messages.AQLInterpreter_errorWithExpression
@@ -1513,7 +1734,7 @@ Message Keys Added
org.eclipse.sirius.viewpoint.Messages.SessionInterpreter_evaluationError
- Message Keys Removed
+ Message Keys Removed
-
org.eclipse.sirius.editor.properties.Messages.ImportingDefaultPropertiesViewDescriptionCommand_text
diff --git a/sirius/doc/index.html b/sirius/doc/index.html
index ae7639f..76f27c8 100644
--- a/sirius/doc/index.html
+++ b/sirius/doc/index.html
@@ -109,7 +109,7 @@ Contents
- Note: This documentation refers to the latest major release of Sirius, version 7.3. For documentation corresponding to previous releases, see 7.2.x, 7.1.x, 7.0.x, 6.6.x, 6.5.x, 6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.1.x, 5.0.x, 4.1.x, 4.0.x, 3.1.x, see 3.0.x, 2.0.x, 1.0.x, or 0.9.
+ Note: This documentation refers to the latest major release of Sirius, version 7.4. For documentation corresponding to previous releases, see 7.3.x, 7.2.x, 7.1.x, 7.0.x, 6.6.x, 6.5.x, 6.4.x, 6.3.x, 6.2.x, 6.1.x, 6.0.x, 5.1.x, 5.0.x, 4.1.x, 4.0.x, 3.1.x, see 3.0.x, 2.0.x, 1.0.x, or 0.9.
For further information, please visit our website at www.eclipse.dev/sirius.
diff --git a/sirius/doc/specifier/diagrams/Diagrams.html b/sirius/doc/specifier/diagrams/Diagrams.html
index e4fc7d5..a54340f 100644
--- a/sirius/doc/specifier/diagrams/Diagrams.html
+++ b/sirius/doc/specifier/diagrams/Diagrams.html
@@ -228,21 +228,21 @@ Use an ELK layout algorithm
When using one of the ELK layout algorithms, there are some specificities in comparison with the other “standard” Sirius layout:
- The pinned status is not considered. All pinned elements are layouted as if they are not pinned. ELK does not manage this kind of property and Sirius does not add post treatement that could break the layout result.
- - Arrange all : All elements are layouted. The top left coordinates of the bounding box of all elements is {20, 20} (same coordinates as the result of
+
- Layout all : All elements are layouted. The top left coordinates of the bounding box of all elements is {20, 20} (same coordinates as the result of
Reset Origin
action action).
- - Even in case of scroll bars before the starting point of arrange all
+ - Even in case of scroll bars before the starting point of layout all
- - Arrange selection on one container: This action layouts all its content, resizes it to display its content but does not change its location.
- - Arrange selection on several elements on the same level: This action layouts elements in relation to each other but by ignoring other brothers. Overlap with other brothers, not selected ones, is possible. The top left coordinates of the bounding box of all elements remain the same.
+
- Layout selection on one container: This action layouts all its content, resizes it to display its content but does not change its location.
+ - Layout selection on several elements on the same level: This action layouts elements in relation to each other but by ignoring other brothers. Overlap with other brothers, not selected ones, is possible. The top left coordinates of the bounding box of all elements remain the same.
- If elements are containers: In addition to above behavior, their contents are layouted and they are resized.
- - Arrange selection on a container and some of its children: The result of this action is the same as launching an arrange selection only on the container.
+ - Layout selection on a container and some of its children: The result of this action is the same as launching a layout selection only on the container.
To use these algorithm, first install the feature:
@@ -1430,7 +1430,18 @@
Size Properties
Size Computation Expression if specified.
-
- Size Computation Expression: An expression used to dynamically compute the size of a graphical element. It is evaluated in the context of the target element, and should return an integer.
+ Size Computation Expression: An expression used to dynamically compute the size of a graphical element. It is evaluated in the context of the target element, and should return an integer. By default, the value 3 is used to define a size of 30 pixels for the graphic element.
+
+ - For Containers, the -1 value can be used to enable the “auto size” mode at creation time, it works for all styles applicable to Containers.
+ - For WorkspaceImage style, set -1 as Size Computation Expression to use the size of the image as the size of the graphic element.
+ - For Nodes, a positive integer is expected.
+
+ - There is a special case with Square Style and label position set to
+ node. Having -1 in both width and height will allow to auto-size the node according the size of the label. The size computation expression will be the minimum size.
+
+
+
+
-
Border Size Computation Expression: An expression which is used to dynamically compute the size of the border of graphical element. It is evaluated in the context of the target element, and should return the border size
diff --git a/sirius/doc/specifier/diagrams/images/groupUsingAnExistingGroupOfDDiagramLayoutMenu.png b/sirius/doc/specifier/diagrams/images/groupUsingAnExistingGroupOfDDiagramLayoutMenu.png
index b42b599da1fd9c8acdf6934fab14be06fe655436..3c1303cd0673a157cc8da6c1cf6b5239911ced5c 100644
GIT binary patch
literal 11950
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
literal 12078
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 Editors
+ -
+ Editing style of elements
+
+ -
+ Edit element color
+
+
+
-
Moving elements
@@ -57,7 +65,7 @@ Diagram Editors
Distribute elements
-
- Newly created elements arrangement.
+ Newly created elements layout.
-
Reset Diagram or Container Origin
@@ -131,19 +139,22 @@
Diagram Editors
-
- Copy/paste of format
+ Copy/paste of format (Semantic)
+ -
+ Paste style
+
-
Paste image from clipboard
@@ -174,7 +185,7 @@ Diagram Editors
Standard mode
-
- Layouting mode: arrange your diagrams without modifying semantic models
+ Layouting mode: layout your diagrams without modifying semantic models
-
Visibility mode: change diagram element visibility without modifying semantic models
@@ -416,6 +427,95 @@
Compartments
experimental structures of containers with compartmented compartments, the F3 shortcut also allows to disable the resize propagation to manually correct the computed layout and remove empty space (
experimental). This might occur when there are several levels of compartments without the same number of compartments on each level. The corrective resize can be done on the last compartments of each compartmented container (from bottom for vertical stacks and from right for horizontal stacks).
+ Editing style of elements
+ Using the Appearance tab in the Properties view, the style of elements can be modified. For Nodes or Containers, for example, the font style can be modified, as can the color of the element. It is also possible to use an image to modify the overall appearance of the element.
+
+
+
+ You can also access these options from different locations in the user interface:
+
+ - Via the diagram toolbar:
+
+
+
+
+ - Via the contextual menu, in
+ Format:
+
+
+
+
+ - Via the navigation bar, in
+ Diagram:
+
+
+
+ Edit element color
+ There are 3 menu item that allow to change the color of an element:
+
+ -
+ Font Color menu allows you to change the font color of the label of the selected element(s).
+
+ -
+ Fill Color menu allows you to change the background color of the selected element(s).
+
+ -
+ Line Color menu allows you to change the border color of a Node or Container, or the color of the Edge for the selected element(s).
+
+
+ When one of the color-change menus is clicked, a popup dialog with color palettes appears, allowing you to choose which color to apply among four categories provided:
+
+
+
+
+ -
+ Last used colors category displays the ten last colors used by the user.
+
+ -
+ Custom colors category displays the ten first colors defined by the user. Additional colors can be created by clicking on the “More...” button. Users can also reorder the set of custom colors, choosing which colors to display in the popup dialog.
+
+ -
+ Suggested colors category displays the ten “preferred colors” defined by the user which are a subset of the colors defined in the Viewpoint Specification Model (odesign). This category is not displayed if no colors are defined in the VSM. Users can modify their ten “preferred colors” by clicking on the “More...” button. Here’s an example of colors defined in the VSM:
+
+
+ -
+ Basic colors category displays ten application-defined colors for use in most contexts. This color palette cannot be modified by the user.
+
+
+ Note: The colors saved for “Custom” and “Suggested” categories are persisted
+ separately for “Font Color”, “Fill Color” and “Line Color”. This is useful because you usually different colors for label and background for example.
+
+ Note:
+ Last used colors category is persisted in preferences,
+ Custom and
+ Suggested colors categories are persisted in the aird file.
+
+ When clicking on the “More...” button of the
+ Custom color category, the “Custom Colors” dialog appears.
+
+
+ - The user can define new colors via the system dialog, by clicking on the Add button.
+ - The Remove button is used to remove a color from the palette.
+ - Colors can be reordered with drag-and-drop. The first ten colors in the palette will be displayed in the color selection popup dialog.
+ - There’s no limit to the number of custom colors you can add but only ten are displayed in the popup dialog.
+ - Clicking on the OK button will persist the changes in the color palette, and the selected color will be applied to the selected element(s).
+ - Clicking on the Cancel button will cancel all changes made to the color palette.
+
+
+
+ When clicking on the “More...” button of the
+ Suggested color category, the “Suggested Colors” dialog appears.
+
+
+ - The user can only edit the “Displayed suggestions” section to define the ten “Preferred colors” to be displayed in the color selection popup dialog.
+ - Double-click on a color in the “All suggestions” section to add it to “Displayed suggestions”. Dragging and dropping a color from “All suggestions” to “Displayed suggestions” also adds a color.
+ - Double click a color in the “Displayed suggestions” or drag it to “All suggestions” to remove from the “Displayed suggestions” section.
+ - The “Displayed suggestions” color palette can be reordered using drag & drop.
+ - Clicking on the OK button will persist the changes in the “Displayed suggestions” color palette, and the selected color will be applied to the selected element(s).
+ - Clicking on the Cancel button will cancel all changes made to the color palette.
+
+
+
Moving elements
There are specific shortcuts to change the move behavior:
@@ -526,28 +626,28 @@ First and last elements
- the first element is the highest one (with its center at the minimum y coordinate). If several elements are aligned on middle, the leftmost one is the first.
- the last element is the lowest one (with the bottom side with the maximum y coordinate). If several elements are aligned by middle, the rightmost one is the last.
- Newly created elements arrangement.
+ Newly created elements layout.
When elements in a diagram are not directly positioned by the user. By default, they are sequentially positioned in the center of the editor, diagonally. They can also be positioned vertically or horizontally by changing the preference in Sirius > Sirius Diagram > Newly created elements layout.
-
+
- - Diagonal arrangement:
+ - Diagonal layout:
-
+
- - Vertical arrangement:
+ - Vertical layout:
-
+
- - Horizontal arrangement:
+ - Horizontal layout:
-
+
Reset Diagram or Container Origin
This action is available within the diagram or containers contextual menu (“Reset Origin”) or via “M1” + “HOME” shortcut.
@@ -1093,7 +1193,7 @@
Port shifting and 'drag and drop'
The port is dropped in the container above the mouse location and linked to its closest edge.
- Copy/paste of format
+ Copy/paste of format (Semantic)
It is possible to duplicate format of diagram elements, that is to say to replicate mutual organization and style of diagram elements from one diagram to another. This replication only applies to the same semantic elements between diagrams.
By default, this copy/paste replicates the layout (x, y width and height) AND the style (colors, font, ...).
@@ -1110,8 +1210,8 @@ Copy/paste of format
When an element format is copied, the format of all its children is also recursively copied (containers, nodes or border nodes). The format of the label and outgoing edges of all these elements, is also copied.
- Paste Layout
- The next picture shows the diagram where the layout will be replicated. The tool to paste layout is called “Paste Layout” and can be activated from the tab-bar or from the contextual menu (see
+
Paste Layout (Semantic)
+ The next picture shows the diagram where the layout will be replicated. The tool to paste layout is called “Paste Layout (Semantic)” and can be activated from the tab-bar or from the contextual menu (see
Edit section).
@@ -1125,7 +1225,7 @@
Paste Layout
Warning : This copy/paste operation copies exactly what you see on a diagram. When using low zoom level, some diagram elements can be twisted and the paste operation will duplicate theses twistings on the other diagram. Please, zoom in to reduce twistings.
Two modes for paste layout
- Since Sirius 7.1.0, there are 2 modes to paste the layout. At each execution of the action “Paste format” or “Paste layout”, a dialog is displayed to choose the mode.
+ Since Sirius 7.1.0, there are 2 modes to paste the layout. At each execution of the action “Paste format (Semantic)” or “Paste layout (Semantic)”, a dialog is displayed to choose the mode.
@@ -1165,7 +1265,7 @@ Similar locations in absolute coo
- - Launch the action “Paste layout”, expected result: The absolute coordinates of each element are preserved.
+ - Launch the action “Paste layout (Semantic)”, expected result: The absolute coordinates of each element are preserved.
@@ -1189,7 +1289,7 @@
Optimized locations by group
- - Launch the action “Paste layout”, expected result: The origin of each group of brothers, in the target diagram, are preserved (as you can see with guide on the horizontal and vertical rulers). And the layout of brothers, in the target diagram, is applied relative to each other.
+ - Launch the action “Paste layout (Semantic)”, expected result: The origin of each group of brothers, in the target diagram, are preserved (as you can see with guide on the horizontal and vertical rulers). And the layout of brothers, in the target diagram, is applied relative to each other.
@@ -1207,7 +1307,7 @@
Optimized locations by group
- Select the diagram
- - Launch the action “Paste layout”, expected result: The layout of 4 functions are copied into RPL1 and RPL2. The origin of each group of functions is preserved.
+ - Launch the action “Paste layout (Semantic)”, expected result: The layout of 4 functions are copied into RPL1 and RPL2. The origin of each group of functions is preserved.
@@ -1220,7 +1320,7 @@
Optimized locations by group
- - Launch the action “Paste layout” successively with RPL1 and RPL2 selected, expected result: The result is slightly different. The layout of REC is applied to RPL1 (only its size is modified, the location remains the same) and the layout of their children are applied. The layout of REC is applied to RPL2 (only its size is modified, the location remains the same) and the layout of their children are applied.
+ - Launch the action “Paste layout (Semantic)” successively with RPL1 and RPL2 selected, expected result: The result is slightly different. The layout of REC is applied to RPL1 (only its size is modified, the location remains the same) and the layout of their children are applied. The layout of REC is applied to RPL2 (only its size is modified, the location remains the same) and the layout of their children are applied.
@@ -1243,13 +1343,13 @@
Optimized locations by group
- - Launch the action "Paste layout"
+ - Launch the action "Paste layout (Semantic)"
- Paste Style
- The next picture shows the diagram where the layout will be replicated. The tool to paste style is called “Paste Style” and can be activated from the tab-bar or from the contextual menu (see
+
Paste Style (Semantic)
+ The next picture shows the diagram where the layout will be replicated. The tool to paste style is called “Paste Style (Semantic)” and can be activated from the tab-bar or from the contextual menu (see
Edit section).
@@ -1259,8 +1359,8 @@
Paste Style
- Paste Format
- The next picture shows the diagram where the layout will be replicated. The tool to paste format is called “Paste Format” and can be activated from the tab-bar when the diagram is selected, from the contextual menu (see
+
Paste Format (Semantic)
+ The next picture shows the diagram where the layout will be replicated. The tool to paste format is called “Paste Format (Semantic)” and can be activated from the tab-bar when the diagram is selected, from the contextual menu (see
Edit section) or through the
Ctrl+Alt+Shift+V shortcut.
@@ -1274,6 +1374,17 @@ Paste Format
+ Paste style
+ The Paste Style button is used to copy the style from one diagram element to another. Elements can be in different diagrams, have different semantic elements, or even be of different types (for example, you can copy the style of a node to an edge), in which case style properties will be applied at best (some style properties may not be applied).
+ To copy a style from one element to another :
+
1. select the element whose style you wish to copy,
+
2. click on the Copy Style button in the toolbar or in the Edit submenu of the context menu,
+
3. select the elements to which the style is to be applied,
+
4. click on Paste Style in the toolbar or in the Edit submenu of the context menu.
+
+
+
+
Paste image from clipboard
It is also possible to paste an image from the clipboard to a node or container. To do this, copy the image in your clipboard, select a node and click on the button “Paste image from clipboard” (see picture below). The image is saved as a PNG file in the workspace, in an “images” folder and the selected element has a workspace image style that references this image.
@@ -1282,10 +1393,10 @@
Paste image from clipboard
Diagram element pinning
Introduction
It is possible to mark specific elements in a diagram as having a fixed location so that they are not moved by the
- Arrange All action.
+ Layout All action.
- Diagram element pinning allows you to combine both methods: manually arranging the position and size of elements when it is important while still being able to call
- Arrange All for the rest, without the risk of destroying your manual layouts.
+
Diagram element pinning allows you to combine both methods: manually layouting the position and size of elements when it is important while still being able to call
+ Layout All for the rest, without the risk of destroying your manual layouts.
Pin/unpin actions
The next picture shows a diagram with three persons.
@@ -1293,7 +1404,7 @@ Pin/unpin actions
- Arrange All action lays out all diagram elements in order to produce the “best” layout. As we can see on the next picture, all diagram elements are moved.
+ Layout All action lays out all diagram elements in order to produce the “best” layout. As we can see on the next picture, all diagram elements are moved.
@@ -1308,7 +1419,7 @@
Pin/unpin actions
Now
John Doe and
Jane Smith are pinned, a new
- Arrange All action will preserve their locations.
+ Layout All action will preserve their locations.
@@ -1327,8 +1438,8 @@
Pin/unpin actions
- it is not possible to pin/unpin edges or compartments.
Configuration
- Every diagram elements that you move will be pinned by default and will need an unpin operation to be “moveable” again.
- This default behavior can be changed in Eclipse preferences, as can be seen in the next picture.
+ You have a configuration to ensure that any diagram element you move is automatically pinned and will require an unpinning operation to be movable again by a layout.
+ This behavior can be enabled or disabled in Eclipse preferences, as shown in the following image:
@@ -1370,8 +1481,8 @@ Standard mode
- Layouting mode: arrange your diagrams without modifying semantic models
- When you only want to do layout operations (e.g. arrange a diagram by moving nodes or edges), you may modify the semantic models without paying attention. For example, when organizing bordered nodes, you may change the container of the semantic element, without wanting do so.
+ Layouting mode: layout your diagrams without modifying semantic models
+ When you only want to do layout operations (e.g. layout a diagram by moving nodes or edges), you may modify the semantic models without paying attention. For example, when organizing bordered nodes, you may change the container of the semantic element, without wanting do so.
When this mode is enabled, the following operations are changed:
- direct edit is disabled on all elements;
@@ -1399,7 +1510,7 @@ Layoutin
In this example, as
Layouting mode is activated, reconnecting the Edge from
Abstrat Customer to
- Company is forbidden. You can arrange this edge (change start location, add bending points...) without risking to modify the underlying semantic model.
+ Company is forbidden. You can layout this edge (change start location, add bending points...) without risking to modify the underlying semantic model.
When a diagram is closed, the
Layouting mode is automatically disabled.
@@ -1712,7 +1823,7 @@
Standard Tools
Pin/Unpin. The final standard tools which are available in the top row of all the palette allow to mark or unmark diagram elements as
pinned. Pinning an element on the diagram means that when an automatic layout of the diagram is requested (see the
- Arrange All action), the element will not be moved or resized: it will stay at the exact same position as you placed it. Pinned element can still be moved manually. To pin or unpin an element, simply select the appropriate tool (using the arrow right next to the icon to make the menu appear), and when the tool is active, click on the element to mark as pinned or un-pinned.
+ Layout All action), the element will not be moved or resized: it will stay at the exact same position as you placed it. Pinned element can still be moved manually. To pin or unpin an element, simply select the appropriate tool (using the arrow right next to the icon to make the menu appear), and when the tool is active, click on the element to mark as pinned or un-pinned.
Palette Contents
Below the palette’s header, which contains the general tools described above, you will find all the custom tools which have been configured for your modeler. Note that depending on which
@@ -1770,16 +1881,24 @@
Tab-bar Actions Available on Diagram
When the diagram itself (and not a specific element) is selected, the tab-bar contains the following buttons:
- Automatic Layout Tools. The first group of tools are used to trigger an automatic layout of the elements on the diagram. Automatic layout uses a generic algorithm which tries to arrange the position and sizes of the elements on the diagram in a nice, readable way. In particular it makes sure, unless specific constraints prevent it, that no elements overlap each other, and that elements which contain others (i.e. containers) are large enough to show all their contents. It also tries to minimize the crossing of edges. The two ways to invoke the automatic layout algorithms are available as a drop-down menu on the left-most icon in the tab-bar.
+ Automatic Layout Tools. The first group of tools are used to trigger an automatic layout of the elements on the diagram. Automatic layout uses a generic algorithm which tries to layout the position and sizes of the elements on the diagram in a nice, readable way. In particular it makes sure, unless specific constraints prevent it, that no elements overlap each other, and that elements which contain others (i.e. containers) are large enough to show all their contents. It also tries to minimize the crossing of edges. The two ways to invoke the automatic layout algorithms are available as a drop-down menu on the left-most icon in the tab-bar.
-
- Arrange All. This is the action available by default. It launches the layout algorithm on all the elements in the diagram. Note that elements which have been
+ Layout All. This is the action available by default. It launches the layout algorithm on all the elements in the diagram. Note that elements which have been
+ pinned to their position will
+ not be moved by the algorithm.
+
+ -
+ Layout Children This action layouts all diagram elements but not their children, i.e. only those elements that are directly in the diagram and not in a container. Note that elements which have been
pinned to their position will
not be moved by the algorithm.
-
- Arrange Linked Border Nodes This special action will only concerns nodes which are on the border of another element and which are either the source or the target of at least one edge. When invoked, the action will try to move these bordered nodes on the border of their parent on the most “natural” side of their parent element depending on the direction of the edge. For example if a border node is on the top side of an element but has an edge which goes down to a target element below its parent, this action will move the border node to the bottom side so that the edge does not cross the parent element.
+ Layout All Linked Border Nodes This special action will only concerns nodes which are on the border of another element and which are either the source or the target of at least one edge. When invoked, the action will try to move these bordered nodes on the border of their parent on the most “natural” side of their parent element depending on the direction of the edge. For example if a border node is on the top side of an element but has an edge which goes down to a target element below its parent, this action will move the border node to the bottom side so that the edge does not cross the parent element.
+
+ -
+ Move Pinned Elements When this option is activated, all elements are temporarily considered as unpinned by the layout algorithms. They will therefore move elements even if they are marked as pinned when this option is activated.
@@ -1842,7 +1961,7 @@
Tab-bar Actions Available on Diagram
Pin/Unpin. You can chose to pin (or unpin) elements on the diagram. Pinned elements are kept in their position by the automatic layout algorithms (see
- Arrange All), while unpinned elements can be moved and resized. You can pin/unpin elements from their context menu (using the
+ Layout All), while unpinned elements can be moved and resized. You can pin/unpin elements from their context menu (using the
Layout sub-menu) or more globally by using the
Pin/Unpin button in the tab-bar. This button opens a dialog box which presents all the elements on the diagram, organised in a hierarchical way which corresponds to their graphical organization. Note that because a single semantic element may have multiple representations on the diagram, they may appear multiple times in the dialog box. Making one representation pinned will not pin the other graphical representations of the same element. You can chose which elements should be pinned (resp. unpinned) on the diagram by checking (resp. unchecking) them in the dialog. The top area of the dialog box contains various buttons to help you find the elements you want, by show only the checked (i.e. visible) or unchecked (i.e. hidden) elements, by expanding or collapsing the tree viewer, or by checking or un-checking all elements at once. You can also search for elements by their name using the search box. Note that pinning has currently no effect on edges.
@@ -1851,9 +1970,23 @@ Tab-bar Actions Available on Diagram
- Paste Layout. This button is only enabled if you have previously copied the layout of some elements in the clipboard, using the
- Copy layout action (only visible in the tab-bar when elements are select).
- Paste layout will apply the same size and positions which were copied in the clipboard to the corresponding elements in the current diagram. For the purpose of this command, the “corresponding elements” are the graphical elements which represent the same semantic objects.
+ Paste. This button contains several paste actions, it is only enabled if you have previously copied data. The default action of this button is paste style, Other actions are available in the menu by clicking on the arrow next to the button:
+
-
+ Paste Style: paste the style of the element to another, it is only enabled if you have previously copied style.
+
-
+ Paste Format (Semantic):
+ Paste Layout (Semantic) +
+ Paste Style (Semantic)
+
-
+ Paste Layout (Semantic): it is only enabled if you have previously copied the format of some elements in the clipboard, using the
+ Copy Format action (only visible in the tab-bar when elements are selected).
+ Paste Layout (Semantic) will apply the same size and positions which were copied in the clipboard to the corresponding elements in the current diagram. For the purpose of this command, the “corresponding elements” are the graphical elements which represent the same semantic objects.
+
-
+ Paste Style (Semantic): it is only enabled if you have previously copied the format of some elements in the clipboard, using the
+ Copy format action (only visible in the tab-bar when elements are selected).
+ Paste Style (Semantic) will apply the same style which were copied in the clipboard to the corresponding elements in the current diagram. For the purpose of this command, the “corresponding elements” are the graphical elements which represent the same semantic objects.
+
-
+ Paste Image From Clipboard: paste the image from clipboard to the selected diagram elements, it is only enabled if there is an image in your clipboard and if the selected element can have an image.
@@ -1867,7 +2000,7 @@
Tab-bar Actions Available on Diagram
Export As Image. This button can be used to export the current diagram as an image file stored on disk. When you select it, a dialog box appears
in which you can chose the file’s destination and format. Note that not all formats are currently equally supported; they may not all produce the same result. For diagrams which are tool large to export as a single image, the
- Export to HTML check-box can be used: when it is checked, instead of exporting a single image Sirius will split it in a matrix of smaller images, and produce an HTML file while loads them all arranged in a table to reproduce the original image.
+ Export to HTML check-box can be used: when it is checked, instead of exporting a single image Sirius will split it in a matrix of smaller images, and produce an HTML file while loads them all layouted in a table to reproduce the original image.
@@ -1896,9 +2029,24 @@
Tab-bar Actions Available on Diagram Elements
-
- Arrange Selection. This action launches the layout algorithm only for the diagram elements which are selected (and not pinned). All the other elements on the diagram, whether pinned or not, will not be moved. Note that edges may be re-arranged if one of their ends is part of the selection.
+
+
+ -
+ Layout Selection. This action launches the layout algorithm only for the diagram elements which are selected (and not pinned). All the other elements on the diagram, whether pinned or not, will not be moved. Note that edges may be re-layouted if one of their ends is part of the selection.
+
+ -
+ Layout Children This action layouts all child elements of the selected container, but not the grandchildren, i.e. only those elements which are directly inside the selected container and not in a sub-container of the selected container. Note that elements which have been
+ pinned to their position will
+ not be moved by the algorithm.
+
+ -
+ Layout All Linked Border Nodes This special action will only concerns nodes which are on the border of the selected element and which are either the source or the target of at least one edge. When invoked, the action will try to move these bordered nodes on the border of the selected element on the most “natural” side of the selected element depending on the direction of the edge. For example if a border node is on the top side of an element but has an edge which goes down to a target element below the selected element, this action will move the border node to the bottom side so that the edge does not cross the selected element.
+
+ -
+ Move Pinned Elements When this option is activated, all elements are temporarily considered as unpinned by the layout algorithms. They will therefore move elements even if they are marked as pinned when this option is activated.
+
+
Alignment Control. This menu contains several operations which can be used to align several graphical elements in various ways. The actions in this menu are only enabled when several elements are selected.
@@ -1909,13 +2057,17 @@
Tab-bar Actions Available on Diagram Elements
- Pin/Unpin. These two buttons can be used to mark all the selected elements as pinned or not.
+ Pinned. This checkbox can be used to mark the selected elements as pinned or not.
- Copy Layout. This tool can be used to duplicate the layout of some diagram elements from this diagram into another. This replication only applies to the same semantic elements between diagrams. First, select the set of elements of interest, and use this
- Copy layout action. Then go to the target diagram, and choose the
- Paste layout action from the tab-bar there.
+ Copy format. This tool can be used
+
- to duplicate the format of some diagram elements from this diagram into another. This replication only applies to the same semantic elements between diagrams. First, select the set of elements of interest, and use this
+ Copy Format action. Then go to the target diagram, and choose the
+ Paste Format (Semantic),
+ Paste Layout (Semantic) or
+ Paste Style (Semantic) action from the tab-bar there.
+
- or to copy the style of a diagram element to any another diagram element.
@@ -1947,12 +2099,6 @@
Tab-bar Actions Available on Diagram Elements
Color and Visual Style Controls. The next group of buttons can be used to control some graphical attributes of the selected elements: fill color, line color and line style. The
Workspace image button can be used to replace the graphical representation of an element by an image that you can select from anyware in your Eclipse workspace.
-
-
- Cancel Custom Style. As soon as you modify manually any of the graphical properties of an element, the element’s style is marked as
- customized, and is not refreshed if its definition changes. The
- Cancel Custom Style button resets all the style attributes of an element to its default values and un-marks it as customized.
-
Apply Style. Use this button to reproduce the visual style of an element onto others. This action will apply the style of the last selected element to the others. When you click on this button, all the visual attributes from the last element which can are compatible with the other elements will be applied to them.
@@ -2053,7 +2199,7 @@
Global Preferences
-
Enable animated layout: If checked, then when you launch an automatic layout (
- Arrange all), the shapes will move smoothly to their final location. This makes the arrangement operation take a little longer, but it is easier to follow where your elements have been moved.
+ Layout all), the shapes will move smoothly to their final location. This makes the layout operation take a little longer, but it is easier to follow where your elements have been moved.
-
Enable animated zoom: If checked, when you change the zoom value, Sirius will show intermediate steps to smooth the change.
@@ -2069,13 +2215,13 @@
Global Preferences
-
- Auto-size containers during arrange-all action: Container elements which have an explicit size are normally not resized during an
- Arrange All. This can be problematic if the elements they contain are re-arranged so that the container’s size is not appropriate anymore. When this preference is enabled, the arrange all action will treat all containers as if they are “auto-sized”, and adjust their size to the computed arrangement for their content. After the arrange all action is finished, the containers which had an explicit size before will still have an explicit size (although potentially different); they are only switched to auto-size mode during the arrange all action.
+ Auto-size containers during layout-all action: Container elements which have an explicit size are normally not resized during an
+ Layout All. This can be problematic if the elements they contain are re-layouted so that the container’s size is not appropriate anymore. When this preference is enabled, the layout all action will treat all containers as if they are “auto-sized”, and adjust their size to the computed layout for their content. After the layout all action is finished, the containers which had an explicit size before will still have an explicit size (although potentially different); they are only switched to auto-size mode during the layout all action.
-
Move unlinked notes during layout: If checked, then the
- Arrange all will consider all
- notes on the diagram and arrange them. If unchecked, only the notes which are attached to non-note diagram elements are moved by the layout; the rest (which are considered just comments on the diagram itself), are not touched.
+ Layout all will consider all
+ notes on the diagram and layout them. If unchecked, only the notes which are attached to non-note diagram elements are moved by the layout; the rest (which are considered just comments on the diagram itself), are not touched.
-
Automatically mark moved elements as pinned: If checked, then as soon as you explicitly move a element (node or container) on the diagram, Sirius will mark it as
diff --git a/sirius/doc/user/diagrams/images/VSM_user_fixed_colors.png b/sirius/doc/user/diagrams/images/VSM_user_fixed_colors.png
new file mode 100644
index 0000000000000000000000000000000000000000..cab8fc1c5a370ba10acb2e8012d0b2f8d61556a9
GIT binary patch
literal 15211
zcmb`ubyOVP@-B>fkOX&z1PBl`xWga`5Fog_2Y0ssgS!l#AtAU+a0n1w65QP_xWjFd
zbKY~-@B99^_pZxYv*_;W?%lns>Z#|c+7qVuPWlN3DFz%I+>
_p(NvczlJd6INDWAaQ3Bk6tS(ej~
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