Quintiq file version 2.0
|
#parent: CustomDrawComponentRoutingConfigurator/CustomDrawDataLayerOperationOutputEdgeRCVHidden
|
Response OnDrawObject (
|
PISPOperationOutputEdge object
|
) id:Response_CustomDrawComponentRoutingConfigurator_CustomDrawDataLayerOperationOutputEdgeRCVHidden_OnDrawObject
|
{
|
#keys: '[124808.0.1235006012]'
|
Body:
|
[*
|
// Draw PISP Operation output Edge
|
rcv := DataHolderRCView.Data();
|
|
// Adjust line based on its orientations
|
topdown := object.FromY() < object.ToY();
|
leftright := object.FromX() < object.ToX();
|
padding := 6;
|
|
fromx := region.Left();
|
tox := region.Width();
|
|
fromy := region.Top() + padding;
|
toy := region.Height() - padding;
|
|
if( not topdown )
|
{
|
tmp := fromy;
|
fromy := toy;
|
toy := tmp;
|
}
|
|
if( not leftright )
|
{
|
tmp := fromx;
|
fromx := tox;
|
tox := tmp;
|
}
|
|
// Highlight operation input outputs related to this edge
|
operationoutputs := selectset( DataHolderHighlightOperationInputOutputNode.Data(),
|
Elements.astype( OperationOutput ),
|
e,
|
true,
|
true );
|
|
highlight := object.IsLinkOf( DataHolderHighlightPISPNodeInRouting.Data() )
|
or object.IsLinkOf( operationoutputs );
|
|
surface.Brush().Reset(); // strange. without this line, the arrow head will not be filled.
|
surface.Brush().Color( Color::LightGray() ); // to paint the solid arrowhead
|
surface.Pen().Color( Color::Color( 255, 255, 255, 0.3 ) );
|
|
if( highlight )
|
{
|
surface.Brush().Reset(); // strange. without this line, the arrow head will not be filled.
|
surface.Pen().Color( Color::DarkGreen() );
|
surface.Brush().Color( Color::DarkGreen() ); // to paint the solid arrowhead
|
}
|
|
surface.Pen().Style( PenSpecification::StyleSolid() );
|
surface.Pen().Width( rcv.EdgeThickness() );
|
|
// Draw the directional line
|
line := GraphicalLine::LineTo( fromx, fromy, tox, toy );
|
line.ArrowToEnd( true ).ArrowPos( GraphicalLine::ArrowPosMiddle() );
|
surface.Draw( line );
|
*]
|
CanBindMultiple: false
|
DefinitionID: 'Responsedef_CustomDrawDataLayer_OnDrawObject'
|
Precondition:
|
[*
|
return not isnull( DataHolderRCView.Data() );
|
*]
|
}
|