public class ContentProposalAdapter extends Object
A number of configurable options are provided to determine how the control content is altered when a proposal is chosen, how the content proposal popup is activated, and whether any filtering should be done on the proposals as the user types characters.
This class is not intended to be subclassed.
| Modifier and Type | Field and Description |
|---|---|
static boolean |
DEBUG
Flag that controls the printing of debug info.
|
static int |
FILTER_CHARACTER
Indicates that a single character filter applies as keys are typed in the
popup.
|
static int |
FILTER_CUMULATIVE
Indicates that a cumulative filter applies as keys are typed in the
popup.
|
static int |
FILTER_NONE
Indicates that there should be no filter applied as keys are typed in the
popup.
|
static int |
PROPOSAL_IGNORE
Indicates that the contents of the control should not be modified when a
proposal is chosen.
|
static int |
PROPOSAL_INSERT
Indicates that a chosen proposal should be inserted into the field.
|
static int |
PROPOSAL_REPLACE
Indicates that a chosen proposal should replace the entire contents of
the field.
|
| Constructor and Description |
|---|
ContentProposalAdapter(Control control,
IControlContentAdapter controlContentAdapter,
IContentProposalProvider proposalProvider,
KeyStroke keyStroke,
char[] autoActivationCharacters)
Construct a content proposal adapter that can assist the user with
choosing content for the field.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addContentProposalListener(IContentProposalListener listener)
Add the specified listener to the list of content proposal listeners that
are notified when content proposals are chosen.
|
char[] |
getAutoActivationCharacters()
Return the array of characters on which the popup is autoactivated.
|
int |
getAutoActivationDelay()
Set the delay, in milliseconds, used before any autoactivation is
triggered.
|
IContentProposalProvider |
getContentProposalProvider()
Return the proposal provider that provides content proposals given the
current content of the field.
|
Control |
getControl()
Get the control on which the content proposal adapter is installed.
|
IControlContentAdapter |
getControlContentAdapter()
Return the content adapter that can get or retrieve the text contents
from the adapter's control.
|
int |
getFilterStyle()
Return the integer style that indicates how keystrokes affect the content
of the proposal popup while it is open.
|
ILabelProvider |
getLabelProvider()
Get the label provider that is used to show proposals.
|
Point |
getPopupSize()
Return the size, in pixels, of the content proposal popup.
|
boolean |
getPropagateKeys()
Get the boolean that indicates whether key events (including
auto-activation characters) received by the content proposal popup should
also be propagated to the adapted control when the proposal popup is
open.
|
int |
getProposalAcceptanceStyle()
Get the integer style that indicates how an accepted proposal affects the
control's content.
|
boolean |
isEnabled()
Return a boolean indicating whether the receiver is enabled.
|
protected void |
openProposalPopup()
Open the proposal popup and display the proposals provided by the
proposal provider.
|
void |
setAutoActivationCharacters(char[] autoActivationCharacters)
Set the array of characters that will trigger autoactivation of the
popup.
|
void |
setAutoActivationDelay(int delay)
Set the delay, in milliseconds, used before autoactivation is triggered.
|
void |
setContentProposalProvider(IContentProposalProvider proposalProvider)
Set the content proposal provider that is used to show proposals.
|
void |
setEnabled(boolean enabled)
Set the boolean flag that determines whether the adapter is enabled.
|
void |
setFilterStyle(int filterStyle)
Set the integer style that indicates how keystrokes affect the content of
the proposal popup while it is open.
|
void |
setLabelProvider(ILabelProvider labelProvider)
Set the label provider that is used to show proposals.
|
void |
setPopupSize(Point size)
Set the size, in pixels, of the content proposal popup.
|
void |
setPropagateKeys(boolean propagateKeys)
Set the boolean that indicates whether key events (including
auto-activation characters) received by the content proposal popup should
also be propagated to the adapted control when the proposal popup is
open.
|
void |
setProposalAcceptanceStyle(int acceptance)
Set the integer style that indicates how an accepted proposal affects the
control's content.
|
public static final boolean DEBUG
public static final int PROPOSAL_INSERT
public static final int PROPOSAL_REPLACE
public static final int PROPOSAL_IGNORE
public static final int FILTER_NONE
public static final int FILTER_CHARACTER
public static final int FILTER_CUMULATIVE
public ContentProposalAdapter(Control control, IControlContentAdapter controlContentAdapter, IContentProposalProvider proposalProvider, KeyStroke keyStroke, char[] autoActivationCharacters)
control - the control for which the adapter is providing content assist.
May not be null.controlContentAdapter - the IControlContentAdapter used to obtain and
update the control's contents as proposals are accepted. May
not be null.proposalProvider - the IContentProposalProvider used to obtain
content proposals for this control, or null if
no content proposal is available.keyStroke - the keystroke that will invoke the content proposal popup. If
this value is null, then proposals will be
activated automatically when any of the auto activation
characters are typed.autoActivationCharacters - An array of characters that trigger auto-activation of content
proposal. If specified, these characters will trigger
auto-activation of the proposal popup, regardless of whether
an explicit invocation keyStroke was specified. If this
parameter is null, then only a specified
keyStroke will invoke content proposal. If this parameter is
null and the keyStroke parameter is
null, then all alphanumeric characters will
auto-activate content proposal.public Control getControl()
public ILabelProvider getLabelProvider()
ILabelProvider used to show proposals, or
null if one has not been installed.public boolean isEnabled()
true if the adapter is enabled, and
false if it is not.public void setLabelProvider(ILabelProvider labelProvider)
labelProvider - the (@link ILabelProvider} used to show proposals.public IContentProposalProvider getContentProposalProvider()
null indicates
that there are no content proposals available for the field.IContentProposalProvider used to show proposals. May
be null.public void setContentProposalProvider(IContentProposalProvider proposalProvider)
proposalProvider - the IContentProposalProvider used to show proposalspublic char[] getAutoActivationCharacters()
null, then only a specified keyStroke will invoke
content proposal. If this value is null and the
keyStroke value is null, then all alphanumeric
characters will auto-activate content proposal.public void setAutoActivationCharacters(char[] autoActivationCharacters)
autoActivationCharacters - An array of characters that trigger auto-activation of content
proposal. If specified, these characters will trigger
auto-activation of the proposal popup, regardless of whether
an explicit invocation keyStroke was specified. If this
parameter is null, then only a specified
keyStroke will invoke content proposal. If this parameter is
null and the keyStroke value is
null, then all alphanumeric characters will
auto-activate content proposal.public int getAutoActivationDelay()
public void setAutoActivationDelay(int delay)
delay - the time in milliseconds that will pass before a popup is
automatically openedpublic int getProposalAcceptanceStyle()
PROPOSAL_INSERT,
PROPOSAL_REPLACE, or PROPOSAL_IGNORE.
(Default is PROPOSAL_INSERT).public void setProposalAcceptanceStyle(int acceptance)
acceptance - a constant indicating how an accepted proposal should affect
the control's content. Should be one of
PROPOSAL_INSERT, PROPOSAL_REPLACE,
or PROPOSAL_IGNOREpublic int getFilterStyle()
FILTER_NONE
specifies that no filtering will occur in the content proposal
list as keys are typed. FILTER_CUMULATIVE
specifies that the content of the popup will be filtered by a
string containing all the characters typed since the popup has
been open. FILTER_CHARACTER specifies the content
of the popup will be filtered by the most recently typed
character. The default is FILTER_NONE.public void setFilterStyle(int filterStyle)
IContentProposalProvider.filterStyle - a constant indicating how keystrokes received in the proposal
popup affect filtering of the proposals shown.
FILTER_NONE specifies that no automatic filtering
of the content proposal list will occur as keys are typed in the
popup.
FILTER_CUMULATIVE specifies that the content of
the popup will be filtered by a string containing all the
characters typed since the popup has been open.
FILTER_CHARACTER specifies that the content of the
popup will be filtered by the most recently typed character.public Point getPopupSize()
public void setPopupSize(Point size)
size - a Point specifying the desired width and height, in pixels, of
the content proposal popup.public boolean getPropagateKeys()
true.public void setPropagateKeys(boolean propagateKeys)
propagateKeys - a boolean that indicates whether key events (including
auto-activation characters) should be propagated to the
adapted control when the proposal popup is open.public IControlContentAdapter getControlContentAdapter()
IControlContentAdapter which can update the control
text.public void setEnabled(boolean enabled)
enabled - true if the adapter is enabled and responding
to user input, false if it is ignoring user
input.public void addContentProposalListener(IContentProposalListener listener)
listener - the IContentProposalListener to be added as a listener. Must
not be null. If an attempt is made to register
an instance which is already registered with this instance,
this method has no effect.IContentProposalListenerprotected void openProposalPopup()
Guidelines for using Eclipse APIs. Copyright (c) IBM Corp. and others 2000, 2006. All rights reserved.