Quintiq file version 2.0
|
#parent: #root
|
Method InitializeRecurrencePeriod (
|
shadow[LibCal_RecurrencePeriod] sRecurrencePeriod_i
|
) id:Method_LibCal_dlgEvent_InitializeRecurrencePeriod
|
{
|
#keys: '[131092.0.2141066155]'
|
Body:
|
[*
|
// Take over the existing period (if applicable)
|
if( not isnull( sRecurrencePeriod_i ) )
|
{
|
dsStartOfPeriod.Date( sRecurrencePeriod_i.StartDate() );
|
dhStartOfPeriod.Data( sRecurrencePeriod_i.StartDate() );
|
|
// NoEnd
|
if( sRecurrencePeriod_i.istype( shadow[LibCal_RecurrencePeriodWithoutEnd] ) )
|
{
|
// Is already initialized
|
}
|
|
// NrOfOccurrences
|
else if( sRecurrencePeriod_i.istype( shadow[LibCal_RecurrencePeriodNrOfOccurrences] ) )
|
{
|
period := sRecurrencePeriod_i.astype( shadow[LibCal_RecurrencePeriodNrOfOccurrences] );
|
|
ckbNoEndDate.Checked( false );
|
ckbEndAfter. Checked( true );
|
|
edtNrOfOccurrences.Text( [String]period.NrOfOccurrences() );
|
}
|
|
// WithEndDate
|
else if( sRecurrencePeriod_i.istype( shadow[LibCal_RecurrencePeriodWithEndDate] ) )
|
{
|
period := sRecurrencePeriod_i.astype( shadow[LibCal_RecurrencePeriodWithEndDate] );
|
|
ckbEndBy.Checked( true );
|
dsEndOfPeriod.Date( period.EndDate() );
|
}
|
}
|
|
// Workaround for the fact that setting ckbEndOfPeriod.Checked() is not noticed during the first execution
|
// of response dsStartOfPeriod.OnChanged(). See method SetEndOfPeriod() of the dialog for more information.
|
lblWorkaround.Text( "initialized" );
|
|
this.InitializeDuration(); // Explicitly initialize the duration
|
this.SetEndOfPeriod();
|
*]
|
}
|