Class AutoCompleteValueComboChooserViewer
java.lang.Object
org.eclipse.jface.viewers.Viewer
org.eclipse.jface.viewers.ContentViewer
org.eclipse.jface.viewers.StructuredViewer
org.eclipse.jface.viewers.AbstractListViewer
com._1c.g5.v8.dt.common.ui.controls.ValueComboChooserViewer
com._1c.g5.v8.dt.platform.services.ui.AutoCompleteValueComboChooserViewer
- All Implemented Interfaces:
EventListener
,IInputProvider
,IInputSelectionProvider
,IPostSelectionProvider
,ISelectionProvider
,org.eclipse.swt.events.FocusListener
,org.eclipse.swt.events.ModifyListener
,org.eclipse.swt.internal.SWTEventListener
,org.eclipse.swt.widgets.Listener
public class AutoCompleteValueComboChooserViewer
extends ValueComboChooserViewer
implements org.eclipse.swt.events.ModifyListener, org.eclipse.swt.events.FocusListener, org.eclipse.swt.widgets.Listener
ValueComboChooserViewer
extension with auto complete support.
By default, eontent to proposal associations will be defined by ILabelProvider
of this
viewer. Clients may override with buildProposals(Iterable)
. Iterable
input
is expected for this viewer.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jface.viewers.StructuredViewer
StructuredViewer.ColorAndFontCollector, StructuredViewer.ColorAndFontCollectorWithProviders
-
Field Summary
FieldsFields inherited from class org.eclipse.jface.viewers.Viewer
WIDGET_DATA_KEY
-
Constructor Summary
ConstructorsConstructorDescriptionAutoCompleteValueComboChooserViewer
(org.eclipse.swt.widgets.Composite parent, int style, org.eclipse.ui.forms.widgets.FormToolkit toolkit, int maxDecorationWidth) Constructor ofAutoCompleteValueComboChooserViewer
. -
Method Summary
Modifier and TypeMethodDescriptionbuildProposals
(Iterable<Object> input) Build proposals for the viewer auto completion.protected void
Disable auto complete if it is enabled.protected void
Enable auto complete if it is not already enabled.protected IStructuredSelection
extractSelection
(String typedValue) Try to extractIStructuredSelection
from given text input.void
focusGained
(org.eclipse.swt.events.FocusEvent event) void
focusLost
(org.eclipse.swt.events.FocusEvent event) protected String
getLabelText
(Object object) Returns label text for the given input object.void
handleEvent
(org.eclipse.swt.widgets.Event event) protected void
Initialize auto completion support for this viewer.protected void
inputChanged
(Object input, Object oldInput) protected boolean
isAllowed
(char character) Returns whether the given control character is allowed for auto complete popup providing.void
modifyText
(org.eclipse.swt.events.ModifyEvent event) Methods inherited from class com._1c.g5.v8.dt.common.ui.controls.ValueComboChooserViewer
assertElementsNotNull, getControl, insert, listAdd, listDeselectAll, listGetItemCount, listGetSelectionIndices, listRemove, listRemoveAll, listSetItem, listSetItems, listSetSelection, listShowSelection, reveal
Methods inherited from class org.eclipse.jface.viewers.AbstractListViewer
add, add, doFindInputItem, doFindItem, doUpdateItem, getElementAt, getLabelProvider, getSelectionFromWidget, indexForElement, internalRefresh, listGetTopIndex, listSetTopIndex, remove, remove, setLabelProvider, setSelectionToWidget
Methods inherited from class org.eclipse.jface.viewers.StructuredViewer
addDoubleClickListener, addDragSupport, addDropSupport, addFilter, addOpenListener, addPostSelectionChangedListener, assertContentProviderType, associate, buildLabel, disassociate, equals, filter, findItem, findItems, fireDoubleClick, fireOpen, firePostSelectionChanged, getColorAndFontCollector, getComparator, getComparer, getFilteredChildren, getFilters, getItem, getRawChildren, getRoot, getSortedChildren, getSorter, getStructuredSelection, handleDispose, handleDoubleSelect, handleInvalidSelection, handleLabelProviderChanged, handleOpen, handlePostSelect, handleSelect, hasFilters, hookControl, internalRefresh, internalUpdate, mapElement, needsRefilter, preservingSelection, refresh, refresh, refresh, refresh, refreshItem, removeDoubleClickListener, removeFilter, removeOpenListener, removePostSelectionChangedListener, resetFilters, setComparator, setComparer, setContentProvider, setFilters, setInput, setSelection, setSelectionToWidget, setSorter, setUseHashlookup, testFindItem, testFindItems, unmapAllElements, unmapElement, unmapElement, update, update, updateItem, updateSelection, usingElementMap
Methods inherited from class org.eclipse.jface.viewers.ContentViewer
getContentProvider, getInput, labelProviderChanged
Methods inherited from class org.eclipse.jface.viewers.Viewer
addHelpListener, addSelectionChangedListener, fireHelpRequested, fireSelectionChanged, getData, handleHelpRequest, removeHelpListener, removeSelectionChangedListener, scrollDown, scrollUp, setData, setSelection
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.eclipse.jface.viewers.ISelectionProvider
addSelectionChangedListener, removeSelectionChangedListener, setSelection
-
Field Details
-
autoComplete
-
proposalToObjects
-
-
Constructor Details
-
AutoCompleteValueComboChooserViewer
public AutoCompleteValueComboChooserViewer(org.eclipse.swt.widgets.Composite parent, int style, org.eclipse.ui.forms.widgets.FormToolkit toolkit, int maxDecorationWidth) Constructor ofAutoCompleteValueComboChooserViewer
.- Parameters:
parent
- the parent control, cannot benull
style
- theSWT
style bitstoolkit
- the reference to the toolkit context, cannot benull
maxDecorationWidth
- maximum width of the decoration shown in the content area.
-
-
Method Details
-
modifyText
public void modifyText(org.eclipse.swt.events.ModifyEvent event) - Specified by:
modifyText
in interfaceorg.eclipse.swt.events.ModifyListener
-
handleEvent
public void handleEvent(org.eclipse.swt.widgets.Event event) - Specified by:
handleEvent
in interfaceorg.eclipse.swt.widgets.Listener
-
focusGained
public void focusGained(org.eclipse.swt.events.FocusEvent event) - Specified by:
focusGained
in interfaceorg.eclipse.swt.events.FocusListener
-
focusLost
public void focusLost(org.eclipse.swt.events.FocusEvent event) - Specified by:
focusLost
in interfaceorg.eclipse.swt.events.FocusListener
-
getSelection
- Specified by:
getSelection
in interfaceISelectionProvider
- Overrides:
getSelection
in classStructuredViewer
-
inputChanged
- Overrides:
inputChanged
in classAbstractListViewer
-
isAllowed
protected boolean isAllowed(char character) Returns whether the given control character is allowed for auto complete popup providing.- Parameters:
character
- the control character to check- Returns:
- whether the given control character is allowed for auto complete popup providing
-
buildProposals
Build proposals for the viewer auto completion. Default implementation usesILabelProvider
to get proposal text. Allows non-unique input object text presentation. Returns multi map:- key - string representation for the target object
- value - the target object
- Parameters:
input
- an iterable input of the viewer, cannot benull
, can be empty- Returns:
- proposals multi map for the viewer auto completion, never
null
-
getLabelText
Returns label text for the given input object.- Parameters:
object
- the input object to get label text for, cannot benull
- Returns:
- the label text for the given input object, never
null
-
initializeAutoComplete
protected void initializeAutoComplete()Initialize auto completion support for this viewer. -
extractSelection
Try to extractIStructuredSelection
from given text input. Can return structured selection with item from current input of combo viewer or empty selection.- Parameters:
typedValue
- text input to extract structured selection from, cannot benull
- Returns:
- extracted structured selection, never
null
, can be empty
-
ensureEnabled
protected void ensureEnabled()Enable auto complete if it is not already enabled. -
ensureDisabled
protected void ensureDisabled()Disable auto complete if it is enabled.
-