Package com._1c.g5.lwt.viewers
Class AbstractLightViewer<T>
- java.lang.Object
-
- com._1c.g5.lwt.viewers.AbstractLightViewer<T>
-
- Type Parameters:
T- - type of items in list/table/tree.
- All Implemented Interfaces:
ISelectionChangedListener<T>,org.eclipse.jface.viewers.ISelectionProvider
- Direct Known Subclasses:
LightListViewer
public abstract class AbstractLightViewer<T> extends Object implements org.eclipse.jface.viewers.ISelectionProvider, ISelectionChangedListener<T>
Instance of this class is support class for working with list/table/tree.
Content provider and label provider should be set (setLabelProvider(ILabelProvider),setContentProvider(IContentProvider)) before setting viewer input (setInput(Object)).
-
-
Constructor Summary
Constructors Constructor Description AbstractLightViewer(ILightControl control, int textLocation, int imageLocation)Constuctor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddFilter(ILightViewerFilter<T> filter)Adds filter to filter elements.voidaddSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)voidclearFilters()Removes all filters from viewed control and renews it.IContentProvider<T>getContentProvider()Returns content provider.ILightControlgetControl()Returns viewers control.protected List<T>getFilteredElements(List<T> elements, org.eclipse.core.runtime.IProgressMonitor progressMonitor)Filters given elements using viewer filters.Collection<ILightViewerFilter<T>>getFilters()Returns viewer filters.protected intgetImageLocation()Returns items image location.protected ObjectgetInput()Returns viewer input.ILabelProvider<? super T>getLabelProvider()Returns label provider.Comparator<? super T>getSorter()Returns sorter used to sort items.protected intgetTextLocation()Returns items text location.booleanisPreserveSelection()Returnstrueif selection will be preserved on renew.voidremoveFilter(ILightViewerFilter<T> filter)Removes filter from viewer filters.voidremoveSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)abstract voidrenew()Recalculates viewed control elements and renews it.voidselectionChanged(Collection<? extends AbstractLightItem<T>> newSelection)Handles selection change.voidsetContentProvider(IContentProvider<T> contentProvider)Sets content provider.voidsetInput(Object input)Sets viewer input.voidsetLabelProvider(ILabelProvider<? super T> labelProvider)Sets label provider.voidsetPreserveSelection(boolean preserveSelection)Sets if selection should be preserved on renew.voidsetSorter(Comparator<? super T> sorter)Sets sorter used to sort items.
-
-
-
Constructor Detail
-
AbstractLightViewer
public AbstractLightViewer(ILightControl control, int textLocation, int imageLocation)
Constuctor.- Parameters:
control- - control to create viewer for. Cannot benull.textLocation- - items text location. Can beSWT.LEFT,SWT.CENTER, orSWT.RIGHT.imageLocation- - items image location. Can beSWT.LEFTorSWT.RIGHT.- See Also:
SWT.CENTER,SWT.RIGHT,SWT.LEFT,AbstractLightItem.setTextLocation(int),AbstractLightItem.setImageLocation(int)
-
-
Method Detail
-
getControl
public ILightControl getControl()
Returns viewers control.- Returns:
- viewers control. Cannot return
null.
-
setContentProvider
public void setContentProvider(IContentProvider<T> contentProvider)
Sets content provider. Viewer uses content provider to create list items.- Parameters:
contentProvider- - content provider. Cannot benull.
-
getContentProvider
public IContentProvider<T> getContentProvider()
Returns content provider.- Returns:
- content provider. Can return
null.
-
setLabelProvider
public void setLabelProvider(ILabelProvider<? super T> labelProvider)
Sets label provider. Viewer uses label provider to get items text and icon.- Parameters:
labelProvider- - label provider. Cannot benull.
-
getLabelProvider
public ILabelProvider<? super T> getLabelProvider()
Returns label provider.- Returns:
- label provider. Can return
null.
-
setInput
public void setInput(Object input)
Sets viewer input. Viewer refreshes after input change.- Parameters:
input- - input. Cannot benull.
-
setSorter
public void setSorter(Comparator<? super T> sorter)
Sets sorter used to sort items.
Setnullto turn sorter off.- Parameters:
sorter- - sorter. Can benull.
-
getSorter
public Comparator<? super T> getSorter()
Returns sorter used to sort items.- Returns:
- sorter used to sort items. Can return
null.
-
addFilter
public void addFilter(ILightViewerFilter<T> filter)
Adds filter to filter elements. Viewer renews after filter add.- Parameters:
filter- - filter to add. Cannot benull.
-
removeFilter
public void removeFilter(ILightViewerFilter<T> filter)
Removes filter from viewer filters. Viewer renews after filter remove- Parameters:
filter- - filter to remove. Cannot benull.
-
clearFilters
public void clearFilters()
Removes all filters from viewed control and renews it.
-
getFilters
public Collection<ILightViewerFilter<T>> getFilters()
Returns viewer filters. Changes to returned collection does not affect viewer filters.- Returns:
- viewer filters. Cannot return
null.
-
setPreserveSelection
public void setPreserveSelection(boolean preserveSelection)
Sets if selection should be preserved on renew.- Parameters:
preserveSelection- -trueif selection should be preserved on renew.
-
isPreserveSelection
public boolean isPreserveSelection()
Returnstrueif selection will be preserved on renew.- Returns:
trueif selection will be preserved on renew.
-
addSelectionChangedListener
public void addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
- Specified by:
addSelectionChangedListenerin interfaceorg.eclipse.jface.viewers.ISelectionProvider
-
removeSelectionChangedListener
public void removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
- Specified by:
removeSelectionChangedListenerin interfaceorg.eclipse.jface.viewers.ISelectionProvider
-
selectionChanged
public void selectionChanged(Collection<? extends AbstractLightItem<T>> newSelection)
Description copied from interface:ISelectionChangedListenerHandles selection change.- Specified by:
selectionChangedin interfaceISelectionChangedListener<T>- Parameters:
newSelection- - new selection. Cannot benull.
-
renew
public abstract void renew()
Recalculates viewed control elements and renews it.
-
getTextLocation
protected int getTextLocation()
Returns items text location.- Returns:
- items text location.
-
getImageLocation
protected int getImageLocation()
Returns items image location.- Returns:
- items image location.
-
getInput
protected Object getInput()
Returns viewer input.- Returns:
- viewer input. Cannot return
null.
-
getFilteredElements
protected List<T> getFilteredElements(List<T> elements, org.eclipse.core.runtime.IProgressMonitor progressMonitor)
Filters given elements using viewer filters.- Parameters:
elements- - elements to filter. Cannot benull.progressMonitor- - progress monitor to report progress. Remaining work should be set before method call. If progress monitor canceled returns empty list. Can benull.- Returns:
- filtered elements. Cannot return
null.
-
-