| Quintiq file version 2.0 | 
| #parent: #root | 
| Method EditLaneLegCosts ( | 
|   internal[GUIComponent] parent, | 
|   structured[shadow[LaneLegCost]] selection | 
| ) id:Method_DialogCreateEditLaneLegCost_EditLaneLegCosts | 
| { | 
|   #keys: '[124808.1.1621249282]' | 
|   Body: | 
|   [* | 
|     // Edit shadow lane leg costs | 
|     isbatchedit := selection.Size() > 1; | 
|     data := selection.Element( 0 ); | 
|      | 
|     Dialog.Data( data ); | 
|      | 
|     // Enable / disable primary keys when batch editing | 
|     Dialog.EnableDisableComponentsForBatchEdit( isbatchedit ); | 
|      | 
|     currency := guard( data.LaneLeg().Lane().Unit().Currency_MP(), null( Currency_MP ) ); | 
|     unitofmeasure := guard( data.LaneLeg().Lane().Unit().UnitOfMeasure_MP(), null( UnitOfMeasure_MP ) ); | 
|      | 
|     Dialog.SetHolders( currency, unitofmeasure ); | 
|      | 
|     // Need to set from a static method, using data.DefinitionName() will not work | 
|     // in case of editing shadow costs which is not created yet. | 
|     Dialog.SetValueForStringSelections( LaneLegCost::GetDefinitionName() ); | 
|      | 
|     result := this.DoModal( parent ); | 
|      | 
|     if( result > 0 ) | 
|     { | 
|       if( not isbatchedit ) | 
|       { | 
|         data.Commit(); | 
|       } | 
|       else | 
|       { | 
|         Dialog.UpdateShadowCost( selection, data.Cost() ); | 
|       } | 
|     } | 
|   *] | 
| } |