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
|
}
|
}
|