Package uk.ac.starlink.vo

## Class TapQueryPanel

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JPanel
        - - uk.ac.starlink.vo.TapQueryPanel

- All Implemented Interfaces:
    `java.awt.image.ImageObserver`, `java.awt.MenuContainer`, `java.io.Serializable`, `javax.accessibility.Accessible`

      public class TapQueryPanel
      extends javax.swing.JPanel

  Panel for display of a TAP query for a given TAP service.
  Since:
    15 Feb 2011
  Author:
    Mark Taylor
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class javax.swing.JPanel

      `javax.swing.JPanel.AccessibleJPanel`

    - ### Nested classes/interfaces inherited from class javax.swing.JComponent

      `javax.swing.JComponent.AccessibleJComponent`

    - ### Nested classes/interfaces inherited from class java.awt.Container

      `java.awt.Container.AccessibleAWTContainer`

    - ### Nested classes/interfaces inherited from class java.awt.Component

      `java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

  - ### Field Summary

    - ### 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

    Constructors
    Constructor | Description
    --- | ---
    `TapQueryPanel​(UrlHandler urlHandler)` | Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addCaretListener​(javax.swing.event.CaretListener listener)` | Adds a listener for changes to the text in the displayed ADQL text entry panel.
    `void` | `addControl​(javax.swing.JComponent comp)` | Adds a given control to the line of buttons displayed at the top of this panel.
    `void` | `addCustomExamples​(java.lang.String menuName, AdqlExample[] examples)` | Adds a submenu to the examples menu giving a list of custom ADQL example queries.
    `java.lang.String` | `getAdql()` | Returns the text currently entered in the ADQL text component.
    `TapCapabilityPanel` | `getCapabilityPanel()` | Returns the panel used to hold and display the TAP capability information.
    `javax.swing.Action[]` | `getEditActions()` | Returns an array of GUI actions related to editing the ADQL text.
    `java.lang.String` | `getExampleQueryText​(DaliExample daliEx)` | Returns the ADQL text corresponding to the query part of an example.
    `double[]` | `getSkyPos()` | Returns the currently preferred sky position to use in examples.
    `void` | `removeCaretListener​(javax.swing.event.CaretListener listener)` | Removes a listener previously added with addCaretListener.
    `void` | `setExtraTables​(AdqlValidator.ValidatorTable[] extraTables)` | Sets a list of extra tables available for valid queries.
    `void` | `setServiceKit​(TapServiceKit serviceKit)` | Sets the TAP service access used by this panel.

    - ### 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, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, 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, setEnabled, 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, getCursor, 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`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### TapQueryPanel

          public TapQueryPanel​(UrlHandler urlHandler)

      Constructor.
      Parameters:
        `urlHandler` - handles URLs that the user clicks on; may be null

  - ### Method Detail

    - #### getCapabilityPanel

          public TapCapabilityPanel getCapabilityPanel()

      Returns the panel used to hold and display the TAP capability information.
      Returns:
        capability display panel

    - #### getAdql

          public java.lang.String getAdql()

      Returns the text currently entered in the ADQL text component.
      Returns:
        adql text supplied by user

    - #### setServiceKit

          public void setServiceKit​(TapServiceKit serviceKit)

      Sets the TAP service access used by this panel. Calling this will unconditionally initiate an asynchronous attempt to fill in service metadata from the given service.
      Parameters:
        `serviceKit` - defines TAP service

    - #### setExtraTables

          public void setExtraTables​(AdqlValidator.ValidatorTable[] extraTables)

      Sets a list of extra tables available for valid queries. By default ADQL validation is done on a list of tables acquired by reading the service's declared table metadata, but additional tables may be added for consideration using this call.
      Parameters:
        `extraTables` - additional tables to be passed by the validator

    - #### getEditActions

          public javax.swing.Action[] getEditActions()

      Returns an array of GUI actions related to editing the ADQL text.
      Returns:
        edit action list

    - #### addControl

          public void addControl​(javax.swing.JComponent comp)

      Adds a given control to the line of buttons displayed at the top of this panel.
      Parameters:
        `comp` - component to add

    - #### addCaretListener

          public void addCaretListener​(javax.swing.event.CaretListener listener)

      Adds a listener for changes to the text in the displayed ADQL text entry panel. This uses a CaretListener rather than (what might be more appropriate) DocumentListener because the DocumentListener interface looks too hairy, especially for use by components that are themselves behaving asynchronously.
      Parameters:
        `listener` - listener to add

    - #### removeCaretListener

          public void removeCaretListener​(javax.swing.event.CaretListener listener)

      Removes a listener previously added with addCaretListener.
      Parameters:
        `listener` - listener to remove

    - #### addCustomExamples

          public void addCustomExamples​(java.lang.String menuName,
                                        AdqlExample[] examples)

      Adds a submenu to the examples menu giving a list of custom ADQL example queries.
      Parameters:
        `menuName` - name of submenu
        `examples` - example list

    - #### getSkyPos

          public double[] getSkyPos()

      Returns the currently preferred sky position to use in examples. The default implementation returns null, which means examples must come up with some default themselves, but subclasses may override this.
      Returns:
        2-element (RA,Dec) array, or null for no position

    - #### getExampleQueryText

          public java.lang.String getExampleQueryText​(DaliExample daliEx)

      Returns the ADQL text corresponding to the query part of an example. Implementation is contentious; override it if you want.
      Parameters:
        `daliEx` - example object
      Returns:
        ADQL query text