Quintiq file version 2.0
#parent: #root
Response OnDrop (
  structured[StockingPoint_MP] information,
  Unit target
) id:Response_ListUnitTree_OnDrop_4
{
  #keys: '[11660.0.253527894]'
  Body:
  [*
    // Add as input stocking point for unit
    // #9446: Added CTRL modifier to link in reverse direction
    feedback := '';
    if( dropaction.IsLink()
        and not target.CanLinkToStockingPoints( feedback, information, true ) ) //if shift+control is hold and can unlink
    {
      target.RemoveAsInputToStockingPoints( information );
    }
    else //this intends to link (shift+control is not hold)
    {
      target.LinkToStockingPoints( information, not dropaction.IsControl() );
    }
  *]
  DefinitionID: 'Responsedef_GUIComponent_OnDrop'
  Precondition:
  [*
    ret_value := true;
    
    if( not dropaction.IsLink() ) //if shift+control not hold, means linking and need to check preconditions
    {
      ret_value := target.CanLinkToStockingPoints( feedback, information, not dropaction.IsControl() );
    }
    
    return ret_value;
  *]
  UserRequiresReadWrite: true
}
