Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Papyrus/Mars Work Description/NewFeature/Shape customisation"

(Created page with "DRAFT == 1.1 introduction == The new feature is the use of generic compartment figure which have rounded corner. This figure is used for most of nodes. For specific cases a...")
 
Line 3: Line 3:
 
== 1.1 introduction ==
 
== 1.1 introduction ==
  
The new feature is the use of generic compartment figure which have rounded corner. This figure is used for most of nodes.
+
This new feature is possibility to have more option to customize nodes of diagrams.
  
For specific cases an SVG symbol can be displayed.  
+
An SVG symbol can be displayed for most of nodes. A floating label can be added to be used with it. This label can be constrained or free.
 
+
A floating label can be added to be used. This label can be constrained or free.
+
  
 
== 1.2 Rounded Corner ==
 
== 1.2 Rounded Corner ==
Line 28: Line 26:
  
 
Figure 1: Result of the use of CSS to set corner radius
 
Figure 1: Result of the use of CSS to set corner radius
 
 
== 1.3 Radiant ==
 
 
Radiant is managed and can be set like before
 
 
=== 1.3.1 Result ===
 
 
   
 
Figure 2: Result of Vertical and horizontal radiant vertical
 
 
== 1.4 Shadow ==
 
 
Radiant is managed and can be set like before
 
 
=== 1.4.1 Result ===
 
 
 
 
Figure 3: Result of shadow
 
  
 
== 1.5 Oval shape setting ==
 
== 1.5 Oval shape setting ==

Revision as of 09:54, 11 December 2014

DRAFT

1.1 introduction

This new feature is possibility to have more option to customize nodes of diagrams.

An SVG symbol can be displayed for most of nodes. A floating label can be added to be used with it. This label can be constrained or free.

1.2 Rounded Corner

The rounded Corner feature is implemented in the class RoundedCompartmentFigure (Figure 5).

1.2.1 CSS Implementation

Property name: Value type: Initial Value: Comment: radiusWidth Integer 0 Set the radius with of corners radiusHeight Integer 0 Set the radius height of corners


1.2.2 Result

DataType {
	radiusWidth:150;
	radiusHeight:50;
}


Figure 1: Result of the use of CSS to set corner radius

1.5 Oval shape setting

To force the figure to be an oval, even if he resizes it, a specific CSS property has been added. The radius Wisth and Height will be not take into account anymore.

1.5.1 CSS properties

Property name: Value type: Initial Value: Comment: isOval Boolean false Set to true if you want to have an oval shape


1.5.2 Result

DataType {
	isOval:true;
}

Figure 4: Result of oval shape setting

1.6 Floating Label

A floating label is now available on all refactored figures. It’s manage throws CSS properties.

1.6.1 CSS properties

Property Value type Initial Value: Comment visible Boolean true Set to true if you want to set visible the label isFloatingLabelConstrained Boolean false Set to true if the floating label is constrained on eight position, you can move it manually labelConstrained Boolean false Forced the label to one position, by default(for port) it will placed according to the parent position position String EAST Set the forced position. floatingLabelOffsetWidth Integer 0 Define the width offset of the label when it is not attached floatingLabelOffsetHeight Integer 0 Define the height offset of the label when it is not attached maskLabel List of String Set the mask of the floating label CSS attibute for the mask label: Value Description name Style constant for name display in labels. visibility Style constant for visibility display in labels. derived Style constant for isDerive display in labels. type Style constant for name display in labels. multiplicity Style constant for multiplicity display in labels. defaultValue Style constant for default value display in labels. modifiers Style constant for modifiers display in labels. multiline Style constant for carriage return in labels parametersDirection Style constant for operation#parameter direction display in labels direction Style constant for direction display in labels parametersName Style constant for operation#parameter name display in labels parametersType Style constant for operation#parameter type display in labels parametersMultiplicity Style constant for operation#parameter multiplicity display in labels parametersDefault Style constant for operation#parameter default value display in labels parametersModifiers Style constant for operation#parameter modifiers display in labels returnType Style constant for return type display in labels returnMultiplicity Style constant for return multiplicity display in labels conjugated Style constant for conjugated labels

1.6.2 Result

DataType > Label {
	visible:true;
}


Figure 5: Result of displayFloatingLabel

DataType {
	isFloatingLabelConstrained:true
}
DataType > Label {
	visible:true;
}

Figure 6: Result of isFloatingLabelConstrained

DataType {
	floatingLabelOffsetWidth:10;
	floatingLabelOffsetHeight:-30;	
}
DataType > Label {
	visible:true;
}

Figure 7: Result of floatingLabelOffsetWidth and of floatingLabelOffsetHeight


