Class TLspCompassNavigationControl
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
com.luciad.gui.swing.navigationcontrols.ALcdCompassNavigationControl
com.luciad.view.lightspeed.swing.navigationcontrols.TLspCompassNavigationControl
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
Implementation of
ALcdCompassNavigationControl
for an ILspView
.- Since:
- 2012.0
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Fields inherited from class com.luciad.gui.swing.navigationcontrols.ALcdCompassNavigationControl
COMPASS_COMPONENT_DIR, COMPASSPAN_COMPONENT_DIR
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
ConstructorDescriptionA constructor for the compass component of the navigation controls for aILspView
.TLspCompassNavigationControl
(String aImagePath, ILspView aView) A constructor for the compass component of the navigation controls for aILspView
using the given image path and view. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
This method is called whenever theangle
has been changed by direct interaction with the component (received mouse events).Returns the dimension specified by the images used.Returns the dimension specified by the images used.Returns the dimension specified by the images used.protected void
This method will be called when the mouse starts interacting with the panel (except when it's interacting with the draggable rotation ring).protected void
This method will be called when the mouse stops interacting with the panel.boolean
Returns the behavior when the inside ring of the compass navigation is used.void
setInnerRingPan
(boolean aInnerRingPan) Indicates what view navigation needs to happen when the inside ring of the compass navigation is used.void
setMaxAnimationDuration
(double aAnimationDuration) Sets the maximum duration of the animation used when resetting the orientation to north.void
setMinAnimationDuration
(double aAnimationDuration) Sets the minimum duration of the animation used when resetting the orientation to north.Methods inherited from class com.luciad.gui.swing.navigationcontrols.ALcdCompassNavigationControl
getAngle, getCursor, getMagneticNorthMap, getPoint, getRingToolTipText, getToolTipText, getUpArrowToolTipText, setAngle, setEnabled, setMagneticNorthMap, setRingToolTipText, setUpArrowToolTipText
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getNextFocusableComponent, getPopupLocation, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
TLspCompassNavigationControl
A constructor for the compass component of the navigation controls for aILspView
. The constructor also loads the necessary images and will initialize all the subcomponents of the panel.- Parameters:
aView
- The view this panel will interact with- Throws:
IOException
- when one of the necessary images is missing- Since:
- 2019.0.05
-
TLspCompassNavigationControl
A constructor for the compass component of the navigation controls for aILspView
using the given image path and view. The constructor also loads the necessary images and will initialize all the subcomponents of the panel.- Parameters:
aImagePath
- The (relative or absolute) path to the directory where the images are stored.aView
- The view this panel will interact with.- Throws:
IOException
- when one of the necessary images is missing.
-
-
Method Details
-
isInnerRingPan
public boolean isInnerRingPan()Returns the behavior when the inside ring of the compass navigation is used.- Returns:
- the current behavior,
true
for panning,false
for rotation - See Also:
-
setInnerRingPan
public void setInnerRingPan(boolean aInnerRingPan) Indicates what view navigation needs to happen when the inside ring of the compass navigation is used.false
will trigger rotation (and pitching in a 3D view). This is the default.true
will trigger panning.
- Parameters:
aInnerRingPan
-true
for panning,false
for rotation
-
setMinAnimationDuration
public void setMinAnimationDuration(double aAnimationDuration) Sets the minimum duration of the animation used when resetting the orientation to north. The actual duration will be linearly interpolated between the minimum and maximum duration based in the difference between the current angle and the north.By default, the minimum duration is
0.5
second. Set both this and thesetMaxAnimationDuration(double)
maximum duration } to0
if no animation is required.- Parameters:
aAnimationDuration
- expressed in seconds.- See Also:
-
setMaxAnimationDuration
public void setMaxAnimationDuration(double aAnimationDuration) Sets the maximum duration of the animation used when resetting the orientation to north. The actual duration will be linearly interpolated between the minimum and maximum duration based on the difference between the current angle and the north.By default, the duration is
1.5
second. et both this and thesetMinAnimationDuration(double)
minimum duration } to0
if no animation is required.- Parameters:
aAnimationDuration
- expressed in seconds.- See Also:
-
interactionStarted
protected void interactionStarted()Description copied from class:ALcdCompassNavigationControl
This method will be called when the mouse starts interacting with the panel (except when it's interacting with the draggable rotation ring). Between a call to this method and a call toALcdCompassNavigationControl.interactionTerminated()
the methodALcdCompassNavigationControl.getPoint()
will return a point that can be used to interact with an object.- Specified by:
interactionStarted
in classALcdCompassNavigationControl
- See Also:
-
interactionTerminated
protected void interactionTerminated()Description copied from class:ALcdCompassNavigationControl
This method will be called when the mouse stops interacting with the panel. Between a call toALcdCompassNavigationControl.interactionStarted()
and a call to this method, the methodALcdCompassNavigationControl.getPoint()
will return a point that can be used to interact with an object.- Specified by:
interactionTerminated
in classALcdCompassNavigationControl
- See Also:
-
angleChanged
protected void angleChanged()Description copied from class:ALcdCompassNavigationControl
This method is called whenever theangle
has been changed by direct interaction with the component (received mouse events). Implementations of this method should apply the angle (typically to an instance ofILcdView
). The method should not be called by subclasses.- Specified by:
angleChanged
in classALcdCompassNavigationControl
- See Also:
-
getPreferredSize
Returns the dimension specified by the images used.- Overrides:
getPreferredSize
in classJComponent
- Returns:
- the size of the images this panel is a based on.
-
getMinimumSize
Returns the dimension specified by the images used.- Overrides:
getMinimumSize
in classJComponent
- Returns:
- the size of the images this panel is a based on.
-
getMaximumSize
Returns the dimension specified by the images used.- Overrides:
getMaximumSize
in classJComponent
- Returns:
- the size of the images this panel is based on.
-