| Quintiq file version 2.0 | 
| #parent: #root | 
| Method SetTimeIntervalData () id:Method_LibCal_dlgEditTimeInterval_SetTimeIntervalData | 
| { | 
|   #keys: '[131094.0.2073189978]' | 
|   Body: | 
|   [* | 
|     // Initialize the DataHolders that are related to the TimeInterval. | 
|     sTimeInterval := dhExplicitTimeInterval.Data(); | 
|     timezone      := Form.GetCalendarTimeZone(); | 
|      | 
|     // Split the date and the time. | 
|     // Start | 
|     date      := sTimeInterval.Start().Date( timezone ); | 
|     timeOfDay := sTimeInterval.Start().TimeOfDay( timezone ); | 
|      | 
|     dhStartDate.Data( date ); | 
|     dhStartTimeOfDay.Data( timeOfDay ); | 
|      | 
|     dsStartDate.Date( date ); | 
|     durStartTimeOfDay.Duration( timeOfDay ); | 
|      | 
|     // End | 
|     date      := sTimeInterval.End().Date( timezone ); | 
|     timeOfDay := sTimeInterval.End().TimeOfDay(  timezone ); | 
|      | 
|     dhEndDate.Data( date ); | 
|     dhEndTimeOfDay.Data( timeOfDay ); | 
|      | 
|     dsEndDate.Date( date ); | 
|     durEndTimeOfDay.Duration( timeOfDay ); | 
|      | 
|     // In principle the dialog can also be used for 'generic' ExplicitTimeIntervals; | 
|     // in that case there is no participation available. | 
|     if( sTimeInterval.istype( shadow[LibCal_ExplicitTimeInterval] ) ) | 
|     { | 
|       event := sTimeInterval.astype( shadow[LibCal_ExplicitTimeInterval] ).Participation().Event(); | 
|       lblSubject.Text( event.Subject() ); | 
|       lblSubject.Tooltip( event.Info() ); | 
|        | 
|       isAllDay := sTimeInterval.Start().TimeOfDay( timezone ) = Duration::Zero() | 
|               and sTimeInterval.End()  .TimeOfDay( timezone ) = Duration::Zero();     | 
|       ckbIsAllDay.Checked( isAllDay ); | 
|     } | 
|      | 
|     durationInDays := ( sTimeInterval.End() - sTimeInterval.Start() ).Ceil( Duration::Days( 1 ) ); | 
|     npDuration.Number( durationInDays.Days() );  // Is only used when running in days only mode, | 
|                                                  // but set it anyway. | 
|      | 
|     edtComment.Text( sTimeInterval.Comment() ); | 
|   *] | 
| } |