1.7 SVG symbol usage

SVG is available on symbol compartment like before. The max number of displayed symbol can now be set by CSS (default 10). CSS to set the max number of symbol displayed:

TimeObservation {
	maxNumberOfSymbol:1;
}

Note: SVG Symbol don’t work with affixed Node as Port.

1.7.1 Result

Figure 8: Result of SVG usage with RoundedCompartmentFigure


maxNumberOfSymbol:2


1.8 SVG color set

The color of the SVG symbol can be chosen. For that set the CSS properties “useOriginalColors” of the element to false. The white color of the SVG image will be changed by the fill color of the element. The black color of the SVG image will be changed by the fill color of the element. Gradient must be disabled.

1.8.2 CSS properties

Property Value type Initial Value: Comment useOriginalColors Boolean true Set if the SVG image use original colors.

1.8.3 Result

1.9 Border style

The border style can be customize through CSS. Six styles are available: dash, dashDot, dashDotDot, dot, solid and custom With custom style you can set the customDash

1.9.1 CSS properties

Property Value type Initial Value: Comment borderStyle String solid Set the style of the border(dash, dashDot, dashDotDot, dot, solid, custom) customDash Int[] [5,5]

1.9.2 Results

Figure 9: Border style set to dash

Figure 10: Border style set to dashDot

Figure 11: Border style set to dashDotDot

Figure 12: Border style set to dot

Figure 13: Border style set to solid

Figure 14: Border style set to dash with shadow


1.10 Compartment top line length

The top line length of compartments can be set.

1.10.1 CSS properties

Property Value type Initial Value: Comment lineLength int -1 Set the top line length of the compartment. By default the length is set to the width of the compartment lineLengthRatio String “1.0” Set the top line length ratio of the compartment

1.10.2 Result:

By default:

Figure 15: Default compartment top line

Class > Compartment{
	length:40;
}

Figure 16: Compartment top line length set to 40

Class > Compartment{
	lineLengthRatio:"0.80";
}

Figure 17: Compartment top line length ratio set to 0.80

1.11 Compartment top line position

The position of line can be set, the default is center.

1.11.1 CSS properties

Property Value type Initial Value: Comment linePosition String “center” Set the compartment top line position.Can be left, center, right.

1.11.2 Result:

Class > Compartment{
	lineLengthRatio:"0.50";
	linePosition:"left";
}


Figure 18: Compartment top line position set to left

1.12 Name position

The name position of named node can be chosen with the CSS property “namePosition” on the element (left, middle, right).


1.12.1 CSS properties

Property Value type Initial Value: Comment namePosition String “center” Set name the position of named node.


1.12.2 Results:

Class{
	namePosition:"left"; /* center, right*/
}


Figure 19: Name position set to Left, center and right


1.13 Add header

A header can be add to the shape at the top-left corner with the CSS “hasHeader”.

1.13.1 CSS properties

Property Value type Initial Value: Comment hasHeader Boolean true Set to true to add a header.


1.13.2 Result

Class{
	namePosition:"left";
	hasHeader:true;
}

Figure 20: Shape with a header


1.14 Port position

The port position can be set to inside, outside or on line. The online option is the default value. The CSS property to applied on port is “portPosition”

1.14.1 CSS Properties

Property Value type Initial Value: Comment portPosition String “onLine” Set the position of the port. Can be “inside”, “ouside” or “onLine”.


1.14.2 Result

Port{
	portPosition:"inside"; /*outside, onLine*/
}


1.15 Summary

1.15.1 CSS Properties

Property Value type Initial Value Comment radiusWidth Integer 0 Set the radius with of corners radiusHeight Integer 0 Set the radius height of corners isOval Boolean false Set to true if you want to have an oval shape displayFloatingLabel Boolean false Set to true to display a floating label isFloatingLabelConstrained Boolean false Set to true if the floating Label is constrained on eight position floatingLabelOffsetWidth Integer 0 Define the width offset of the label when it is not attached floatingLabelOffsetHeight Integer 0 Define the height offset of the label when it is not attached maskLabel List of String Set the mask of the floating label useOriginalColors Boolean true Set if the SVG image use original colors. borderStyle String solid Set the style of the border(dash, dashDot, dashDotDot, dot, solid) lineLength int -1 Set the top line length of the compartment. By default the length is set to the width of the compartment lineLengthRatio String “1.0” Set the top line length ratio of the compartment linePosition String “center” Set the compartment top line position.Can be left, center, right. namePosition String “center” Set name the position of named node. Can be left, center, right. diplayHeader Boolean true Set to true to add a header. portPosition String “onLine” Set the position of the port. Can be “inside”, “ouside” or “onLine”.

Back to the top