Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method EditUnit ( 
 | 
  internal[GUIComponent] parent, 
 | 
  Unit selection 
 | 
) id:Method_DialogCreateEditUnit_EditUnit 
 | 
{ 
 | 
  #keys: '[11660.0.16642470]' 
 | 
  Body: 
 | 
  [* 
 | 
    // Edit a unit 
 | 
     
 | 
    data := shadow( selection ); 
 | 
     
 | 
    Dialog.Data( data ); 
 | 
     
 | 
    this.SetDefaultValue( selection.Parent(), selection.Group() ); 
 | 
     
 | 
    DataHolderUnitSelection.Data( selection ); 
 | 
     
 | 
    if( not isnull( data ) ) 
 | 
    { 
 | 
      CheckBoxHasStart.Checked( selection.StartDate().IsFinite() ) 
 | 
      CheckBoxHasEnd.Checked( selection.EndDate().IsFinite() ) 
 | 
    } 
 | 
     
 | 
    Dialog.SetUI(); 
 | 
    Dialog.SetDefaultCapacity(); 
 | 
    Dialog.SetTooltip(); 
 | 
     
 | 
    result := this.DoModal( parent ); 
 | 
     
 | 
    if( result > 0 ) 
 | 
    { 
 | 
      parentunit := null( Unit ); 
 | 
      if( CheckBoxParent.Checked() ) 
 | 
      { 
 | 
        parentunit := SelectionParent.Data(); 
 | 
      } 
 | 
     
 | 
      start := Date::MinDate(); 
 | 
      end := Date::MaxDate(); 
 | 
      if( CheckBoxHasStart.Checked() ) 
 | 
      { 
 | 
        start := GUIDateTimeSelectorStart.DateTime().Date(); 
 | 
      } 
 | 
      if( CheckBoxHasEnd.Checked() ) 
 | 
      { 
 | 
        end := GUIDateTimeSelectorEnd.DateTime().Date(); 
 | 
      } 
 | 
     
 | 
      data.Parent( relset, parentunit ); 
 | 
      if( CheckBoxHasUserFrozenFutureDuration.Checked() ) 
 | 
      { 
 | 
        GUIDurationSelectorUserFrozenFutureDuration.Enabled( false ); 
 | 
        data.UserFrozenFutureDuration( GUIDurationSelectorUserFrozenFutureDuration.Duration() );      
 | 
      } 
 | 
       
 | 
      data.StartDate( start ); 
 | 
      data.EndDate( end ); 
 | 
      selection.UpdateTypeIndex( EditorID.Text() );      // Read-only, apply changes to shadow is not taking place for read-only attribute when editing. 
 | 
      data.Commit(); 
 | 
    } 
 | 
  *] 
 | 
} 
 |