Skip to main content
Jump to: navigation, search

Difference between revisions of "Papyrus/Papyrus User Guide/Toolbars/Alignment"

(Alignment Tool)
(One intermediate revision by the same user not shown)
Line 1: Line 1:
= Alignment Tool =
+
[https://help.eclipse.org/2020-09/topic/org.eclipse.papyrus.infra.gmfdiag.common.doc/target/generated-eclipse-help/alignmentTool.html?cp=73_0_2_9_1 Alignment Tool (2020-09)]
== Introduction ==
+
Alignment Tool is available in the Papyrus toolbar:<br/>
+
[[File:Alignment_Toolbar.JPG]]<br/>
+
Alignment allows to align the different objects of the model based on a reference object.
+
The reference object is basically the last object selected (primary selection) and can be identified with the handles color:<br/>
+
{|style="margin: auto;"
+
|[[File:normal_Align_selection.JPG|frame|Normal Selection]]
+
|[[File:Reference_Align_selection.JPG|frame|Primary Selection]]
+
|}
+
<br/>
+
To implement Alignment, some rules have been defined.
+
  
== General Rules ==
+
[[Category:Papyrus]]
[[File:Alignment_Toolbar.JPG|frame|Alignment Types]]
+
The Alignment Tools allows 6 types of alignment:
+
*Horizontally
+
**Left
+
**Center
+
**Right
+
*Vertically
+
**Top
+
**Middle
+
**Bottom
+
 
+
 
+
These types can be disable if the alignment is not possible.
+
Here is the different rules on which the alignment is based:
+
#The alignment is available only if the selected object can be moved on the reference
+
#When an object and one or several children should be aligned on a third object, only the parent is aligned
+
#An object can only be aligned inside of its container's bounds.(In order to avoid scrollbar and invisible objects)
+
#An object cannot be aligned on one of its children.
+
 
+
+
== Using of Alignment Tool ==
+
Here under, some examples of using of alignment tool. <br/>
+
=== General Case ===
+
Basically, alignment is used in order to make the model easier to be read and more aesthetical.
+
To align objects:
+
:* Select the object to be aligned
+
:* Click on the align tool button [[File:Align_button.JPG]] 
+
:* Choose the proper type of alignment
+
<br/>
+
#Example A: Standard alignment
+
#:[[File:General_Align1_before.JPG]]
+
#:[[File:General_Align1_after.JPG]]
+
#:In this case the reference object is the right one. <br/>
+
#Example B: Parent alignment
+
#:In this second example, the object (the Class ) is aligned on his parent (the Package),  the unauthorized alignment appears disable (in grey)
+
#:[[File:General_Align2_before.JPG]]
+
#:[[File:General_Align2_after.JPG]]
+
 
+
=== Hierarchy ===
+
In this section, some examples of alignment in case of hierarchy between objects (parent / children).
+
#Example A: Only the parent is aligned
+
#:[[File:Hierarchy_Align1_before.JPG]]
+
#:As shown in the result screenshot below , only the parent (the Package) has been aligned.
+
#:[[File:Hierarchy_Align1_after.JPG]]
+
#Example B: Alignment inside the Container bounds is available
+
#:[[File:Hierarchy_Align2_before.JPG]]
+
#:In the align options list, only the ones that keep the objects inside his container are enable.
+
#:[[File:Hierarchy_Align2_after.JPG]]
+
 
+
=== Labels ===
+
In this section, some examples of labels alignments.
+
#Example A: Standard label alignment
+
#:[[File:Label_Align1_before.JPG]]
+
#:[[File:Label_Align1_after.JPG]]
+
#Example B: Dependency with another selected object
+
#:[[File:Label_Align2_before.JPG]]
+
#:As shown in the result screenshot below, only the class is aligned. The label moves according to the connection move.
+
#:[[File:Label_Align2_after.JPG]]
+
 
+
=== Edges ===
+
Edges alignment could sound not realistic. Actually, edge alignment is an alignment between the extremities of the edge, to make the edge horizontal or vertical.
+
Example: Standard edge alignment
+
:[[File:Link_Align1_before.JPG]]
+
The extremities are alignment in order to have an horizontal connection. The connection handles remained at the same place on the object
+
:[[File:Link_Align1_after.JPG]]
+
 
+
== Limitation ==
+
This section will describe some limitations of the alignment tool.
+
=== Hierarchy ===
+
A parent cannot be aligned on one of his child:
+
[[File:Hierarchy_Align3_limitation.JPG]]
+
=== Label ===
+
The extremities (source or target )of a connection cannot be aligned on any Labels of this connection.
+
[[File:Label_Align3_limitation.JPG]]
+
=== Edge ===
+
To make the edge alignment available, the edge handles should correspond to the same direction (horizontal or vertical).
+
In the following case, source handle is on TOP and target handle is on LEFT. it is then impossible to align the edge.
+
[[File:Link_Align2_Limitation.JPG]]
+

Revision as of 09:17, 26 November 2020

Alignment Tool (2020-09)

Back to the top