Quintiq file version 2.0
#parent: #root
Method EnableDisableConversionFactors (
  structured[shadow[ConversionFactorInMatrix]] cell,
  Boolean isincluded
) id:Method_FormUnitsOfMeasurement_EnableDisableConversionFactors
{
  #keys: '[124808.2.669409517]'
  Body:
  [*
    // Enable/disable this conversion factor
    /*
      Since it is technically impossible to pass in shadow objects into methods,
      We use strings to pass in primitive values to editor with the help of strings
      The strings will contain all the concatenated info from the selected conversion factors.
    */
    
    selectedconversionfactors := construct( Strings );
    
    traverse( cell, Elements, cfim )
    {
      cfelement := construct( Strings );
      cfelement.Add( cfim.SourceUnitOfMeasureInConversionMatrix().Name() );
      cfelement.Add( cfim.TargetUnitOfMeasureInConversionMatrix().Name() );
      cfelement.Add( [String] cfim.Factor() );
      concatenatedinfo := cfelement.Concatenate( ';' ); 
      
      selectedconversionfactors.Add( concatenatedinfo );
    }
    
    BaseConversionFactor::UpdateIsIncluded( MacroPlan, selectedconversionfactors, isincluded );
  *]
}
