JS: adjust eventManager methods to externally-synchronize adding events to the stack

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: ensure all access to the currentTick value is under the lockObject lock

This allows a common check for negative duration waits to be added to calculateEventTime,
in addition, we can now avoid passing currentTick as an argument.

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: remove an extra round of event scheduling from conditional event wakeups

This was missed in the refactoring, scheduling at lastFIFO twice in a row essentially
leaves the order unchanged, so do it once and allow the possibility of explicitly
noting wakeups from conditional wakes in the tracer.

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: explicitly pass an argument to determine how ties are broken when scheduling events

Make the choice between FIFO/LIFO insertion explicit.

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: switchThread needs to be called with the lockObject held, remove inner locking

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: with all internal state now covered by the lockObject, many methods can be public API

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: make sure any required external API functions are locked against lockObject

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: final visibility changes before moving class packages

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: move all timekeeping classes to a new package out of the sandwell namespace

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: finish the package level separation between EventManager and Entity

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: add a basic listener to ensure the eventManager has fully initialized before returning

We need to coordinate the eventManager thread making it to the initial threadWait.
Do this by handshaking with the eventManager thread using a EventTimeListener that
will be updated immediately before the thread goes to sleep.

Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Fix null pointer on File->Save when no configuration file has been loaded

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Correct misinterpretations of getConfigFileName and add javadocs

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Use "recordEdits" to determine whether inputs are marked as "edited"

Confusing use of "addedRecordsFound" was removed.

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Respect "Added Records" when saving a configuration file

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Add comments and javadocs to InputAgent and GUIFrame methods

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Print InputAgent warning messages to the Log Viewer

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Use a consistent style for ConfirmDialog boxes

Use two left-justified lines for each box.

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Replace the special comment "Added Records" with a new marker "RecordEdits"

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>
JS: Remove the "Tooltip" option - does not work with the new renderer

Signed-off-by: Harry King <harry.king@ausenco.com>
Signed-off-by: Harvey Harrison <harvey.harrison@ausenco.com>