| Class, Component { |
| fillcolor: lightgrey; |
| elementIcon: false; |
| leftMarginLabel: 35; |
| topMarginLabel: 7; |
| bottomMarginLabel: 7; |
| shapeDirection: 0; |
| shapeVisibility: true; |
| } |
| |
| Property { |
| elementIcon: false; |
| leftMarginLabel: 35; |
| topMarginLabel: 7; |
| bottomMarginLabel: 7; |
| shapeDirection: 0; |
| shapeVisibility: true; |
| maskLabel: name, type; |
| } |
| |
| /** |
| * Assure that data attributes appear automatically |
| * Turned off, since Papyrus does not handle undo/redo with this policy |
| * and users might only want to see a subset. |
| */ |
| /* |
| DataType[appliedStereotypes~="DataType"], |
| DataType[appliedStereotypes~="CommunicationObject"] |
| { |
| canonical : true; |
| } |
| */ |
| |
| Stereotype > Label { |
| visible: false; |
| depth:" none"; |
| } |
| |
| /** |
| * Hide all stereotype labels by default |
| */ |
| Label[type=StereotypeLabel] { |
| visible: false; |
| } |
| |
| |
| /** |
| * Data types and interfaces |
| */ |
| DataType, |
| Interface, |
| Enumeration { |
| fillcolor: #ffff99; |
| lineWidth: 2; |
| radiusWidth: 10; |
| radiusHeight: 10; |
| bold: true; |
| displayTags: false; |
| gradient : white vertical; |
| |
| elementIcon: false; |
| maintainSymbolRatio: true; |
| leftMarginLabel: 35; |
| topMarginLabel: 7; |
| bottomMarginLabel: 7; |
| shapeDirection: 0; |
| shapeVisibility: true; |
| |
| qualifiedNameDepth: none; |
| } |
| |
| DataType > Compartment[kind="operations"] { |
| visible: false; |
| } |
| |
| Class { |
| lineWidth: 2; |
| radiusWidth: 10; |
| radiusHeight: 10; |
| bold: true; |
| } |
| |
| DataType[appliedStereotypes~="CommunicationObject"], |
| Interface[appliedStereotypes~="AbstractInterface"] { |
| fillcolor: #ffcc66; |
| gradient : white horizontal; |
| } |
| |
| Interface[appliedStereotypes~="CoordinationService"] { |
| fillcolor: khaki; |
| gradient : white horizontal; |
| } |
| |
| /** |
| * Components |
| */ |
| Class[appliedStereotypes~="ComponentDefinition"], |
| Component[appliedStereotypes~="ComponentDefinition"] { |
| fillColor: powderblue; |
| lineWidth: 2; |
| /* bold: true; */ |
| bold: false; |
| radiusWidth: 10; |
| radiusHeight: 10; |
| gradient : white horizontal; |
| svgFile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/ComponentDefinition.svg"; |
| } |
| |
| Class[appliedStereotypes~="ComponentDefinition"] > Label, |
| Component[appliedStereotypes~="ComponentDefinition"] > Label { |
| bold: true; |
| } |
| |
| Class[appliedStereotypes~="CommunicationPatternDefinition"] { |
| fillColor: green; |
| gradient : white vertical; |
| } |
| |
| Class[appliedStereotypes~="CommunicationPatternDefinition"] > Compartment[kind="attributes"], |
| Class[appliedStereotypes~="CommunicationPatternDefinition"] > Compartment[kind="operations"], |
| Class[appliedStereotypes~="CommunicationPatternDefinition"] > Compartment[kind="nestedclassifiers"] { |
| visible: false; |
| } |
| |
| Class[appliedStereotypes~="PeriodicTimer"] { |
| svgFile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/PeriodicTimer.svg"; |
| } |
| |
| Class[appliedStereotypes~="PeriodicTimer"] > Compartment { |
| visible: false |
| } |
| |
| Port { |
| lineColor: black; |
| transparency: 70; |
| gradient: none; |
| maskLabel: name; |
| } |
| |
| /** |
| * Calculate (and set) the connector label as a side effect of evaluating the rmsConnectorName |
| */ |
| Connector[rmsConnectorName~="dummy"] { |
| } |
| |
| Port[rmsPortType~="r_Push"] { |
| svgfile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/hollow_in/position.svg"; |
| } |
| Port[rmsPortType~="p_Push"] { |
| svgfile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/solid_out/position.svg"; |
| } |
| Port[rmsPortType~="r_Event"] { |
| svgfile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/hollow_in/position.svg"; |
| } |
| Port[rmsPortType~="p_Event"] { |
| svgfile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/solid_out/position.svg"; |
| } |
| Port[rmsPortType~="r_Send"] { |
| svgfile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/solid_out/position.svg"; |
| } |
| Port[rmsPortType~="p_Send"] { |
| svgfile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/hollow_in/position.svg"; |
| } |
| Port[rmsPortType~="r_Query"] { |
| svgfile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/arrows_out/position.svg"; |
| } |
| Port[rmsPortType~="p_Query"] { |
| svgfile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/arrows_in/position.svg"; |
| } |
| Port[rmsPortType~="r_Action"] { |
| svgfile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/action_out/position.svg"; |
| } |
| Port[rmsPortType~="p_Action"] { |
| svgfile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/action_in/position.svg"; |
| } |
| Port[rmsPortType~="p_Action_coord"] { |
| svgfile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/ComponentCoordinationPort.svg"; |
| } |
| Port > Compartment[kind="symbol"] { |
| visible: true; |
| } |
| |
| /* |
| * Relationships of ComponentDefinition palette (start) |
| */ |
| Realization[appliedStereotypes~="Realizes"] > Label:name, |
| Usage[appliedStereotypes~="Uses"] > Label:name, |
| Usage[appliedStereotypes~="Uses"] > Label:stereotype, |
| Connector[appliedStereotypes~="robotics::generics::Connects"] > Label:sourceMultiplicity, |
| Connector[appliedStereotypes~="robotics::generics::Connects"] > Label:targetMultiplicity, |
| Connector[appliedStereotypes~="robotics::generics::Connects"] > Label:name, |
| Connector[appliedStereotypes~="robotics::generics::Connects"] > Label:stereotype { |
| visible:false; |
| } |
| |
| Port[appliedStereotypes~="ActivityPort"] { |
| maskLabel: none; |
| } |
| /* (end) */ |
| |
| Class[appliedStereotypes~="CommunicationPatternDefinition"], |
| Class[appliedStereotypes~="CommunicationPattern"] { |
| isOval : true; |
| bold: true; |
| lineWidth: 2; |
| topMarginLabel: 0; |
| bottomMarginLabel: 0; |
| leftMarginLabel: 0; |
| } |
| |
| /* |
| * Data Representation (start) |
| */ |
| *[appliedStereotypes~="DataType"] { |
| svgFile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/DataType.svg"; |
| fillColor: yellow; |
| gradient : white horizontal; |
| } |
| |
| *[appliedStereotypes~="Enumeration"] { |
| svgFile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/EnumerationType.svg"; |
| fillColor: beige; |
| gradient : white horizontal; |
| } |
| |
| /* NfpType */ |
| DataType[appliedStereotypes~="NfpType"] > Compartment[stereotype="MARTE::MARTE_Foundations::NFPs::NfpType"] { |
| visible: true; |
| } |
| DataType[appliedStereotypes~="NfpType"] > Compartment[kind="operations"], |
| DataType[appliedStereotypes~="NfpType"] > Compartment[type=StereotypeBrace], /*the order btw "visible" and "not visible" matters! */ |
| Compartment[stereotype="MARTE::MARTE_Foundations::NFPs::NfpType"]>[property="exprAttrib"] , |
| Compartment[stereotype="MARTE::MARTE_Foundations::NFPs::NfpType"]>[property="tupleAttrib"] { |
| visible: false; |
| } |
| /* --------- */ |
| |
| /* TupleType */ |
| DataType[appliedStereotypes~="TupleType"] > Compartment[stereotype="MARTE::MARTE_Annexes::VSL::DataTypes::TupleType"] { |
| visible: true; |
| } |
| DataType[appliedStereotypes~="TupleType"] > Compartment[kind="operations"], |
| DataType[appliedStereotypes~="TupleType"] > Compartment[type=StereotypeBrace] { /*the order btw "visible" and "not visible" matters! */ |
| visible: false; |
| } |
| /* --------- */ |
| |
| /* ChoiceType */ |
| DataType[appliedStereotypes~="ChoiceType"] > Compartment[stereotype="MARTE::MARTE_Annexes::VSL::DataTypes::ChoiceType"] { |
| visible: true; |
| } |
| DataType[appliedStereotypes~="ChoiceType"] > Compartment[kind="operations"], |
| DataType[appliedStereotypes~="ChoiceType"] > Compartment[type=StereotypeBrace] { /*the order btw "visible" and "not visible" matters! */ |
| visible: false; |
| } |
| /* --------- */ |
| |
| /* CollectionType */ |
| DataType[appliedStereotypes~="CollectionType"] > Compartment[stereotype="MARTE::MARTE_Annexes::VSL::DataTypes::CollectionType"] { |
| visible: true; |
| } |
| DataType[appliedStereotypes~="CollectionType"] > Compartment[kind="operations"], |
| DataType[appliedStereotypes~="CollectionType"] > Compartment[type=StereotypeBrace] { /*the order btw "visible" and "not visible" matters! */ |
| visible: false; |
| } |
| /* --------- */ |
| |
| *[appliedStereotypes~="CommunicationObject"] { |
| svgFile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/CommunicationObject.svg"; |
| } |
| /* (end) */ |
| |
| *[appliedStereotypes~="ServiceDefinition"] { |
| svgFile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/ServiceDefinition.svg"; |
| } |
| |
| *[appliedStereotypes~="CoordinationService"] { |
| svgFile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/CoordinationService.svg"; |
| } |
| |
| Interface[appliedStereotypes~="ServiceDefinition"] > Compartment[kind="operations"], |
| Interface[appliedStereotypes~="ServiceDefinition"] > Compartment[kind="nestedclassifiers"] { |
| visible: false; |
| } |
| |
| Interface[appliedStereotypes~="CoordinationService"] > Compartment[kind="operations"], |
| Interface[appliedStereotypes~="CoordinationService"] > Compartment[kind="nestedclassifiers"] { |
| visible: false; |
| } |
| |
| *[appliedStereotypes~="Activity"] { |
| svgFile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/Activity.svg"; |
| } |
| |
| |
| Class[appliedStereotypes~="Parameter"] > Compartment[kind="internalstructure"] { |
| /* show title to have minimal width, otherwise parameter entries can't be dropped */ |
| showTitle : true; |
| } |
| |
| *[appliedStereotypes~="Parameter"] { |
| svgFile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/Parameter.svg"; |
| shapeDirection: 4; |
| transparency: 80; |
| fillColor: gray; |
| /* make compartment title almost invisible */ |
| fontColor : powderblue; |
| fontHeight : 6; |
| displayName: false; |
| } |
| |
| [appliedStereotypes~="ParameterEntry"], |
| [appliedStereotypes~="Assertion"], |
| [appliedStereotypes~="NFProperty"] { |
| visible: false; |
| } |
| |
| *[appliedStereotypes~="CommunicationPattern"] { |
| svgFile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/CommunicationPattern.svg"; |
| leftMarginLabel: 0; |
| shapeDirection: 1; |
| } |
| |
| *[appliedStereotypes~="CommunicationPatternDefinition"] { |
| /** |
| svgFile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/CommunicationPatternDefinition.svg"; |
| */ |
| shapeVisibility: false; |
| } |
| |
| Property[appliedStereotypes~="ComponentInstance"] { |
| fillColor: lightskyblue; |
| lineWidth: 2; |
| radiusWidth: 10; |
| radiusHeight: 10; |
| gradient : white horizontal; |
| bold: true; |
| svgFile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/ComponentInstance.svg"; |
| } |
| |
| *[appliedStereotypes~="System"] { |
| svgFile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/System.svg"; |
| } |
| |
| *[appliedStereotypes~=ComponentService] { |
| svgFile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/ComponentService.svg"; |
| } |
| *[appliedStereotypes~=ComponentService] > Compartment[kind="internalstructure"] { |
| shapeVisibility: false; |
| } |
| |
| *[appliedStereotypes~="Contract"] { |
| shapeVisibility: true; |
| transparency: 90; |
| lineWidth: 0; |
| shapeDirection: 5; |
| fontHeight: 7; |
| svgFile: "platform:/plugin/org.eclipse.papyrus.robotics.css/shapes/Contract.svg"; |
| } |