Search in sources :

Example 1 with FunctionContentProvider

use of eu.esdihumboldt.hale.ui.common.function.viewer.FunctionContentProvider in project hale by halestudio.

the class FunctionsView method createViewControl.

/**
 * @see eu.esdihumboldt.hale.ui.views.properties.PropertiesViewPart#createViewControl(org.eclipse.swt.widgets.Composite)
 */
@Override
public void createViewControl(Composite parent) {
    viewer = new TreeViewer(parent);
    viewer.setLabelProvider(new FunctionLabelProvider());
    viewer.setContentProvider(new FunctionContentProvider(HaleUI.getServiceProvider()));
    IToolBarManager manager = getViewSite().getActionBars().getToolBarManager();
    IAction filterAction = new FilterAction("Filter incompatible functions", Action.AS_CHECK_BOX, CommonSharedImages.getImageRegistry().getDescriptor("IMG_FILTER_CLEAR"));
    manager.add(filterAction);
    filterAction.setChecked(true);
    filterAction.run();
    CompatibilityService cs = PlatformUI.getWorkbench().getService(CompatibilityService.class);
    cs.addListener(compListener = new ExclusiveExtensionListener<CompatibilityMode, CompatibilityModeFactory>() {

        @Override
        public void currentObjectChanged(CompatibilityMode current, CompatibilityModeFactory definition) {
            // refresh the viewer when the compatibility mode is
            // changed
            final Display display = PlatformUI.getWorkbench().getDisplay();
            display.syncExec(new Runnable() {

                @Override
                public void run() {
                    viewer.refresh();
                }
            });
        }
    });
    AlignmentService as = PlatformUI.getWorkbench().getService(AlignmentService.class);
    as.addListener(alignListener = new AlignmentServiceAdapter() {

        @Override
        public void alignmentCleared() {
            customFunctionsChanged();
        }

        @Override
        public void customFunctionsChanged() {
            // refresh the viewer when the compatibility mode is changed
            final Display display = PlatformUI.getWorkbench().getDisplay();
            display.syncExec(new Runnable() {

                @Override
                public void run() {
                    viewer.refresh();
                }
            });
        }
    });
    // no input needed, but we have to set something
    viewer.setInput(Boolean.TRUE);
    new ViewerMenu(getSite(), viewer);
    getSite().setSelectionProvider(viewer);
}
Also used : IAction(org.eclipse.jface.action.IAction) CompatibilityModeFactory(eu.esdihumboldt.hale.ui.common.service.compatibility.CompatibilityModeFactory) CompatibilityMode(eu.esdihumboldt.hale.common.align.compatibility.CompatibilityMode) TreeViewer(org.eclipse.jface.viewers.TreeViewer) ExclusiveExtensionListener(de.fhg.igd.eclipse.util.extension.exclusive.ExclusiveExtension.ExclusiveExtensionListener) ViewerMenu(eu.esdihumboldt.hale.ui.util.viewer.ViewerMenu) FunctionLabelProvider(eu.esdihumboldt.hale.ui.common.function.viewer.FunctionLabelProvider) IToolBarManager(org.eclipse.jface.action.IToolBarManager) AlignmentService(eu.esdihumboldt.hale.ui.service.align.AlignmentService) CompatibilityService(eu.esdihumboldt.hale.ui.common.service.compatibility.CompatibilityService) FunctionContentProvider(eu.esdihumboldt.hale.ui.common.function.viewer.FunctionContentProvider) AlignmentServiceAdapter(eu.esdihumboldt.hale.ui.service.align.AlignmentServiceAdapter) Display(org.eclipse.swt.widgets.Display)

Aggregations

ExclusiveExtensionListener (de.fhg.igd.eclipse.util.extension.exclusive.ExclusiveExtension.ExclusiveExtensionListener)1 CompatibilityMode (eu.esdihumboldt.hale.common.align.compatibility.CompatibilityMode)1 FunctionContentProvider (eu.esdihumboldt.hale.ui.common.function.viewer.FunctionContentProvider)1 FunctionLabelProvider (eu.esdihumboldt.hale.ui.common.function.viewer.FunctionLabelProvider)1 CompatibilityModeFactory (eu.esdihumboldt.hale.ui.common.service.compatibility.CompatibilityModeFactory)1 CompatibilityService (eu.esdihumboldt.hale.ui.common.service.compatibility.CompatibilityService)1 AlignmentService (eu.esdihumboldt.hale.ui.service.align.AlignmentService)1 AlignmentServiceAdapter (eu.esdihumboldt.hale.ui.service.align.AlignmentServiceAdapter)1 ViewerMenu (eu.esdihumboldt.hale.ui.util.viewer.ViewerMenu)1 IAction (org.eclipse.jface.action.IAction)1 IToolBarManager (org.eclipse.jface.action.IToolBarManager)1 TreeViewer (org.eclipse.jface.viewers.TreeViewer)1 Display (org.eclipse.swt.widgets.Display)1