Package uk.ac.starlink.topcat.interop
Class SampCommunicator
java.lang.Object
uk.ac.starlink.topcat.interop.SampCommunicator
- All Implemented Interfaces:
TopcatCommunicator
TopcatCommunicator implementation based on SAMP.
- Since:
- 4 Sep 2008
- Author:
- Mark Taylor
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addConnectionListener
(ChangeListener listener) Adds a listener which will be notified any time that connection status may have changed.Returns an object which can be used to display images.createImageTransmitter
(DensityWindow densWin) Returns an object that can send the density map currently displayed in the density plot window to other applications as a FITS image.Optionally returns a panel which can be displayed in the control window to show communications status.createResourceListTransmitter
(uk.ac.starlink.vo.RegistryPanel regPanel, String resourceType) Returns an object that can send the currently displayed resources from a registry panel.Returns an object which can be used to send messages highlighting single table rows.Returns an object which can be used to send messages drawing attention to particular sky positions.Returns an object which can be used to display spectra.Returns an object which can be used to send messages selecting table row subsets.createSubsetTransmitter
(TopcatModel tcModel, SubsetWindow subWin) Returns an object that can send the RowSubset currently selected in a given subset window to other applications as a row selection on a commonly-known table.createWindowAction
(Component parent) Constructs an action which will display a control window for this communicator.org.astrogrid.samp.gui.GuiHubConnector
Returns the SAMP HubConnector used by this object.Action[]
Returns a list of actions suitable for insertion in a general purpose menu associated with interoperability functionality (register/unregister etc).Returns the name of the protocol over which this object is implemented.Returns the TopcatSampControl object used by this object.Returns an object that can send send the currently selected table from TOPCAT to other applications.boolean
Indicates (without attempting a connection) whether a hub connection is currently in force.void
According to the policy of this communicator, this method may start a hub if none is already running.sanitizeMap
(Map<?, ?> map) Makes sure that a map is SAMP-friendly.boolean
Must be called before any of the actions provided by this object are used.void
startHub
(boolean external) Attempts to start a messaging hub suitable for use with this object.
-
Constructor Details
-
SampCommunicator
Constructor.- Parameters:
controlWindow
- TOPCAT control window- Throws:
IOException
-
-
Method Details
-
getProtocolName
Description copied from interface:TopcatCommunicator
Returns the name of the protocol over which this object is implemented.- Specified by:
getProtocolName
in interfaceTopcatCommunicator
- Returns:
- protocol name
-
setActive
public boolean setActive()Description copied from interface:TopcatCommunicator
Must be called before any of the actions provided by this object are used. May initiate communication with the messaging system etc.- Specified by:
setActive
in interfaceTopcatCommunicator
- Returns:
- true iff there is a current connection
-
getTableTransmitter
Description copied from interface:TopcatCommunicator
Returns an object that can send send the currently selected table from TOPCAT to other applications.- Specified by:
getTableTransmitter
in interfaceTopcatCommunicator
- Returns:
- table transmitter
-
createImageTransmitter
Description copied from interface:TopcatCommunicator
Returns an object that can send the density map currently displayed in the density plot window to other applications as a FITS image.- Specified by:
createImageTransmitter
in interfaceTopcatCommunicator
- Parameters:
densWin
- density plot window- Returns:
- new image transmitter
-
createSubsetTransmitter
Description copied from interface:TopcatCommunicator
Returns an object that can send the RowSubset currently selected in a given subset window to other applications as a row selection on a commonly-known table.- Specified by:
createSubsetTransmitter
in interfaceTopcatCommunicator
- Parameters:
tcModel
- tablesubWin
- subset window- Returns:
- new subset transmitter
-
createResourceListTransmitter
public Transmitter createResourceListTransmitter(uk.ac.starlink.vo.RegistryPanel regPanel, String resourceType) Description copied from interface:TopcatCommunicator
Returns an object that can send the currently displayed resources from a registry panel.- Specified by:
createResourceListTransmitter
in interfaceTopcatCommunicator
- Parameters:
regPanel
- registry panel componentresourceType
- resource subtype - must match the appropriate voresource.loadlist.* MType subtype- Returns:
- new resource list transmitter
-
createSkyPointActivity
Description copied from interface:TopcatCommunicator
Returns an object which can be used to send messages drawing attention to particular sky positions.- Specified by:
createSkyPointActivity
in interfaceTopcatCommunicator
- Returns:
- new activity object
-
createRowActivity
Description copied from interface:TopcatCommunicator
Returns an object which can be used to send messages highlighting single table rows.- Specified by:
createRowActivity
in interfaceTopcatCommunicator
- Returns:
- new activity object
-
createSubsetActivity
Description copied from interface:TopcatCommunicator
Returns an object which can be used to send messages selecting table row subsets.- Specified by:
createSubsetActivity
in interfaceTopcatCommunicator
- Returns:
- new activity object
-
createSpectrumActivity
Description copied from interface:TopcatCommunicator
Returns an object which can be used to display spectra.- Specified by:
createSpectrumActivity
in interfaceTopcatCommunicator
- Returns:
- new activity object
-
createImageActivity
Description copied from interface:TopcatCommunicator
Returns an object which can be used to display images. Note this may include options apart from interop-type ones (display in local viewers).- Specified by:
createImageActivity
in interfaceTopcatCommunicator
- Returns:
- new activity object
-
getInteropActions
Description copied from interface:TopcatCommunicator
Returns a list of actions suitable for insertion in a general purpose menu associated with interoperability functionality (register/unregister etc).- Specified by:
getInteropActions
in interfaceTopcatCommunicator
- Returns:
- action list
-
startHub
Description copied from interface:TopcatCommunicator
Attempts to start a messaging hub suitable for use with this object.- Specified by:
startHub
in interfaceTopcatCommunicator
- Parameters:
external
- true to run hub in external JVM, false to run it in the current one- Throws:
IOException
-
maybeStartHub
Description copied from interface:TopcatCommunicator
According to the policy of this communicator, this method may start a hub if none is already running.- Specified by:
maybeStartHub
in interfaceTopcatCommunicator
- Throws:
IOException
-
createWindowAction
Description copied from interface:TopcatCommunicator
Constructs an action which will display a control window for this communicator.- Specified by:
createWindowAction
in interfaceTopcatCommunicator
- Parameters:
parent
- parent component- Returns:
- communicator control window, or null if none is available
-
isConnected
public boolean isConnected()Description copied from interface:TopcatCommunicator
Indicates (without attempting a connection) whether a hub connection is currently in force.- Specified by:
isConnected
in interfaceTopcatCommunicator
- Returns:
- whether hub is connected
-
addConnectionListener
Description copied from interface:TopcatCommunicator
Adds a listener which will be notified any time that connection status may have changed.- Specified by:
addConnectionListener
in interfaceTopcatCommunicator
- Parameters:
listener
- listener to add
-
getConnector
public org.astrogrid.samp.gui.GuiHubConnector getConnector()Returns the SAMP HubConnector used by this object.- Returns:
- connector
-
getSampControl
Returns the TopcatSampControl object used by this object.- Returns:
- samp control
-
createInfoPanel
Description copied from interface:TopcatCommunicator
Optionally returns a panel which can be displayed in the control window to show communications status.- Specified by:
createInfoPanel
in interfaceTopcatCommunicator
- Returns:
- status component, or null if unimplemented
-
sanitizeMap
Makes sure that a map is SAMP-friendly. Any entries which are not are simply discarded.
-