Quintiq file version 2.0 #parent: MatrixEditorTransportCapacities Response OnCheckEditability ( UnitPeriodTransportQuantity cell, Real value ) id:Response_MatrixEditorTransportCapacities_OnCheckEditability { #keys: '[139394.1.30062984]' CanBindMultiple: false DefinitionID: 'Responsedef_WebMatrixEditor_OnCheckEditability' QuillAction { Body: [* // Update the cell editability, min max feedback := ''; unitperiods := construct( UnitPeriods ); unitperiods.Add( cell ); canEdit := UnitPeriod::CanEdit( unitperiods, feedback ) and cell.CanEditAttribute( feedback, focusedattribute ); if( canEdit ) { // We are supposed to use the method attribute( ).Name(), but that // doesn't translate to focusedattribute, so for now hardcode if( focusedattribute = attribute( UnitPeriodTransportQuantity, MaxCapacityPerTimeUnit ).Name() ) { // cannot be smaller than min capacity editinfo.MinValue( cell.MinCapacityPerTimeUnit() ); } // Minimum capacity else if( focusedattribute = attribute( UnitPeriodTransportQuantity, MinCapacityPerTimeUnit ).Name() ) { // cannot be larger than max capacity editinfo.MaxValue( cell.MaxCapacityPerTimeUnit() ); // cannot be smaller than 0 editinfo.MinValue( 0.0 ); } // 2nd max capacity else if( focusedattribute = typeof( TransportCapacity ).Name() + '.' + attribute( TransportCapacity, SecondaryMaximumCapacity ).Name() ) { // cannot be smaller than 2nd min capacity editinfo.MinValue( cell.TransportCapacity().SecondaryMinimumCapacity() ); } // 2nd min capacity else if( focusedattribute = typeof( TransportCapacity ).Name() + '.' + attribute( TransportCapacity, SecondaryMinimumCapacity ).Name() ) { // cannot be larger than 2nd max capacity editinfo.MaxValue( cell.TransportCapacity().SecondaryMaximumCapacity() ); // cannot be smaller than 0 editinfo.MinValue( 0.0 ); } } editinfo.CanEdit( canEdit ); editinfo.UserHint( feedback ); *] GroupServerCalls: false } }