| Quintiq file version 2.0 | 
| #parent: CustomDrawComponentRoutingConfigurator/CustomDrawDataLayerOperationInput | 
| Response OnDrawObject ( | 
|   OperationInput object | 
| ) id:Response_CustomDrawComponentRoutingConfigurator_CustomDrawDataLayerOperationInput_OnDrawObject | 
| { | 
|   #keys: '[110994.0.1918845886]' | 
|   Body: | 
|   [* | 
|     // Draw operation input                                                                               | 
|      | 
|     //Initialize borders | 
|     surface.Pen().Style( PenSpecification::StyleSolid() ); | 
|     surface.Pen().Width( 1 ) | 
|     surface.Pen().Color( ColorScheme.Outline() ); | 
|      | 
|     // Using if-else stmt as splitting it into 2 responses with the same object type binding doesn't work | 
|     if( object.IsElementOfInputGroup() ) | 
|     { | 
|       color := ColorScheme.RoutingConfigurator_ElementOfInputGroup(); | 
|      | 
|       if( object.IsFloating() ) | 
|       { | 
|         color := ColorScheme.RoutingConfigurator_FloatingProduct(); | 
|       } | 
|      | 
|       diameter := minvalue( region.Width(), region.Height() ); | 
|       left := [Number]( region.Width()/2 ) - [Number]( diameter/2 ); | 
|      | 
|       circle := Shape::Circle( left, region.Top(), diameter ) | 
|       surface.Fill( circle, color ); | 
|       surface.Circle( left, region.Top(), diameter, surface.Pen().Color() ); | 
|     } | 
|     else | 
|     {    | 
|       colorstart := ColorScheme.RoutingConfigurator_OperationInputOutput1(); | 
|       colorend := ColorScheme.RoutingConfigurator_OperationInputOutput2(); | 
|      | 
|       // Set color to black if operation is being disabled | 
|       if( not object.Operation().IsEnabled() ) | 
|       { | 
|         colorstart := ColorScheme.RoutingConfiguratorDisabled_InputOutput(); | 
|         colorend := ColorScheme.RoutingConfiguratorDisabled_InputOutput(); | 
|       } | 
|       else if( object.IsFloating() ) | 
|       { | 
|         colorstart := ColorScheme.RoutingConfigurator_FloatingProduct(); | 
|         colorend := ColorScheme.RoutingConfigurator_FloatingProduct(); | 
|       } | 
|      | 
|       surface.Brush().LinearGradient( region, colorstart, colorend, 0.0 ) | 
|       surface.Fill( region ); | 
|       surface.Rect( region.Left(), region.Top(), region.Width(), region.Height(), Color::Black() );   | 
|        | 
|       //Initialize text | 
|       rcv := DataHolderRCView.Data(); | 
|       surface.Font().Name( rcv.FontName() ); | 
|       surface.Font().Size( rcv.FontSize() ); | 
|       surface.TextColor( Color::Black() ); | 
|        | 
|       textformat := TextFormat::Construct( TextFormat::AlignCenter(), TextFormat::AlignMiddle() ); | 
|       surface.Text( region, text, textformat ); | 
|     } | 
|   *] | 
|   CanBindMultiple: false | 
|   DefinitionID: 'Responsedef_CustomDrawDataLayer_OnDrawObject' | 
|   Precondition: | 
|   [* | 
|     return not isnull( DataHolderRCView.Data() ); | 
|   *] | 
| } |