| java.lang.Object com.jidesoft.hints.AbstractIntelliHints
All known Subclasses: com.jidesoft.hints.AbstractListIntelliHints,
AbstractIntelliHints | abstract public class AbstractIntelliHints implements IntelliHints(Code) | | AbstractIntelliHints is an abstract implementation of
com.jidesoft.hints.IntelliHints . It covers
functions such as showing the hint popup at the correct position, delegating keystrokes,
updating and selecting hint. The only thing that is left out to subclasses
is the creation of the hint popup.
author: Santhosh Kumar T author: JIDE Software, Inc. |
Method Summary | |
public void | acceptHint(Object selected) After user has selected a item in the hints popup, this method will update JTextComponent accordingly
to accept the hint.
For JTextArea, the default implementation will insert the hint into current caret position.
For JTextField, by default it will replace the whole content with the item user selected. | protected JidePopup | createPopup() | protected int | getCaretPositionForPopup() Gets the caret position which is used as the anchor point to display the popup. | protected Rectangle | getCaretRectangleForPopup(int caretPosition) Gets the caret rectangle where caret is displayed. | protected Object | getContext() Gets the context for hints. | abstract protected JComponent | getDelegateComponent() Gets the delegate component in the hint popup. | abstract protected KeyStroke[] | getDelegateKeyStrokes() Gets the delegate keystrokes.
When hint popup is visible, the keyboard focus never leaves the text component.
However the hint popup usually contains a component that user will try to use navigation key to
select an item. | protected KeyStroke | getShowHintsKeyStroke() Gets the keystroke that will trigger the hint popup. | public JTextComponent | getTextComponent() | protected void | hideHintsPopup() Hides the hints popup. | public boolean | isAutoPopup() Returns whether the hints popup is automatically displayed. | public boolean | isFollowCaret() Should the hints popup follows the caret.
true if the popup shows up right below the caret. | public boolean | isHintsPopupVisible() Checks if the hints popup is visible.
true if it's visible. | public void | setAutoPopup(boolean autoPopup) Sets whether the popup should be displayed automatically. | public void | setFollowCaret(boolean followCaret) Sets the position of the hints popup. | public void | setHintsEnabled(boolean enabled) Enables or disables the hints popup.
Parameters: enabled - true to enable the hints popup. | protected void | showHintsPopup() Shows the hints popup which contains the hints.
It will call
AbstractIntelliHints.updateHints(Object) . |
CLIENT_PROPERTY_INTELLI_HINTS | final public static String CLIENT_PROPERTY_INTELLI_HINTS(Code) | | The key of a client property. If a component has intellihints registered, you can use this client
property to get the IntelliHints instance.
|
AbstractIntelliHints | public AbstractIntelliHints(JTextComponent textComponent)(Code) | | Creates an IntelliHints object for a given JTextComponent.
Parameters: textComponent - the text component. |
acceptHint | public void acceptHint(Object selected)(Code) | | After user has selected a item in the hints popup, this method will update JTextComponent accordingly
to accept the hint.
For JTextArea, the default implementation will insert the hint into current caret position.
For JTextField, by default it will replace the whole content with the item user selected. Subclass can
always choose to override it to accept the hint in a different way. For example,
com.jidesoft.hints.FileIntelliHints will append the selected item at the end of the existing text in order to complete a full file path.
|
getCaretPositionForPopup | protected int getCaretPositionForPopup()(Code) | | Gets the caret position which is used as the anchor point to display the popup.
By default, it
AbstractIntelliHints.isFollowCaret() is true, it will return caret position.
Otherwise it will return the caret position at the beginning of the caret line.
Subclass can override to return any caret position.
the caret position which is used as the anchor point to display the popup. |
getCaretRectangleForPopup | protected Rectangle getCaretRectangleForPopup(int caretPosition) throws BadLocationException(Code) | | Gets the caret rectangle where caret is displayed. The popup will be show around the area so that the returned rectangle area
is always visible. This method will be called twice.
Parameters: caretPosition - the caret position. the popup position relative to the text component. Please note, this position is actually a rectangle area. The reason is the popup could beshown below or above the rectangle. Usually, the popup will be shown below the rectangle. In this case, the x and y of the rectangle willbe the top-left corner of the popup. However if there isn't enough space for the popup because it's close to screen bottom border, we willshow the popup above the rectangle. In this case, the bottom-left corner of the popup will be at x and (y - height). Simply speaking,the popup will never cover the area specified by the rectangle (either below it or above it). throws: BadLocationException - if the given position does not represent a valid location in the associated document. |
getContext | protected Object getContext()(Code) | | Gets the context for hints. The context is the information that IntelliHints needs
in order to generate a list of hints. For example, for code-completion, the context is
current word the cursor is on. for file completion, the context is the full string starting from
the file system root.
We provide a default context in AbstractIntelliHints. If it's a JTextArea,
the context will be the string at the caret line from line beginning to the caret position. If it's a JTextField,
the context will be whatever string in the text field. Subclass can always
override it to return the context that is appropriate.
the context. |
getDelegateComponent | abstract protected JComponent getDelegateComponent()(Code) | | Gets the delegate component in the hint popup.
the component that will receive the keystrokes that are delegated to hint popup. |
getDelegateKeyStrokes | abstract protected KeyStroke[] getDelegateKeyStrokes()(Code) | | Gets the delegate keystrokes.
When hint popup is visible, the keyboard focus never leaves the text component.
However the hint popup usually contains a component that user will try to use navigation key to
select an item. For example, use UP and DOWN key to navigate the list.
Those keystrokes, if the popup is visible, will be delegated
to the the component that returns from
AbstractIntelliHints.getDelegateComponent() .
an array of keystrokes that will be delegate to AbstractIntelliHints.getDelegateComponent() when hint popup is shown. |
getShowHintsKeyStroke | protected KeyStroke getShowHintsKeyStroke()(Code) | | Gets the keystroke that will trigger the hint popup. Usually the hints popup
will be shown automatically when user types. Only when the hint popup is hidden
accidentally, this keystroke will show the popup again.
By default, it's the DOWN key for JTextField and CTRL+SPACE for JTextArea.
the keystroek that will trigger the hint popup. |
hideHintsPopup | protected void hideHintsPopup()(Code) | | Hides the hints popup.
|
isAutoPopup | public boolean isAutoPopup()(Code) | | Returns whether the hints popup is automatically displayed. Default is
true
true if the popup should be automatically displayed. False willnever show it automatically and then need the user to manually activateit via the getShowHintsKeyStroke() key binding. |
isFollowCaret | public boolean isFollowCaret()(Code) | | Should the hints popup follows the caret.
true if the popup shows up right below the caret. False if the popup always showsat the bottom-left corner (or top-left if there isn't enough on the bottom of the screen)of the JTextComponent. |
isHintsPopupVisible | public boolean isHintsPopupVisible()(Code) | | Checks if the hints popup is visible.
true if it's visible. Otherwise, false. |
setAutoPopup | public void setAutoPopup(boolean autoPopup)(Code) | | Sets whether the popup should be displayed automatically. If autoPopup
is true then is the popup automatically displayed whenever updateHints()
return true. If autoPopup is false it's not automatically displayed and
will need the user to activate the key binding defined by
getShowHintsKeyStroke().
Parameters: autoPopup - true or false |
setFollowCaret | public void setFollowCaret(boolean followCaret)(Code) | | Sets the position of the hints popup. If followCaret is true, the popup
shows up right below the caret. Otherwise, it will stay at the bottom-left corner
(or top-left if there isn't enough on the bottom of the screen) of JTextComponent.
Parameters: followCaret - true or false. |
setHintsEnabled | public void setHintsEnabled(boolean enabled)(Code) | | Enables or disables the hints popup.
Parameters: enabled - true to enable the hints popup. Otherwise false. |
|
|