/**
 * (c) Copyright Rogue Wave Software, Inc. 1997, 2016.
 * All Rights Reserved.
 *
 * This source code is an addition to the Rogue Wave JViews Reference Manual
 * delivered with the Rogue Wave JViews library.
 * It is supplied as an example to show you how to code with Rogue Wave JViews.
 * Feel free to use, copy, or modify it within the framework of your
 * Rogue Wave JViews license agreement.
 */

/******************************************************************
 * bpmn.css - BPMN Style Sheet.
 * This CSS file define graphic attributes for business processes diagram objects
 * based on the Business Process Modeling Notation (BPMN).
 ******************************************************************/

@import "bpmncore.css"

// Definition of commonly used "constant" values
//
@constants {
  FOREGROUND            : "black";
  BACKGROUND            : "white";
  SELECTION_FOREGROUND  : "red";
  SELECTION_BACKGROUND  : "white";
  LIGHT_FOREGROUND      : "gray";
}

// Graphic attributes for Names (labels) of Activities, Events and Gateways
//
Subobject#Name {
  foreground : @|const(FOREGROUND);
}

// Graphic attributes for the links
//
link {
  foreground : @|const(FOREGROUND);
}

// selected links
//
link:selected {
  foreground : @|const(SELECTION_FOREGROUND);
}

// Graphic attributes for the Task shape
//
Subobject#TaskShape {
  foreground : @|const(FOREGROUND);
  background : @|const(BACKGROUND);
}

// Selected Tasks
//
Subobject#TaskShape:selected{
  foreground : @|const(SELECTION_FOREGROUND);
  background : @|const(SELECTION_BACKGROUND);
}

// Graphic attributes fore Start Events.
//
Subobject#Start {
  foreground : @|const(FOREGROUND);
  background : @|const(BACKGROUND);
}

// Selected Start Events
//
Subobject#Start:selected {
  foreground : @|const(SELECTION_FOREGROUND);
  background : @|const(SELECTION_BACKGROUND);
}

// Graphic attributes for Intermediate Events
//
Subobject#Intermediate {
  foreground : @|const(FOREGROUND);
  background : @|const(BACKGROUND);
}

// Selected Intermediate Events
//
Subobject#Intermediate:selected {
  foreground : @|const(SELECTION_FOREGROUND);
  background : @|const(SELECTION_BACKGROUND);
}

// Graphic attributes for End Events
//
Subobject#End {
  foreground : @|const(FOREGROUND);
  background : @|const(BACKGROUND);
}
// Selected End Events
//
Subobject#End:selected {
  foreground : @|const(SELECTION_FOREGROUND);
  background : @|const(SELECTION_BACKGROUND);
}

// Graphic attributes for Sub-Proceses
//
Subobject#SubProcessShape {
  foreground : @|const(FOREGROUND);
  background : @|const(BACKGROUND);
}

// Selected Sub-Process
//
Subobject#SubProcessShape:selected {
  foreground : @|const(SELECTION_FOREGROUND);
  background : @|const(SELECTION_BACKGROUND);
}

Subobject#SPTransactionShape {
  foreground : @|const(FOREGROUND);
  background : @|const(BACKGROUND);
}

// Selected Sub-Process
//
Subobject#SPTransactionShape:selected {
  foreground : @|const(SELECTION_FOREGROUND);
  background : @|const(SELECTION_BACKGROUND);
}
// The Gateway diamond.
//
Subobject#GatewayDiamond {
  foreground : @|const(FOREGROUND);
  background : @|const(BACKGROUND);
}

// Selected Gateway diamond.
//
Subobject#GatewayDiamond:selected {
  foreground : @|const(SELECTION_FOREGROUND);
  background : @|const(SELECTION_BACKGROUND);
}

// Annotation Name
//
Subobject#AnnotationName {
  foreground : @|const(FOREGROUND);
}

// Annotation Bracket
//
Subobject#AnnotationBracket {
  foreground : @|const(FOREGROUND);
}

// Selected Annotation Bracket
//
Subobject#AnnotationBracket:selected {
  foreground : @|const(SELECTION_FOREGROUND);
}

// Label of Conditional or Message Links
//
Subobject#LinkLabel {
  foreground : @|const(FOREGROUND);
  background : @|const(BACKGROUND);
}

// Label of selected Conditional or Message Links
//
Subobject#LinkLabel:selected {
  foreground : @|const(SELECTION_FOREGROUND);
  background : @|const(SELECTION_BACKGROUND);
}

// The small circle of a Message Flow
//
Subobject#MessageLinkCircle {
  foreground : @|const(FOREGROUND);
  background : @|const(BACKGROUND);
}

// The decoration that is used as the message link's arrow:
// a general node with a triangular shape.
//
Subobject#MessageLinkArrow {
  strokeColor : @|const(FOREGROUND);
  fillColor1  : @|const(BACKGROUND);
}

//
//
Subobject#MessageLinkArrow:selected {
  strokeColor : @|const(SELECTION_FOREGROUND);
  fillColor1  : @|const(SELECTION_BACKGROUND);
}


// The small circle of a selected Message Flow
//
Subobject#MessageLinkCircle:selected {
  foreground : @|const(SELECTION_FOREGROUND);
  background : @|const(SELECTION_BACKGROUND);
}

// The Diamond decorating Conditional Links
Subobject#LinkDiamond {
    strokeColor : @|const(FOREGROUND);
    fillColor1  : @|const(BACKGROUND);
}

Subobject#LinkDiamond:selected {
    strokeColor : @|const(SELECTION_FOREGROUND);
    fillColor1  : @|const(SELECTION_BACKGROUND);
}

// Link for Compensation Activities
//
link.CompensationAssociation {
  foreground : @|const(LIGHT_FOREGROUND);
}

// Selected Link for Compensation Activities
//
link.CompensationAssociation:selected {
  foreground : @|const(SELECTION_FOREGROUND);
}

// Associations used to associate two objects
//
node.Association {
  foreground : @|const(LIGHT_FOREGROUND);
}

// Selected Associations
//
node.Association:selected {
  foreground : @|const(SELECTION_FOREGROUND);
}

// The Bracket used as Decoration of Annotation
//
Subobject#AnnotationBracket {
  foreground : @|const(LIGHT_FOREGROUND);
}

// The Bracket used as Decoration of Annotation
//
Subobject#AnnotationBracket:selected {
  foreground : @|const(SELECTION_FOREGROUND);
}

// Graphic attributes for pools and lanes
//
node.Pool, node.Lane {
    fillColor1 : "#aaddddff";
    strokeColor : "darkgrey";
}

// Shape color for selected pools and lanes
//
node.Lane:selected, node.Pool:selected {
    strokeColor : @|const(SELECTION_FOREGROUND);
}

Subobject#DataObjectShape {
    strokePaint: @|const(FOREGROUND)
    fillPaint: @|const(BACKGROUND);
    
}

Subobject#DataObjectShape:selected {
    strokePaint: @|const(SELECTION_FOREGROUND);
    fillPaint: @|const(SELECTION_BACKGROUND);
}
