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 withbuildProposals(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
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 AutoCompleteValueComboChooserViewer(org.eclipse.swt.widgets.Composite parent, int style, org.eclipse.ui.forms.widgets.FormToolkit toolkit, int maxDecorationWidth)
Constructor ofAutoCompleteValueComboChooserViewer
.
-
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()
void
handleEvent(org.eclipse.swt.widgets.Event event)
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
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 Detail
-
autoComplete
protected ViewerControlAutoCompleteField autoComplete
-
-
Constructor Detail
-
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 Detail
-
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
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.
-
-