/*****************************************************************************
 * Copyright (c) 2015 CEA LIST.
 * 
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *  Benoit Maggi (CEA LIST) benoit.maggi@cea.fr
 *****************************************************************************/
/*
 * SHARED ELEMENTS
 */

Compartment{
	visible: false;
	showTitle: false;
}

Compartment[kind=structure]{
	showTitle: false;
}

Package > Compartment[kind="packagedelements"],
Model > Compartment[kind="packagedelements"]{
	visible: true;
	showTitle: false;
}

/*
 * @pap.req org.eclipse.papyrus.sysml14#REQ_001
 */
[deprecated=true] {
	lineColor: orange;
}

[appliedStereotypes~="ConstraintBlock"] > Compartment[kind=parameters],
[appliedStereotypes~="ConstraintBlock"] > Compartment[kind=constraints]{
	visible: true;
}

[appliedStereotypes~="FlowSpecification"]{
	elementIcon:false;
	displayIcon:false;
}

[appliedStereotypes~="FlowSpecification"] > Compartment[kind=flowproperties]{
	visible: true;
}

[appliedStereotypes~="ValueType"] > Compartment[kind=attributes],
[appliedStereotypes~="ValueType"] > Compartment[kind=operations]{
	visible: true;
}

/*
 * Comment
 */
Class[appliedStereotypes~="Comment"]{
	visible:true;
}

/*
 * Stereotype ElementGroup
 */
 
Class[appliedStereotypes~="ElementGroup"] {
    visible:true;
    showTitle:true;
}

Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] {
    visible:true;
    showTitle:false;
}

Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="name"]{
	visible:true;
}

Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="criterion"]{
	visible:true;
}

Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="size"]{
	visible:true;
}

Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="member"]{
	visible:true;
}

Class[appliedStereotypes~="ElementGroup"] > Compartment[type=StereotypeCompartment] > [property="orderedMember"]{
	visible:true;
}

/*
 * Problem
 */
Class[appliedStereotypes~="Problem"]{
	visible:true;
}

/*
 * Rationale
 */
Class[appliedStereotypes~="Rational"]{
	visible:true;
}

/*
 * Stakeholder
 */
Class[appliedStereotypes~="Stakeholder"] > Compartment[type=StereotypeCompartment] {
    visible:true;
    showTitle:false;
} 
 
[appliedStereotypes~="Stakeholder"] > Compartment[kind=attributes],
[appliedStereotypes~="Stakeholder"] > Compartment[kind=operations],
[appliedStereotypes~="Stakeholder"] > Compartment[kind=constraints]{
	visible: true;
}

Class[appliedStereotypes~="Stakeholder"] > Compartment[type=StereotypeCompartment] > [property="concernList"]{
	visible:true;
}
Class[appliedStereotypes~="Stakeholder"] > Compartment[type=StereotypeCompartment] > [property="concern"]{
	visible:true;
}

/*
 * Stereotype View
 */
Class[appliedStereotypes~="View"] > Compartment[kind=attributes],
Class[appliedStereotypes~="View"] > Compartment[kind=operations]{
    visible:true;
    showTitle:false;
} 

Class[appliedStereotypes~="View"] > Compartment[kind="nestedclassifiers"]{
    visible:false;
    showTitle:false;
} 
 
Class[appliedStereotypes~="View"] > Compartment[type=StereotypeCompartment] {
    visible:true;
    showTitle:true;
}

Class[appliedStereotypes~="View"] > Compartment[type=StereotypeCompartment] > [property="stakeholder"]{
	visible:true;
}

Class[appliedStereotypes~="View"] > Compartment[type=StereotypeCompartment] > [property="viewpoint"]{
	visible:true;
}

/*
 * Stereotype Viewpoint
 */
Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] {
    visible:true;
    showTitle:false;
} 
 
[appliedStereotypes~="Viewpoint"] > Compartment[kind=attributes],
[appliedStereotypes~="Viewpoint"] > Compartment[kind=operations]{
	visible:true;
}

[appliedStereotypes~="Viewpoint"] > Compartment[kind="internal structure"],
[appliedStereotypes~="Viewpoint"] > Compartment[kind="symbol"]
{
	visible:false;
}

Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="stakeholder"]{
	visible:true;
}

Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="purpose"]{
	visible:true;
}

Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="concernList"]{
	visible:true;
}

Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="language"]{
	visible:true;
}

Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="method"]{
	visible:true;
}

Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="presentation"]{
	visible:true;
}

Class[appliedStereotypes~="Viewpoint"] > Compartment[type=StereotypeCompartment] > [property="concern"]{
	visible:true;
}

/*
 * SPECIFIC ELEMENTS 
 */

RequirementDiagram Compartment{
	visible: false;
	showTitle: true;
}

RequirementDiagram Property > Compartment[kind=structure]{
	visible: true;
}

/*
 * Stereotype Requirement
 */
Class[appliedStereotypes~="Requirement"] > Compartment[kind=nestedclassifiers]{
    visible:false;
    showTitle:false;
}
 
Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] {
    visible:true;
    showTitle:false;
}

Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="derived"]{
	visible:false;
}

Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="derivedFrom"]{
	visible:false;
}

Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="satisfiedBy"]{
	visible:false;
}

Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="refinedBy"]{
	visible:false;
}

Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="tracedTo"]{
	visible:false;
}

Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="verifiedBy"]{
	visible:false;
}

Class[appliedStereotypes~="Requirement"] > Compartment[type=StereotypeCompartment] > [property="master"]{
	visible:false;
}

Class[appliedStereotypes~="Requirement"] > Compartment[kind="operations"] {
    visible:false;
}
