Example usage for org.eclipse.jface.viewers ILabelProviderListener ILabelProviderListener

List of usage examples for org.eclipse.jface.viewers ILabelProviderListener ILabelProviderListener

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers ILabelProviderListener ILabelProviderListener.

Prototype

ILabelProviderListener

Source Link

Usage

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);
    }
}