org.eclipse.jface.fieldassist
Class ContentProposalAdapter
java.lang.Object
org.eclipse.jface.fieldassist.ContentProposalAdapter
-
Direct Known Subclasses:
-
ContentAssistCommandAdapter
-
public class ContentProposalAdapter
- extends
Object
ContentProposalAdapter can be used to attach content proposal behavior to a
control. This behavior includes obtaining proposals, opening a popup dialog,
managing the content of the control relative to the selections in the popup,
and optionally opening up a secondary popup to further describe proposals.
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.
-
Since:
- 3.2
Field Summary
|
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
Deprecated. As of 3.4, filtering that is sensitive to changes in the
control content should be performed by the supplied
IContentProposalProvider , such as that performed by
SimpleContentProposalProvider
|
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. |
Methods inherited from class java.lang.
Object
|
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
|
DEBUG
public static final boolean DEBUG
- Flag that controls the printing of debug info.
-
See Also:
-
Constant Field Values
PROPOSAL_INSERT
public static final int PROPOSAL_INSERT
- Indicates that a chosen proposal should be inserted into the field.
-
See Also:
-
Constant Field Values
PROPOSAL_REPLACE
public static final int PROPOSAL_REPLACE
- Indicates that a chosen proposal should replace the entire contents of
the field.
-
See Also:
-
Constant Field Values
PROPOSAL_IGNORE
public static final int PROPOSAL_IGNORE
- Indicates that the contents of the control should not be modified when a
proposal is chosen. This is typically used when a client needs more
specialized behavior when a proposal is chosen. In this case, clients
typically register an IContentProposalListener so that they are notified
when a proposal is chosen.
-
See Also:
-
Constant Field Values
FILTER_NONE
public static final int FILTER_NONE
- Indicates that there should be no filter applied as keys are typed in the
popup.
-
See Also:
-
Constant Field Values
FILTER_CHARACTER
public static final int FILTER_CHARACTER
- Indicates that a single character filter applies as keys are typed in the
popup.
-
See Also:
-
Constant Field Values
FILTER_CUMULATIVE
public static final int FILTER_CUMULATIVE
-
Deprecated. As of 3.4, filtering that is sensitive to changes in the
control content should be performed by the supplied
IContentProposalProvider
, such as that performed by
SimpleContentProposalProvider
- Indicates that a cumulative filter applies as keys are typed in the
popup. That is, each character typed will be added to the filter.
-
See Also:
-
Constant Field Values
ContentProposalAdapter
public 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.
-
Parameters:
-
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.
getControl
public
Control getControl()
- Get the control on which the content proposal adapter is installed.
-
-
Returns:
- the control on which the proposal adapter is installed.
getLabelProvider
public
ILabelProvider getLabelProvider()
- Get the label provider that is used to show proposals.
-
-
Returns:
- the
ILabelProvider
used to show proposals, or
null
if one has not been installed.
isEnabled
public boolean isEnabled()
- Return a boolean indicating whether the receiver is enabled.
-
-
Returns:
-
true
if the adapter is enabled, and
false
if it is not.
setLabelProvider
public void setLabelProvider(
ILabelProvider labelProvider)
- Set the label provider that is used to show proposals. The lifecycle of
the specified label provider is not managed by this adapter. Clients must
dispose the label provider when it is no longer needed.
-
-
Parameters:
-
labelProvider
- the (@link ILabelProvider} used to show proposals.
getContentProposalProvider
public
IContentProposalProvider getContentProposalProvider()
- Return the proposal provider that provides content proposals given the
current content of the field. A value of
null
indicates
that there are no content proposals available for the field.
-
-
Returns:
- the
IContentProposalProvider
used to show proposals. May
be null
.
setContentProposalProvider
public void setContentProposalProvider(
IContentProposalProvider proposalProvider)
- Set the content proposal provider that is used to show proposals.
-
-
Parameters:
-
proposalProvider
- the
IContentProposalProvider
used to show proposals
getAutoActivationCharacters
public char[] getAutoActivationCharacters()
- Return the array of characters on which the popup is autoactivated.
-
-
Returns:
- 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 value is null
and the
keyStroke value is null
, then all alphanumeric
characters will auto-activate content proposal.
setAutoActivationCharacters
public void setAutoActivationCharacters(char[] autoActivationCharacters)
- Set the array of characters that will trigger autoactivation of the
popup.
-
-
Parameters:
-
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.
getAutoActivationDelay
public int getAutoActivationDelay()
- Set the delay, in milliseconds, used before any autoactivation is
triggered.
-
-
Returns:
- the time in milliseconds that will pass before a popup is
automatically opened
setAutoActivationDelay
public void setAutoActivationDelay(int delay)
- Set the delay, in milliseconds, used before autoactivation is triggered.
-
-
Parameters:
-
delay
- the time in milliseconds that will pass before a popup is
automatically opened
getProposalAcceptanceStyle
public int getProposalAcceptanceStyle()
- Get the integer style that indicates how an accepted proposal affects the
control's content.
-
-
Returns:
- a constant indicating how an accepted proposal should affect the
control's content. Should be one of
PROPOSAL_INSERT
,
PROPOSAL_REPLACE
, or PROPOSAL_IGNORE
.
(Default is PROPOSAL_INSERT
).
setProposalAcceptanceStyle
public void setProposalAcceptanceStyle(int acceptance)
- Set the integer style that indicates how an accepted proposal affects the
control's content.
-
-
Parameters:
-
acceptance
- a constant indicating how an accepted proposal should affect
the control's content. Should be one of
PROPOSAL_INSERT
, PROPOSAL_REPLACE
,
or PROPOSAL_IGNORE
getFilterStyle
public int getFilterStyle()
- Return the integer style that indicates how keystrokes affect the content
of the proposal popup while it is open.
-
-
Returns:
- a constant indicating how keystrokes in the proposal popup affect
filtering of the proposals shown.
FILTER_NONE
specifies that no filtering will occur in the content proposal
list as keys are typed. FILTER_CHARACTER
specifies
the content of the popup will be filtered by the most recently
typed character. FILTER_CUMULATIVE
is deprecated
and no longer recommended. It specifies that the content of the
popup will be filtered by a string containing all the characters
typed since the popup has been open. The default is
FILTER_NONE
.
setFilterStyle
public void setFilterStyle(int filterStyle)
- Set the integer style that indicates how keystrokes affect the content of
the proposal popup while it is open. Popup-based filtering is useful for
narrowing and navigating the list of proposals provided once the popup is
open. Filtering of the proposals will occur even when the control content
is not affected by user typing. Note that automatic filtering is not used
to achieve content-sensitive filtering such as auto-completion. Filtering
that is sensitive to changes in the control content should be performed
by the supplied
IContentProposalProvider
.
-
-
Parameters:
-
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_CHARACTER
specifies
that the content of the popup will be filtered by the most
recently typed character. FILTER_CUMULATIVE
is
deprecated and no longer recommended. It specifies that the
content of the popup will be filtered by a string containing
all the characters typed since the popup has been open.
getPopupSize
public
Point getPopupSize()
- Return the size, in pixels, of the content proposal popup.
-
-
Returns:
- a Point specifying the last width and height, in pixels, of the
content proposal popup.
setPopupSize
public void setPopupSize(
Point size)
- Set the size, in pixels, of the content proposal popup. This size will be
used the next time the content proposal popup is opened.
-
-
Parameters:
-
size
- a Point specifying the desired width and height, in pixels, of
the content proposal popup.
getPropagateKeys
public 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.
-
-
Returns:
- a boolean that indicates whether key events (including
auto-activation characters) should be propagated to the adapted
control when the proposal popup is open. Default value is
true
.
setPropagateKeys
public 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.
-
-
Parameters:
-
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.
getControlContentAdapter
public
IControlContentAdapter getControlContentAdapter()
- Return the content adapter that can get or retrieve the text contents
from the adapter's control. This method is used when a client, such as a
content proposal listener, needs to update the control's contents
manually.
-
-
Returns:
- the
IControlContentAdapter
which can update the control
text.
setEnabled
public void setEnabled(boolean enabled)
- Set the boolean flag that determines whether the adapter is enabled.
-
-
Parameters:
-
enabled
- true
if the adapter is enabled and responding
to user input, false
if it is ignoring user
input.
addContentProposalListener
public void addContentProposalListener(
IContentProposalListener listener)
- Add the specified listener to the list of content proposal listeners that
are notified when content proposals are chosen.
-
-
Parameters:
-
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. -
See Also:
-
IContentProposalListener
removeContentProposalListener
public void removeContentProposalListener(
IContentProposalListener listener)
- Removes the specified listener from the list of content proposal
listeners that are notified when content proposals are chosen.
-
-
Parameters:
-
listener
- the IContentProposalListener to be removed as a listener. Must
not be null
. If the listener has not already
been registered, this method has no effect. -
Since:
- 3.3
-
See Also:
-
IContentProposalListener
addContentProposalListener
public void addContentProposalListener(
IContentProposalListener2 listener)
- Add the specified listener to the list of content proposal listeners that
are notified when a content proposal popup is opened or closed.
-
-
Parameters:
-
listener
- the IContentProposalListener2 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. -
Since:
- 3.3
-
See Also:
-
IContentProposalListener2
removeContentProposalListener
public void removeContentProposalListener(
IContentProposalListener2 listener)
- Remove the specified listener from the list of content proposal listeners
that are notified when a content proposal popup is opened or closed.
-
-
Parameters:
-
listener
- the IContentProposalListener2 to be removed as a listener.
Must not be null
. If the listener has not
already been registered, this method has no effect. -
Since:
- 3.3
-
See Also:
-
IContentProposalListener2
openProposalPopup
protected void openProposalPopup()
- Open the proposal popup and display the proposals provided by the
proposal provider. This method returns immediately. That is, it does not
wait for a proposal to be selected. This method is used by subclasses to
explicitly invoke the opening of the popup. If there are no proposals to
show, the popup will not open and a beep will be sounded.
-
closeProposalPopup
protected void closeProposalPopup()
- Close the proposal popup without accepting a proposal. This method
returns immediately, and has no effect if the proposal popup was not
open. This method is used by subclasses to explicitly close the popup
based on additional logic.
-
-
Since:
- 3.3
hasProposalPopupFocus
public boolean hasProposalPopupFocus()
- Returns whether the content proposal popup has the focus. This includes
both the primary popup and any secondary info popup that may have focus.
-
-
Returns:
-
true
if the proposal popup or its secondary info
popup has the focus -
Since:
- 3.4
Guidelines for using Eclipse APIs.
Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.