| Quintiq file version 2.0 | 
| #parent: #root | 
| Method Edit ( | 
|   internal[GUIComponent] parent_i, | 
|   ExplicitTimeInterval timeInterval_i | 
| ) as Number id:Method_LibCal_dlgEditTimeInterval_Edit | 
| { | 
|   #keys: '[131094.0.1401969130]' | 
|   Body: | 
|   [* | 
|     sTimeInterval := shadow( timeInterval_i ); | 
|     Dialog.Data( sTimeInterval ); | 
|      | 
|     // In principle the dialog can also be used for 'generic' ExplicitTimeIntervals; | 
|     // in that case there is no Event. | 
|     event    := guard( timeInterval_i.astype( LibCal_ExplicitTimeInterval ).Participation().Event(), | 
|                        null( LibCal_Event ) ); | 
|     timezone := Dialog.GetCalendarTimeZone(); | 
|      | 
|     // Initialize the controls... | 
|     datStartDate     .Date(     sTimeInterval.Start().Date(      timezone ) );  // Get rid of the time, | 
|     durStartTimeOfDay.Duration( sTimeInterval.Start().TimeOfDay( timezone ) );  // put it in its own control. | 
|      | 
|     datEndDate     .Date(     sTimeInterval.End().Date(      timezone ) ); | 
|     durEndTimeOfDay.Duration( sTimeInterval.End().TimeOfDay( timezone ) ); | 
|      | 
|     isAllDay := sTimeInterval.Start().TimeOfDay( timezone ) = Duration::Zero() | 
|             and sTimeInterval.End()  .TimeOfDay( timezone ) = Duration::Zero();     | 
|     ckbIsAllDay.Checked( isAllDay ); | 
|      | 
|     // Show the EventInfo as tooltip of the subject of the Event. | 
|     lblSubject.SetProperty( "Tooltip", guard( event.Info(), "" ) ); | 
|      | 
|     // ... and the 'memory'. | 
|     vhStartDate.Data( datStartDate.Date() ); | 
|     vhStartTimeOfDay.Data( durStartTimeOfDay.Duration() ); | 
|      | 
|     vhEndDate.Data( datEndDate.Date() ); | 
|     vhEndTimeOfDay.Data( durEndTimeOfDay.Duration() ); | 
|      | 
|     this.UpdateDuration();    | 
|     this.ShowAllDay(); | 
|      | 
|     // Hide the panel if there is no EventInfo to show. | 
|     pnlEventInfo.Visible( not isnull( event ) ); | 
|      | 
|     return Dialog.DoModal( parent_i ); | 
|   *] | 
| } |