Quintiq file version 2.0 #parent: #root Response OnDrop ( structured[StockingPointNode] information, Unit target ) id:Response_ListUnitTree_OnDrop_3 { #keys: '[11660.0.254126775]' Body: [* // Add as input stocking point node for unit // #9446: Added CTRL modifier to link in reverse direction feedback := ''; stockingPoints := selectset( information, Elements.StockingPoint_MP, stockingPoint, true, true ); if( dropaction.IsLink() and not target.CanLinkToStockingPoints( feedback, stockingPoints, true ) ) //if shift+control is hold and can unlink { target.RemoveAsInputToStockingPoints( stockingPoints ); } else //this intends to link (shift+control is not hold) { target.LinkToStockingPoints( stockingPoints, 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 { stockingPoints := selectset( information, Elements.StockingPoint_MP, stockingPoint, true, true ); ret_value := target.CanLinkToStockingPoints( feedback, stockingPoints, not dropaction.IsControl() ); } return ret_value; *] UserRequiresReadWrite: true }