Quintiq file version 2.0 #parent: #root Method InitializeCapacity () id:Method_LibCal_dlgEvent_InitializeCapacity { #keys: '[131094.1.420576130]' Body: [* event := this.Data(); eventType := event.Type(); // Extensible method USE_PARTIAL_CAPACITY indicates if partial capacity is allowed. useParticalCapacity := LibCal_Event::USE_PARTIAL_CAPACITY(); // Show an additional radiobutton + editfield or the capacity when applicable. if( useParticalCapacity ) { rbgEventType.ButtonLabels( rbgEventType.ButtonLabels() + " ;Capacity" ); rbgEventType.ButtonValues( rbgEventType.ButtonValues() + ";" + LibCal_Event::TYPE_PARTIAL() ); } else { // Partial capacity should not be used. Convert it to Unavailable or Available. // This is an edge case that can only happen via import, or when using partial capacity was first enabled and later disabled. if( eventType = LibCal_Event::TYPE_PARTIAL() ) { if( event.PartialCapacity() = 0.0 ) { eventType := LibCal_Event::TYPE_UNAVAILABLE(); } else { eventType := LibCal_Event::TYPE_AVAILABLE(); } this.UserData( 1 ); // Register that a message should be shown to inform the user that the EventType and Capacity is changed. // The message is triggered in the OnCreated-response of the Dialog. } } // Set the value of the radiobutton. rbgEventType.BoundValue( eventType ); // Always set the value in the editfield for the capacity... capacity := this.RealToString( event.PartialCapacity() ); edtCapacity.Text( capacity ); // ... but only show the editfield if applicable. edtCapacity.Visible( useParticalCapacity ); *] }