Class AutoCompleteComboViewer
- java.lang.Object
-
- org.eclipse.jface.viewers.Viewer
-
- org.eclipse.jface.viewers.ContentViewer
-
- org.eclipse.jface.viewers.StructuredViewer
-
- org.eclipse.jface.viewers.AbstractListViewer
-
- org.eclipse.jface.viewers.ComboViewer
-
- com._1c.g5.v8.dt.platform.services.ui.AutoCompleteComboViewer
-
- All Implemented Interfaces:
EventListener
,IInputProvider
,IInputSelectionProvider
,IPostSelectionProvider
,ISelectionProvider
,org.eclipse.swt.events.FocusListener
,org.eclipse.swt.events.KeyListener
,org.eclipse.swt.events.ModifyListener
,org.eclipse.swt.internal.SWTEventListener
public class AutoCompleteComboViewer extends ComboViewer implements org.eclipse.swt.events.ModifyListener, org.eclipse.swt.events.FocusListener, org.eclipse.swt.events.KeyListener
ComboViewer
extension with auto complete support.By default, eontent to proposal associations will be defined by
ILabelProvider
of this combo viewer. Clients may override withbuildProposals(Iterable)
.Iterable
input is expected for this viewer.SWT.DROP_DOWN
style is automatically appended to viewer.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jface.viewers.StructuredViewer
StructuredViewer.ColorAndFontCollector, StructuredViewer.ColorAndFontCollectorWithProviders
-
-
Field Summary
Fields Modifier and Type Field Description protected ViewerControlAutoCompleteField
autoComplete
protected com.google.common.collect.Multimap<String,Object>
proposalToObjects
-
Fields inherited from class org.eclipse.jface.viewers.Viewer
WIDGET_DATA_KEY
-
-
Constructor Summary
Constructors Constructor Description AutoCompleteComboViewer(org.eclipse.swt.widgets.Composite parent)
Constructor ofAutoCompleteComboViewer
.AutoCompleteComboViewer(org.eclipse.swt.widgets.Composite parent, int style)
Constructor ofAutoCompleteComboViewer
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected com.google.common.collect.Multimap<String,Object>
buildProposals(Iterable<Object> input)
Build proposals for the viewer auto completion.protected void
ensureDisabled()
Disable auto complete if it is enabled.protected void
ensureEnabled()
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.ISelection
getSelection()
protected void
initializeAutoComplete()
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
keyPressed(org.eclipse.swt.events.KeyEvent event)
void
keyReleased(org.eclipse.swt.events.KeyEvent event)
void
modifyText(org.eclipse.swt.events.ModifyEvent event)
-
Methods inherited from class org.eclipse.jface.viewers.ComboViewer
getCCombo, getCombo, getControl, 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, insert, internalRefresh, listGetTopIndex, listSetTopIndex, remove, remove, setLabelProvider, setSelectionToWidget
-
Methods inherited from class org.eclipse.jface.viewers.StructuredViewer
addDoubleClickListener, addDragSupport, addDropSupport, addFilter, addOpenListener, addPostSelectionChangedListener, assertContentProviderType, assertElementsNotNull, 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 Detail
-
autoComplete
protected ViewerControlAutoCompleteField autoComplete
-
-
Constructor Detail
-
AutoCompleteComboViewer
public AutoCompleteComboViewer(org.eclipse.swt.widgets.Composite parent)
Constructor ofAutoCompleteComboViewer
.- Parameters:
parent
- the parent control, cannot benull
-
AutoCompleteComboViewer
public AutoCompleteComboViewer(org.eclipse.swt.widgets.Composite parent, int style)
Constructor ofAutoCompleteComboViewer
.- Parameters:
parent
- the parent control, cannot benull
style
- theSWT
style bits
-
-
Method Detail
-
modifyText
public void modifyText(org.eclipse.swt.events.ModifyEvent event)
- Specified by:
modifyText
in interfaceorg.eclipse.swt.events.ModifyListener
-
keyPressed
public void keyPressed(org.eclipse.swt.events.KeyEvent event)
- Specified by:
keyPressed
in interfaceorg.eclipse.swt.events.KeyListener
-
keyReleased
public void keyReleased(org.eclipse.swt.events.KeyEvent event)
- Specified by:
keyReleased
in interfaceorg.eclipse.swt.events.KeyListener
-
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
public ISelection getSelection()
- Specified by:
getSelection
in interfaceISelectionProvider
- Overrides:
getSelection
in classStructuredViewer
-
inputChanged
protected void inputChanged(Object input, Object oldInput)
- 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
protected com.google.common.collect.Multimap<String,Object> buildProposals(Iterable<Object> input)
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
protected String getLabelText(Object object)
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
protected IStructuredSelection extractSelection(String typedValue)
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.
-
-