Class TLcyGXYAsynchronousLayerCustomizerPanel

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
com.luciad.lucy.map.asynchronous.TLcyGXYAsynchronousLayerCustomizerPanel
All Implemented Interfaces:
ILcdUndoableSource, ILcyCustomizerPanel, ILcdPropertyChangeSource, ImageObserver, MenuContainer, Serializable, Accessible

public class TLcyGXYAsynchronousLayerCustomizerPanel extends JPanel implements ILcyCustomizerPanel
Panel wrapper for customizer panels that directly or indirectly influence asynchronously painted layers. It allows to easily convert a customizer panel into a customizer panel that supports asynchronous painting.

For LayerContexts, the calls are delegated using a safe layer context, as determined by ALcyAsynchronousPaintFacade.invokeNowOnGXYLayer(com.luciad.view.gxy.ILcdGXYLayer, com.luciad.view.gxy.asynchronous.ILcdGXYAsynchronousLayerRunnable) for canSetObject(java.lang.Object) and ALcyAsynchronousPaintFacade.invokeNowOnGXYLayer(com.luciad.view.gxy.ILcdGXYLayer, com.luciad.view.gxy.asynchronous.ILcdGXYAsynchronousLayerRunnable) for applyChanges() and setObject(java.lang.Object). For ModelContexts, DomainObjectContexts and ModelEncoderContexts, the calls are delegated with read-write model locks.

Any produced layer-related and model-related undoables are also safe to use.

Please note that once setObject(java.lang.Object) has exited, it is _not_ safe to use the layer until applyChanges() is called: asynchronous painting is allowed to continue while the customizer panel is visible.

See Also: