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 ); 
 | 
  *] 
 | 
} 
 |