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 void
addFilter(ILightViewerFilter<T> filter)
Adds filter to filter elements.void
addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
void
clearFilters()
Removes all filters from viewed control and renews it.IContentProvider<T>
getContentProvider()
Returns content provider.ILightControl
getControl()
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 int
getImageLocation()
Returns items image location.protected Object
getInput()
Returns viewer input.ILabelProvider<? super T>
getLabelProvider()
Returns label provider.Comparator<? super T>
getSorter()
Returns sorter used to sort items.protected int
getTextLocation()
Returns items text location.boolean
isPreserveSelection()
Returnstrue
if selection will be preserved on renew.void
removeFilter(ILightViewerFilter<T> filter)
Removes filter from viewer filters.void
removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
abstract void
renew()
Recalculates viewed control elements and renews it.void
selectionChanged(Collection<? extends AbstractLightItem<T>> newSelection)
Handles selection change.void
setContentProvider(IContentProvider<T> contentProvider)
Sets content provider.void
setInput(Object input)
Sets viewer input.void
setLabelProvider(ILabelProvider<? super T> labelProvider)
Sets label provider.void
setPreserveSelection(boolean preserveSelection)
Sets if selection should be preserved on renew.void
setSorter(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.LEFT
orSWT.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.
Setnull
to 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
- -true
if selection should be preserved on renew.
-
isPreserveSelection
public boolean isPreserveSelection()
Returnstrue
if selection will be preserved on renew.- Returns:
true
if selection will be preserved on renew.
-
addSelectionChangedListener
public void addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
- Specified by:
addSelectionChangedListener
in interfaceorg.eclipse.jface.viewers.ISelectionProvider
-
removeSelectionChangedListener
public void removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener listener)
- Specified by:
removeSelectionChangedListener
in interfaceorg.eclipse.jface.viewers.ISelectionProvider
-
selectionChanged
public void selectionChanged(Collection<? extends AbstractLightItem<T>> newSelection)
Description copied from interface:ISelectionChangedListener
Handles selection change.- Specified by:
selectionChanged
in 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
.
-
-