public class ListInsightView extends javax.swing.JList implements InsightView
ListInsightView
class is an implementation of
the InsightView
to support list-type data models.
The data is displayed inside a JList and rendered with a custom
list cell renderer if one is provided.
The default implementation of ListDataItemCellRenderer
can be used, which will render the list cells with an icon (if
one is provided) and display text. To take advantage of this,
extend ListDataItem
for your own data items in the
list.
The ListInsightData
extends the
InsightData
to define the model requirements of this
ListInsightView
class. Your implementation must
implement the ListInsightData
in order to work with
this view implementation. You may wish to make use of the provided
ListDataItemListModel
to take care of
ListModel
functionality as well as sorting and
searching functionality.
javax.swing.JList.AccessibleJList, javax.swing.JList.DropLocation
javax.swing.JComponent.AccessibleJComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
ListInsightView()
Constructs a new
ListInsightView with no custom cell
renderer. |
ListInsightView(javax.swing.ListCellRenderer renderer)
Constructs a new
ListInsightView with no data,
but with the specified cell renderer. |
Modifier and Type | Method and Description |
---|---|
boolean |
begin()
Command to move the selection of the view to the top of the data
set.
|
boolean |
complete(Insight insight)
Command to accept (complete) the current insight selection into
the document.
|
boolean |
down()
Command to move the selection of the view to the next item
(down) in the data set.
|
boolean |
end()
Command to move the selection of the view to the bottom of the data
set.
|
javax.swing.JComponent |
getComponent()
Fetches the Swing UI component for displaying this view.
|
InsightData |
getData()
Fetches the InsightData that is the data model associated with
this particular view.
|
protected javax.swing.ListModel |
getListModel(ListInsightData insightData)
Utility routine to fetch the ListModel from the given insight
data instance.
|
int |
getVisibleRowCount()
Returns the preferred number of visible rows.
|
protected boolean |
isAtBeginList()
Utility routine to check if the selected index is currently at
the start of the list.
|
protected boolean |
isAtEndList()
Utility routine to check if the selected index is currently at
the end of the list.
|
boolean |
left()
Command to move the selection of the view to the left item
in the data set.
|
boolean |
pageDown()
Command to move the selection of the view down by one page in the
data set.
|
boolean |
pageUp()
Command to move the selection of the view up by one page in the
data set.
|
boolean |
partialComplete()
Command to request partial completion using the current insight
information based on the current document contents.
|
boolean |
right()
Command to move the selection of the view to the right item
in the data set.
|
void |
selectDefault()
Instructs the InsightView to select the default insight data
item, and to make sure that it is visible.
|
void |
setData(InsightData newData)
Sets the InsightData data model which should be displayed by
this view.
|
void |
setPopupWindow(PopupWindow popup)
Sets the
PopupWindow so we can set the accessible name of the
selected item on the window so it will be read. |
void |
setSelectionInterval(int anchor,
int lead) |
void |
setUI(javax.swing.plaf.ListUI ui)
Sets the look and feel (L&F) object that renders this component.
|
protected boolean |
supportWrapping()
Whether to support wrapping behavior with the arrow keys at the
top or bottom of the code insight list.
|
boolean |
up()
Command to move the selection of the view to the previous item
(up) in the data set.
|
addListSelectionListener, addSelectionInterval, clearSelection, createSelectionModel, ensureIndexIsVisible, fireSelectionValueChanged, getAccessibleContext, getAnchorSelectionIndex, getCellBounds, getCellRenderer, getDragEnabled, getDropLocation, getDropMode, getFirstVisibleIndex, getFixedCellHeight, getFixedCellWidth, getLastVisibleIndex, getLayoutOrientation, getLeadSelectionIndex, getListSelectionListeners, getMaxSelectionIndex, getMinSelectionIndex, getModel, getNextMatch, getPreferredScrollableViewportSize, getPrototypeCellValue, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getSelectedIndex, getSelectedIndices, getSelectedValue, getSelectedValues, getSelectedValuesList, getSelectionBackground, getSelectionForeground, getSelectionMode, getSelectionModel, getToolTipText, getUI, getUIClassID, getValueIsAdjusting, indexToLocation, isSelectedIndex, isSelectionEmpty, locationToIndex, paramString, removeListSelectionListener, removeSelectionInterval, setCellRenderer, setDragEnabled, setDropMode, setFixedCellHeight, setFixedCellWidth, setLayoutOrientation, setListData, setListData, setModel, setPrototypeCellValue, setSelectedIndex, setSelectedIndices, setSelectedValue, setSelectionBackground, setSelectionForeground, setSelectionMode, setSelectionModel, setValueIsAdjusting, setVisibleRowCount, updateUI
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, 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
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
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, getPeer, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
public ListInsightView()
ListInsightView
with no custom cell
renderer. This will just construct an empty list with our
default ListDataItemCellRenderer
public ListInsightView(javax.swing.ListCellRenderer renderer)
ListInsightView
with no data,
but with the specified cell renderer. Since the data list
is empty, the data to be displayed must be set with a separate
call to setData() to display any data.renderer
- the cell renderer to usepublic void setUI(javax.swing.plaf.ListUI ui)
setUI
in class javax.swing.JList
ui
- the ListUI L&F objectpublic int getVisibleRowCount()
getVisibleRowCount
in class javax.swing.JList
JList.setVisibleRowCount(int)
public void setSelectionInterval(int anchor, int lead)
setSelectionInterval
in class javax.swing.JList
public void setPopupWindow(PopupWindow popup)
PopupWindow
so we can set the accessible name of the
selected item on the window so it will be read.setPopupWindow
in interface InsightView
popup
- the popup windowpublic void setData(InsightData newData)
setData
in interface InsightView
newData
- the data model to useprotected javax.swing.ListModel getListModel(ListInsightData insightData)
insightData
- the list insight data instancepublic void selectDefault()
setData()
before the actual view is even visible.selectDefault
in interface InsightView
public InsightData getData()
getData
in interface InsightView
public javax.swing.JComponent getComponent()
getComponent
in interface InsightView
protected boolean supportWrapping()
protected boolean isAtBeginList()
protected boolean isAtEndList()
public boolean up()
For example, suppose the underlying Insight implements completion insight, and the view is a List. The view should return true here even if the selection is at the top of the list since the view supports navigation upwards and downwards.
up
in interface InsightView
public boolean down()
down
in interface InsightView
public boolean right()
right()
and left()
actions are here to support views where the concept of right and
left makes sense, such as a tree view.right
in interface InsightView
public boolean left()
right()
and left()
actions are here to support views where the concept of right and
left makes sense, such as a tree view.left
in interface InsightView
public boolean pageUp()
pageUp
in interface InsightView
public boolean pageDown()
pageDown
in interface InsightView
public boolean begin()
begin
in interface InsightView
public boolean end()
end
in interface InsightView
public boolean complete(Insight insight)
InsightView
complete
in interface InsightView
insight
- the main Insight engine for the purpose of
hiding or re-triggering Insightpublic boolean partialComplete()
partialComplete
in interface InsightView