Different Session Drag and Drop Overview |
Open Client Administration |
In this scenario, you can click on PROIV Static Icon (Icon A) in one session and drag the mouse pointer to another PROIV Static Icon (Icon B) in another session. A payload of PROIV data (a string) and the data type is attached to the drag from Icon A (This is controlled by the PROIV developer.) When the drop on Icon B occurs, one Function Logic (On Drop Source) is actioned in the second session, which can access the data payload, followed by one Function Logic (On Drop Target) in the first session.
Note: Both sessions must be within the same Aurora Framework. |
The drop occurs if the following statements are true (if not, the drop is prevented by the Open Client):
The PROIV Virtual Machine is in the Wait for Input state.
The target Static Icon has the DropEnabled property set.
The target Static Icon has the DropTypeAllowed property set to match the Drag Type value held in the payload.
The target Static Icon has the Drop Item Limit set to > 0.
Click here to learn more about properties mentioned above.
If the drop is blocked by the Open Client or is cancelled by the user, (pressing the CANCEL key or releasing mouse when dragging, or dropping onto somewhere that is an invalid target, i.e. inside or outside the Open Client session), the payload is discarded and no events are fired.
If the Open Client permits the drop, the following events occur:
In Session A,the string in the drag payload is loaded into the variable defined in the DropDataVariable property. For example, if DropDataVariable is set to $DROP_DATA, then $DROP_DATA contains the string in the payload after the drop. If the data is longer than $DROP_DATA is defined to take, truncation occurs with no indication to the Open Client or the user.
In Session A, the Function Logic in the On Drop Target Static Icon event runs against the target object.
In Session B, when both PROIV Virtual Machines are back in the Wait for Input state, the Open Client runs the On Drop Source logic against the source object. (If the On Drop Target logic causes the function to exit, then the logic cannot run, and there are adverse effects).
It is not advisable for the On Drop Target logic to take a long time to run if there is a matching On Drop Source logic, but that is the developer’s responsibility to avoid this scenario.
Topic ID: 800101