JS: Perform file path adjustments in InputAgent.getFileURI

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Add InputAgent method fileExists(URI)

Opens and closes the file to test whether it is valid.

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Add a dropdown file browser for FileInputs to the Input Editor

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: path is only valid for a URI when not Opaque

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: reverse the order that events are held in the eventStack

This makes it always as cheap as possible to pull the next event for execution off
of the eventStack, without moving all the other events back down.

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: fix EventManager::interrupt when passing a ProcessTarget

The target process is null, we need to switch to the newly allocated Process.

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: hold the waiting Process in a special target class rather than in Event

Provide a getProcess() method that returns null for all other ProcessTarget subclasses.

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: one more belt-and-suspenders loop in the UI thread to protect against the model running concurrently

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: workaround poor list traversal in FrameBox

Should be adding/removing FrameBoxes from an AWT event thread callback, until
we do, just retry updates that get interrupted by a window coming or going.

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: more preparation for a re-entrant EventManager

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: conversion of ticks to seconds should be done in EventManager

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: move seconds->ticks conversion into EventManager

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: read the entire script file into memory rather than holding the file open

Also, remove the scheduleWait and schedule the doScript action to occur later using
scheduleProcess.

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: fix the unit tests for the seed table for MRG1999a

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>