List of usage examples for org.eclipse.jface.viewers ILabelProviderListener ILabelProviderListener
ILabelProviderListener
From source file:com.cubrid.common.ui.query.control.jface.contentassist.AbstractControlContentAssistSubjectAdapter.java
License:Open Source License
/** * Sets the visual feedback provider for content assist. * The given {@link ILabelProvider} methods are called with * {@link #getControl()} as argument.// ww w . j a v a 2 s. c o m * * <ul> * <li><code>getImage(Object)</code> provides the visual cue image. * The image can maximally be 5 pixels wide and 8 pixels high. * If <code>getImage(Object)</code> returns <code>null</code>, a default image is used. * </li> * <li><code>getText(Object)</code> provides the hover info text. * It is shown when hovering over the cue image or the adapted {@link Control}. * No info text is shown if <code>getText(Object)</code> returns <code>null</code>. * </li> * </ul> * <p> * The given {@link ILabelProvider} becomes owned by the {@link AbstractControlContentAssistSubjectAdapter}, * i.e. it gets disposed when the adapted {@link Control} is disposed * or when another {@link ILabelProvider} is set. * </p> * * @param labelProvider a {@link ILabelProvider}, or <code>null</code> * if no visual feedback should be shown */ public void setContentAssistCueProvider(final ILabelProvider labelProvider) { if (fCueLabelProvider != null) { fCueLabelProvider.dispose(); } fCueLabelProvider = labelProvider; if (labelProvider == null) { if (fControlDecoration != null) { fControlDecoration.dispose(); fControlDecoration = null; } } else { if (fControlDecoration == null) { fControlDecoration = new ControlDecoration(getControl(), (SWT.TOP | SWT.LEFT)); getControl().addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { if (fCueLabelProvider != null) { fCueLabelProvider.dispose(); fCueLabelProvider = null; } if (fControlDecoration != null) { fControlDecoration.dispose(); fControlDecoration = null; } if (fCachedDefaultCueImage != null) { fCachedDefaultCueImage.dispose(); fCachedDefaultCueImage = null; } } }); fControlDecoration.setShowHover(true); fControlDecoration.setShowOnlyOnFocus(true); } ILabelProviderListener listener = new ILabelProviderListener() { public void labelProviderChanged(LabelProviderChangedEvent event) { fControlDecoration.setDescriptionText(labelProvider.getText(getControl())); Image image = labelProvider.getImage(getControl()); if (image == null) image = getDefaultCueImage(); fControlDecoration.setImage(image); } }; labelProvider.addListener(listener); //initialize control decoration: listener.labelProviderChanged(new LabelProviderChangedEvent(labelProvider)); } }
From source file:com.nokia.carbide.cpp.internal.project.ui.editors.images.AIFSourceTable.java
License:Open Source License
/** * @param parent//from w ww. j a v a 2 s. c om * @param style */ public AIFSourceTable(AIFEditorListPage page, Composite parent, int style) { super(parent, style); this.editorContext = page.getEditorContext(); this.page = page; final GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 2; this.setLayout(gridLayout); imageSourceTableViewer = new TableViewer(this, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION | SWT.V_SCROLL); final Table table = imageSourceTableViewer.getTable(); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); imageSourceTableViewer.setContentProvider(new ImageTableContentProvider(editorContext.getMMPAIFInfo())); imageTableLabelProvider = new ImageTableLabelProvider(editorContext); imageSourceTableViewer.setLabelProvider(imageTableLabelProvider); imageSourceTableViewer.setInput(editorContext.getMMPAIFInfo()); labelProviderListener = new ILabelProviderListener() { public void labelProviderChanged(LabelProviderChangedEvent event) { if (!imageSourceTableViewer.getTable().isDisposed()) imageSourceTableViewer.update(event.getElements(), null); } }; imageTableLabelProvider.addListener(labelProviderListener); TableColumn thumbColumn = new TableColumn(table, SWT.CENTER, imageTableLabelProvider.getThumbColumn()); thumbColumn.setText(Messages.getString("ImageSourceTable.ThumbColumnHeader")); //$NON-NLS-1$ thumbColumn.setToolTipText(Messages.getString("ImageSourceTable.ThumbColumnHeaderTooltip")); //$NON-NLS-1$ TableColumn filesColumn = new TableColumn(table, SWT.LEFT, imageTableLabelProvider.getFilesColumn()); filesColumn.setText(Messages.getString("ImageSourceTable.FilesColumnHeader")); //$NON-NLS-1$ filesColumn.setToolTipText(Messages.getString("ImageSourceTable.FilesColumnHeaderTooltip")); //$NON-NLS-1$ table.setHeaderVisible(true); TableLayout tableLayout = new TableLayout(); table.setLayout(tableLayout); tableLayout.addColumnData(new ColumnWeightData(20, ImageTableLabelProvider.THUMB_SIZE_X, false)); tableLayout.addColumnData(new ColumnWeightData(80, 200, true)); final Composite composite = new Composite(this, SWT.NONE); composite.setLayoutData(new GridData(GridData.CENTER, GridData.CENTER, false, false)); composite.setLayout(new GridLayout()); upButton = new Button(composite, SWT.NONE); upButton.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false)); upButton.setText(Messages.getString("ImageSourceTable.UpButton")); //$NON-NLS-1$ upButton.setToolTipText(Messages.getString("ImageSourceTable.UpButtonTooltip")); //$NON-NLS-1$ upButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { doMove(-1); } }); downButton = new Button(composite, SWT.NONE); downButton.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false)); downButton.setText(Messages.getString("ImageSourceTable.DownButton")); //$NON-NLS-1$ downButton.setToolTipText(Messages.getString("ImageSourceTable.DownButtonTooltip")); //$NON-NLS-1$ downButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { doMove(1); } }); final Composite composite_1 = new Composite(composite, SWT.NONE); composite_1.setLayout(new GridLayout()); combineButton = new Button(composite, SWT.NONE); combineButton.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false)); combineButton.setText(Messages.getString("ImageSourceTable.PairImgMaskButton")); //$NON-NLS-1$ combineButton.setToolTipText(Messages.getString("ImageSourceTable.PairImgMaskButtonTooltip")); //$NON-NLS-1$ combineButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { doCombine(); } }); splitButton = new Button(composite, SWT.NONE); splitButton.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false)); splitButton.setText(Messages.getString("ImageSourceTable.SplitImgMaskButton")); //$NON-NLS-1$ splitButton.setToolTipText(Messages.getString("ImageSourceTable.SplitImgMaskButtonTooltip")); //$NON-NLS-1$ splitButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { doSplit(); } }); swapButton = new Button(composite, SWT.NONE); swapButton.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false)); swapButton.setText(Messages.getString("ImageSourceTable.SwapImgMaskButton")); //$NON-NLS-1$ swapButton.setToolTipText(Messages.getString("ImageSourceTable.SwapImgMaskButtonTooltip")); //$NON-NLS-1$ swapButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { doSwap(); } }); final Composite composite_2 = new Composite(composite, SWT.NONE); composite_2.setLayout(new GridLayout()); final Button addFromProjectButton = new Button(composite, SWT.NONE); addFromProjectButton.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false)); addFromProjectButton.setText(Messages.getString("ImageSourceTable.AddFromProjectButton")); //$NON-NLS-1$ addFromProjectButton.setToolTipText(Messages.getString("ImageSourceTable.AddFromProjectButtonTooltip")); //$NON-NLS-1$ addFromProjectButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { doAddFromProject(); } }); final Button addFromFilesystemButton = new Button(composite, SWT.NONE); addFromFilesystemButton.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false)); addFromFilesystemButton.setText(Messages.getString("ImageSourceTable.AddFromFilesystemButton")); //$NON-NLS-1$ addFromFilesystemButton .setToolTipText(Messages.getString("ImageSourceTable.AddFromFilesystemButtonTooltip")); //$NON-NLS-1$ addFromFilesystemButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { doAddFromFilesystem(); } }); removeButton = new Button(composite, SWT.NONE); removeButton.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false)); removeButton.setText(Messages.getString("ImageSourceTable.RemoveButton")); //$NON-NLS-1$ removeButton.setToolTipText(Messages.getString("ImageSourceTable.RemoveButtonTooltip")); //$NON-NLS-1$ removeButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { doRemove(); } }); table.addKeyListener(new KeyAdapter() { /* (non-Javadoc) * @see org.eclipse.swt.events.KeyAdapter#keyPressed(org.eclipse.swt.events.KeyEvent) */ @Override public void keyPressed(KeyEvent e) { if (e.character == SWT.DEL) { doRemove(); e.doit = false; } } }); refresh(); refreshTable(); }
From source file:com.nokia.carbide.cpp.internal.project.ui.editors.images.ImageSourceTable.java
License:Open Source License
/** * @param parent// w ww. jav a2 s . c om * @param style */ public ImageSourceTable(MultiImageListPage page, Composite parent, int style) { super(parent, style); this.editorContext = page.getEditorContext(); this.page = page; final GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 2; this.setLayout(gridLayout); imageSourceTableViewer = new TableViewer(this, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION | SWT.V_SCROLL); final Table table = imageSourceTableViewer.getTable(); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); TableColumn thumbColumn = new TableColumn(table, SWT.CENTER); thumbColumn.setText(Messages.getString("ImageSourceTable.ThumbColumnHeader")); //$NON-NLS-1$ thumbColumn.setToolTipText(Messages.getString("ImageSourceTable.ThumbColumnHeaderTooltip")); //$NON-NLS-1$ TableColumn formatColumn = new TableColumn(table, SWT.LEFT); formatColumn.setText(Messages.getString("ImageSourceTable.FormatColumnHeader")); //$NON-NLS-1$ formatColumn.setToolTipText(Messages.getString("ImageSourceTable.FormatColumnHeaderTooltip")); //$NON-NLS-1$ TableColumn filesColumn = new TableColumn(table, SWT.LEFT); filesColumn.setText(Messages.getString("ImageSourceTable.FilesColumnHeader")); //$NON-NLS-1$ filesColumn.setToolTipText(Messages.getString("ImageSourceTable.FilesColumnHeaderTooltip")); //$NON-NLS-1$ TableColumn enumColumn = new TableColumn(table, SWT.LEFT); enumColumn.setText(Messages.getString("ImageSourceTable.EnumeratorsColumn")); //$NON-NLS-1$ enumColumn.setToolTipText(Messages.getString("ImageSourceTable.EnumeratorsColumnHeaderTooltip")); //$NON-NLS-1$ table.setHeaderVisible(true); imageSourceTableViewer .setContentProvider(new ImageTableContentProvider(editorContext.getMultiImageSource())); imageTableLabelProvider = new ImageTableLabelProvider(editorContext); imageSourceTableViewer.setLabelProvider(imageTableLabelProvider); imageSourceTableViewer.setInput(editorContext.getMultiImageSource()); labelProviderListener = new ILabelProviderListener() { public void labelProviderChanged(LabelProviderChangedEvent event) { if (!imageSourceTableViewer.getTable().isDisposed()) imageSourceTableViewer.update(event.getElements(), null); } }; imageTableLabelProvider.addListener(labelProviderListener); clipboard = new Clipboard(getDisplay()); addTableContextMenu(table); TableLayout tableLayout = new TableLayout(); table.setLayout(tableLayout); tableLayout.addColumnData(new ColumnWeightData(20, ImageTableLabelProvider.THUMB_SIZE_X, false)); tableLayout.addColumnData(new ColumnWeightData(20, 32, false)); tableLayout.addColumnData(new ColumnWeightData(60, 128, true)); tableLayout.addColumnData(new ColumnWeightData(60, 200, true)); final Composite composite = new Composite(this, SWT.NONE); composite.setLayoutData(new GridData(GridData.CENTER, GridData.CENTER, false, false)); composite.setLayout(new GridLayout()); upButton = new Button(composite, SWT.NONE); upButton.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false)); upButton.setText(Messages.getString("ImageSourceTable.UpButton")); //$NON-NLS-1$ upButton.setToolTipText(Messages.getString("ImageSourceTable.UpButtonTooltip")); //$NON-NLS-1$ upButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { doMove(-1); } }); downButton = new Button(composite, SWT.NONE); downButton.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false)); downButton.setText(Messages.getString("ImageSourceTable.DownButton")); //$NON-NLS-1$ downButton.setToolTipText(Messages.getString("ImageSourceTable.DownButtonTooltip")); //$NON-NLS-1$ downButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { doMove(1); } }); final Composite composite_1 = new Composite(composite, SWT.NONE); composite_1.setLayout(new GridLayout()); combineButton = new Button(composite, SWT.NONE); combineButton.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false)); combineButton.setText(Messages.getString("ImageSourceTable.PairImgMaskButton")); //$NON-NLS-1$ combineButton.setToolTipText(Messages.getString("ImageSourceTable.PairImgMaskButtonTooltip")); //$NON-NLS-1$ combineButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { doCombine(); } }); splitButton = new Button(composite, SWT.NONE); splitButton.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false)); splitButton.setText(Messages.getString("ImageSourceTable.SplitImgMaskButton")); //$NON-NLS-1$ splitButton.setToolTipText(Messages.getString("ImageSourceTable.SplitImgMaskButtonTooltip")); //$NON-NLS-1$ splitButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { doSplit(); } }); swapButton = new Button(composite, SWT.NONE); swapButton.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false)); swapButton.setText(Messages.getString("ImageSourceTable.SwapImgMaskButton")); //$NON-NLS-1$ swapButton.setToolTipText(Messages.getString("ImageSourceTable.SwapImgMaskButtonTooltip")); //$NON-NLS-1$ swapButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { doSwap(); } }); final Composite composite_2 = new Composite(composite, SWT.NONE); composite_2.setLayout(new GridLayout()); final Button addFromProjectButton = new Button(composite, SWT.NONE); addFromProjectButton.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false)); addFromProjectButton.setText(Messages.getString("ImageSourceTable.AddFromProjectButton")); //$NON-NLS-1$ addFromProjectButton.setToolTipText(Messages.getString("ImageSourceTable.AddFromProjectButtonTooltip")); //$NON-NLS-1$ addFromProjectButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { doAddFromProject(); } }); final Button addFromFilesystemButton = new Button(composite, SWT.NONE); addFromFilesystemButton.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false)); addFromFilesystemButton.setText(Messages.getString("ImageSourceTable.AddFromFilesystemButton")); //$NON-NLS-1$ addFromFilesystemButton .setToolTipText(Messages.getString("ImageSourceTable.AddFromFilesystemButtonTooltip")); //$NON-NLS-1$ addFromFilesystemButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { doAddFromFilesystem(); } }); removeButton = new Button(composite, SWT.NONE); removeButton.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, false, false)); removeButton.setText(Messages.getString("ImageSourceTable.RemoveButton")); //$NON-NLS-1$ removeButton.setToolTipText(Messages.getString("ImageSourceTable.RemoveButtonTooltip")); //$NON-NLS-1$ removeButton.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { doRemove(); } }); table.addKeyListener(new KeyAdapter() { /* (non-Javadoc) * @see org.eclipse.swt.events.KeyAdapter#keyPressed(org.eclipse.swt.events.KeyEvent) */ @Override public void keyPressed(KeyEvent e) { if (e.character == SWT.DEL) { doRemove(); e.doit = false; } } }); refresh(); refreshTable(); }
From source file:com.rcpcompany.uibindings.bindingMessages.LabelDecoratorListenerTest.java
License:Open Source License
@Test public void listenerAbbRemoveTest() { final ValidationLabelDecorator decorator = new ValidationLabelDecorator(); final List<ILabelProviderListener> listeners = decorator.myListeners; assertEquals(0, listeners.size());// w w w . j a va2 s. co m final ILabelProviderListener l = new ILabelProviderListener() { @Override public void labelProviderChanged(LabelProviderChangedEvent event) { } }; decorator.addListener(l); assertEquals(1, listeners.size()); decorator.removeListener(l); assertEquals(0, listeners.size()); }
From source file:com.rcpcompany.uibindings.extests.bindingMessages.LabelDecoratorTest.java
License:Open Source License
/** * Sleeps for a specified time and will then test if the specified label decorator fired an * event with the specified objects as the changed elements * //w ww.j a va 2s. co m * @param labelDecorator the decorator * @param period the period to sleep * @param objects the expected changed objects */ private void sleepWithEvents(ValidationLabelDecorator labelDecorator, int period, final Object... objects) { final ILabelProviderListener l = new ILabelProviderListener() { Comparator<Object> comparator = new Comparator<Object>() { @Override public int compare(Object o1, Object o2) { return o1.hashCode() - o2.hashCode(); } }; @Override public void labelProviderChanged(LabelProviderChangedEvent event) { assertEquals(false, eventSeen); eventSeen = true; Arrays.sort(objects, comparator); Arrays.sort(event.getElements(), comparator); assertArrayEquals(objects, event.getElements()); } }; eventSeen = false; labelDecorator.addListener(l); sleep(period); labelDecorator.removeListener(l); if (objects.length > 0) { assertEquals(true, eventSeen); } else { assertEquals(false, eventSeen); } }
From source file:com.vectrace.MercurialEclipse.dialogs.CommitResourceLabelProvider.java
License:Open Source License
public CommitResourceLabelProvider() { super();// w w w . j a v a2 s. c o m workbenchLabelProvider = WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider(); workbenchLabelProvider.addListener(new ILabelProviderListener() { public void labelProviderChanged(LabelProviderChangedEvent event) { fireLabelProviderChanged(event); } }); }
From source file:com.vectrace.MercurialEclipse.ui.CommitFilesChooser.java
License:Open Source License
public CommitFilesChooser(Composite container, boolean selectable, List<IResource> resources, boolean showUntracked, boolean showMissing, boolean showClean) { super(container, container.getStyle()); this.selectable = selectable; this.showUntracked = showUntracked; this.missing = showMissing; this.showClean = showClean; this.untrackedFilesFilter = new UntrackedFilesFilter(missing); this.committableFilesFilter = new CommittableFilesFilter(); GridLayout layout = new GridLayout(); layout.verticalSpacing = 3;//from w ww . j a va 2 s . co m layout.horizontalSpacing = 0; layout.marginWidth = 0; layout.marginHeight = 0; setLayout(layout); setLayoutData(SWTWidgetHelper.getFillGD(150)); Table table = createTable(); viewer = new CheckboxTableViewer(table); viewer.setContentProvider(new ArrayContentProvider()); CommitResourceLabelProvider labelProvider = new CommitResourceLabelProvider(); labelProvider.addListener(new ILabelProviderListener() { public void labelProviderChanged(LabelProviderChangedEvent event) { int count = viewer.getTable().getItemCount(); for (int i = 0; i < count; i++) { CommitResource commitResource = (CommitResource) viewer.getElementAt(i); viewer.update(commitResource, null); } } }); viewer.setLabelProvider(labelProvider); viewer.setComparator(new ViewerComparator()); viewer.addFilter(committableFilesFilter); if (!showUntracked) { viewer.addFilter(untrackedFilesFilter); } createOptionCheckbox(); createShowDiffButton(container); createFileSelectionListener(); makeActions(); if (resources != null) { setResources(resources); } }
From source file:com.xored.af.ui.labels.EmfEditLabelProvider.java
License:Open Source License
public EmfEditLabelProvider(final TransactionalEditingDomain domain, final boolean supportDecoration) { this.rule = new EmfTransactionJob.TransactionRule(domain); final Job initializeJob = new EmfTransactionJob("LabelRegistry.initialize()", new Runnable() { public void run() { initialize();//from ww w. jav a 2s .com } }, domain); initializeJob.setPriority(Job.INTERACTIVE); initializeJob.schedule(); labelModelUpdates = new EventGroup<Object>("Label model", new EventHandler<Object>() { public HandleResult handle(final List<Object> events) { if (disposed) { return HandleResult.DONE; } synchronized (labelModelStore) { for (final Object object : events) { if (object instanceof EObject) { calculateLabel((EObject) object); labelUiUpdates.post(object); } } } return HandleResult.DONE; } }) { @Override protected Job createHandlerJob() { final Job job = new EmfTransactionJob("Update label model", new Runnable() { public void run() { handleEvents(); } }, domain); job.setRule(rule); job.setPriority(Job.INTERACTIVE); return job; } }; if (supportDecoration) { genericLabelProvider = WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider(); } else { genericLabelProvider = new WorkbenchLabelProvider(); } genericLabelProvider.addListener(new ILabelProviderListener() { public void labelProviderChanged(final LabelProviderChangedEvent event) { if (disposed) { return; } if (event.getElements() == null) { synchronized (labelUiStore) { labelUiStore.clear(); } fireLabelProviderChanged(new LabelProviderChangedEvent(EmfEditLabelProvider.this)); } else { synchronized (labelUiStore) { for (final Object o : event.getElements()) { labelUiStore.remove(o); } } fireLabelProviderChanged( new LabelProviderChangedEvent(EmfEditLabelProvider.this, event.getElements())); } } }); }
From source file:de.quamoco.qm.editor.pages.HierarchyViewerPaneBase.java
License:Apache License
/** Initialize the {@link TreeViewer} displaying the hierarchy. */ protected void initTreeViewer(final TreeViewer treeViewer) { ResourceSet resourceSet = editor.getEditingDomain().getResourceSet(); AdapterFactory adapterFactory = createAdapterFactory(); // default label provider AdapterFactoryLabelProvider aflp = new AdapterFactoryLabelProvider.ColorProvider(adapterFactory, treeViewer);/* w w w . j a v a2s .c o m*/ aflp.setFireLabelUpdateNotifications(true); aflp.addListener(new ILabelProviderListener() { @Override public void labelProviderChanged(final LabelProviderChangedEvent event) { if (Display.getDefault().getThread() != Thread.currentThread()) { Display.getDefault().asyncExec(new Runnable() { @Override public void run() { treeViewer.update(event.getElements(), null); } }); } else if (!treeViewer.isBusy()) { treeViewer.update(event.getElements(), null); } } }); // show the validation results ILabelProvider dlp = new DecoratingLabelProvider(aflp, new ProblemLabelDecorator(false)); // show the different colors CustomLabelProvider clp = new CustomLabelProvider(dlp); treeViewer.setLabelProvider(new DelegatingStyledCellLabelProvider(clp)); treeViewer.setInput(resourceSet); treeViewer.setSorter(new LabelProviderViewerSorter(clp, false, QmPackage.eINSTANCE.getFactor(), QmPackage.eINSTANCE.getMeasure(), QmPackage.eINSTANCE.getEntity())); }
From source file:de.walware.ecommons.ui.viewers.DecoratingStyledCellLabelProvider.java
License:Open Source License
/** * Creates a {@link DecoratingStyledCellLabelProvider} that delegates the * requests for styled labels and for images to a * {@link DelegatingStyledCellLabelProvider.IStyledLabelProvider}. * //w w w . j ava 2 s . c o m * @param labelProvider the styled label provider * @param decorator a label decorator or <code>null</code> to not decorate the * label * @param decorationContext a decoration context or <code>null</code> if the no * decorator is configured or the default decorator should be used */ public DecoratingStyledCellLabelProvider(final IStyledLabelProvider labelProvider, final ILabelDecorator decorator, final IDecorationContext decorationContext) { super(labelProvider); this.decorator = decorator; this.decorationContext = (decorationContext != null) ? decorationContext : DecorationContext.DEFAULT_CONTEXT; this.labelProviderListener = new ILabelProviderListener() { @Override public void labelProviderChanged(final LabelProviderChangedEvent event) { fireLabelProviderChanged(event); } }; labelProvider.addListener(this.labelProviderListener); if (decorator != null) { decorator.addListener(this.labelProviderListener); } }