Quintiq file version 2.0
#parent: #root
Method EnableDisableComponent (
  Boolean isbatchedit
) id:Method_DialogCreateEditLaneLeg_EnableDisableComponent
{
  #keys: '[109478.0.546856549]'
  Body:
  [*
    // Enable / disable components
    
    if( isbatchedit )
    {
      TabPageCost.DisableWithUserFeedback( Translations::MP_Designer_DisableTabCostForBatchEdit() );
    }
    
    CheckBoxHasUserPreprocessingTime.Enabled( not isbatchedit
                                              or ( isbatchedit and CheckBoxBatchEditDuration.Checked() ) );
    
    EditorCO2Emission.Enabled( not isbatchedit 
                               or ( isbatchedit and CheckBoxBatchEditCO2Emission.Checked() ) ); 
    
    CheckBoxHasStandardDeviationLeadTimeLaneLeg.Enabled( not isbatchedit
                                                      or (isbatchedit and CheckBoxBatchEditStandardDeviationLeadTime.Checked() ) );
    
    CheckBoxHasStart.Enabled( not isbatchedit
                              or ( isbatchedit and CheckBoxBatchEditStart.Checked() ) );
    CheckBoxHasEnd.Enabled( not isbatchedit
                            or ( isbatchedit and CheckBoxBatchEditEnd.Checked() ) );
    
    
    GUIDateTimeSelectorStart.Enabled( CheckBoxHasStart.Checked() and CheckBoxHasStart.Enabled() );
    GUIDateTimeSelectorEnd.Enabled( CheckBoxHasEnd.Checked() and CheckBoxHasEnd.Enabled() );
    
    TabPageCost.Enabled( not isbatchedit );
    start := Date::MinDate();
    if( CheckBoxHasStart.Checked() )
    {
      if( GUIDateTimeSelectorStart.DateTime().IsInfinite() )
      {
        start := MacroPlan.Start().Date();
      }
      else
      {
        start := GUIDateTimeSelectorStart.DateTime().Date();
      }
    }
    GUIDateTimeSelectorStart.DateTime( start.DateTime() );
    
    end := Date::MaxDate();
    if( CheckBoxHasEnd.Checked() )
    {
      if( GUIDateTimeSelectorEnd.DateTime().IsInfinite() )
      {
        end := MacroPlan.End().Date();
      }
      else
      {
        end := GUIDateTimeSelectorEnd.DateTime().Date();
      }
    }
    GUIDateTimeSelectorEnd.DateTime( end.DateTime() );
    
    
    GUIDurationSelectorPreprocessingTime.Enabled( CheckBoxHasUserPreprocessingTime.Checked() and CheckBoxHasUserPreprocessingTime.Enabled() );
    GUIDurationSelectorStandardDeviationLeadTimeLaneLeg.Enabled( CheckBoxHasStandardDeviationLeadTimeLaneLeg.Checked() and CheckBoxHasStandardDeviationLeadTimeLaneLeg.Enabled()   );
  *]
}
