Adding FVB mode.  Also fixes actual interval update bug when ROI is configured.  Added HW timestamps on compatible cameras.  

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14645 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
[display] Fix "ensure window is fully onscreen" logic

The previous setup didn't take into account the possibility of there being
multiple displays; thus, newly-created DisplayWindows were always coerced
to be on the primary display of the computer.

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14646 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
[GUIUtils] Remove code duplication.

The isLocationInScreenBounds() method shared significant similarities with the
more flexible getGraphicsConfigurationContaining() method.

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14647 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
[logging] Add ReportingUtils.getCaller().

This method returns the name of the method that invoked the method that
called ReportingUtils.getCaller(). Occasionally useful for debugging; one would
hope that it not be needed in normal program logic...

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14648 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
Added function showMessage(String msg, Component parent) to the ScriptInterface so that plugin can center messages over their own windows instead of the middle of the screen

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14649 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
Revamped MMFrames class and cleaned up all code inheriting from MMFrame.  Regretfully, this may lead on occassion to a one time loss of saved preferences and use of default settings

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14650 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
[display] Improve repack behavior.

Previously, DisplayWindow.pack() would call ImageCanvas.zoomOut(), which
called DisplayWindow.pack(), etc., and we would iterate this multiple times,
each time changing the zoom level of the canvas by 1 "level", until the
canvas fit in the window. Now we directly calculate the desired canvas size
and jump straight there before calling zoomOut(), which removes some flicker
when creating DisplayWindows for large camera sizes, and may fix a stack
overflow bug (caused by pack() calling zoomOut() calling pack() etc.).

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14651 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
Converted the ASIdiSPim plugin and the PatternOverlay plugin to using MMFrame rather than MMDialog, so that they appear as an icon in the Windows tray.  Also fixed a problem in the PatternGenerator Plugin that caused the pattern to not be hidden.

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14652 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
[TIFF loading] gracefully handle malformed metadata

Previously we would create a TaggedImage with null metadata when metadata
loading fails. Now we create a TaggedImage with an empty JSONObject as
metadata instead, which means that downstream code that assumes the metadata
is non-null will not automatically fail.

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14653 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
SimpleAutoFocus: Remove unimplemented devices

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14654 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
Revert "SimpleAutoFocus: Remove unimplemented devices"

Turns out the FocusMonitor _is_ actually doing something, in an
outrageously hackish way....

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14655 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
SimpleAutofocus: Delete unimplemented device

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14656 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
MMCore: Make log easier to read when setting config preset

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14657 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
SerialManager: Remove the 'GetAnswer # retries' logging

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14658 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
ASIdiSPIM: fix previous attempt to check for too-small timepoint interval, factor out valid camera check so we can do it before calculating slice timing too

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14659 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
ASIdiSPIM: fix problem where if only one camera was present we assigned it everywhere, updated comments to match reality

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14660 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
ASIdiSPIM: added PCO support for easy timing mode calculations, still need to fill in exact numbers in some places

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14661 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
Flat Field correction plugin: Change window name to menu name, move channel drop down bit to the left (still not where I would like it to be).  

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14662 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd
Hopefully speed up config prest switch in main window

The effect of this change is to simply revert one of the changes made in
r12056. This eliminates an unnecessary[1] full system state cache
update, which can block for more than a second on systems with lots of
devices.

[1] It is not _strictly_ unnecessary, in the sense that the display of
other config groups with interacting properties may become outdated
without the cache update. But it does not appear that the change in
r12056 was intentional.

git-svn-id: https://valelab.ucsf.edu/svn/micromanager2/trunk@14663 d0ab736e-dc22-4aeb-8dc9-08def0aa14fd