Example usage for org.eclipse.jface.viewers TreeViewer setContentProvider

List of usage examples for org.eclipse.jface.viewers TreeViewer setContentProvider

Introduction

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

Prototype

@Override
public void setContentProvider(IContentProvider provider) 

Source Link

Document

Sets the content provider used by this TreeViewer.

Usage

From source file:eu.esdihumboldt.hale.ui.common.definition.selector.TypeDefinitionDialog.java

License:Open Source License

@Override
protected void setupViewer(TreeViewer viewer, TypeDefinition initialSelection) {
    viewer.setLabelProvider(new DefinitionLabelProvider());
    viewer.setContentProvider(new TypesContentProvider(viewer));

    viewer.setInput(types);/*from   w  w w.j a v a  2 s .com*/

    if (initialSelection != null) {
        viewer.setSelection(new StructuredSelection(initialSelection));
    }
}

From source file:eu.esdihumboldt.hale.ui.function.common.PropertyEntityDialog.java

License:Open Source License

/**
 * @see EntityDialog#setupViewer(TreeViewer, EntityDefinition)
 *///from   w  w  w.  j av  a  2  s .c  om
@Override
protected void setupViewer(TreeViewer viewer, EntityDefinition initialSelection) {
    viewer.setLabelProvider(new StyledDefinitionLabelProvider());
    EntityDefinitionService entityDefinitionService = (EntityDefinitionService) PlatformUI.getWorkbench()
            .getService(EntityDefinitionService.class);

    if (parentType != null) {
        viewer.setContentProvider(new TreePathProviderAdapter(
                new EntityTypePropertyContentProvider(entityDefinitionService, ssid)));
        viewer.setInput(parentType);
    } else {
        flatRelevantProvider = new TreePathProviderAdapter(
                new EntityTypeIndexContentProvider(entityDefinitionService, ssid, true, false));
        hierarchicalRelevantProvider = new TreePathProviderAdapter(
                new EntityTypeIndexHierarchy(entityDefinitionService, ssid, true, false));
        flatAllProvider = new TreePathProviderAdapter(
                new EntityTypeIndexContentProvider(entityDefinitionService, ssid, false, false));
        hierarchicalAllProvider = new TreePathProviderAdapter(
                new EntityTypeIndexHierarchy(entityDefinitionService, ssid, false, false));
        viewer.setContentProvider(flatRelevantProvider);

        SchemaService ss = (SchemaService) PlatformUI.getWorkbench().getService(SchemaService.class);
        viewer.setInput(ss.getSchemas(ssid));
    }

    if (initialSelection != null) {
        viewer.setSelection(new StructuredSelection(initialSelection));
    }
}

From source file:eu.esdihumboldt.hale.ui.function.common.TypeEntityDialog.java

License:Open Source License

/**
 * @see EntityDialog#setupViewer(TreeViewer, EntityDefinition)
 *///from   ww w  .  j a  v  a  2s  . c  o m
@Override
protected void setupViewer(TreeViewer viewer, EntityDefinition initialSelection) {
    viewer.setLabelProvider(new StyledDefinitionLabelProvider());
    EntityDefinitionService entityDefinitionService = (EntityDefinitionService) PlatformUI.getWorkbench()
            .getService(EntityDefinitionService.class);

    flatRelevantProvider = new TreePathProviderAdapter(
            new EntityTypeIndexContentProvider(entityDefinitionService, ssid, true, true));
    if (!onlyMappingRelevant) {
        hierarchicalRelevantProvider = new TreePathProviderAdapter(
                new EntityTypeIndexHierarchy(entityDefinitionService, ssid, true, true));
        flatAllProvider = new TreePathProviderAdapter(
                new EntityTypeIndexContentProvider(entityDefinitionService, ssid, false, true));
        hierarchicalAllProvider = new TreePathProviderAdapter(
                new EntityTypeIndexHierarchy(entityDefinitionService, ssid, false, true));

        viewer.setContentProvider(flatAllProvider);
    } else {
        viewer.setContentProvider(flatRelevantProvider);
    }

    SchemaService ss = (SchemaService) PlatformUI.getWorkbench().getService(SchemaService.class);

    viewer.setInput(ss.getSchemas(ssid));

    if (initialSelection instanceof TypeEntityDefinition) {
        viewer.setSelection(new StructuredSelection(initialSelection));
    }
}

From source file:eu.esdihumboldt.hale.ui.functions.groovy.internal.PageFunctions.java

License:Open Source License

/**
 * @see org.eclipse.jface.dialogs.DialogTray#createContents(org.eclipse.swt.widgets.Composite)
 *//*from  w  w w  .  ja  v a 2s  . co  m*/
@Override
protected Control createContents(Composite parent) {

    Composite comp = new Composite(parent, SWT.NONE);
    GridLayoutFactory.fillDefaults().numColumns(1).applyTo(comp);
    Label label = new Label(comp, SWT.NONE);
    label.setText("Functions Overview");
    label.setFont(JFaceResources.getHeaderFont());

    // tree viwever
    PatternFilter patternFilter = new TreePathPatternFilter();
    patternFilter.setIncludeLeadingWildcard(true);
    final FilteredTree filteredTree = new TreePathFilteredTree(comp,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, patternFilter, true);

    TreeViewer tree = filteredTree.getViewer();
    tree.setUseHashlookup(true);
    HelperFunctionLabelProvider labelProvider = new HelperFunctionLabelProvider();
    tree.setLabelProvider(labelProvider);
    IContentProvider contentProvider;

    HelperFunctionsService functions = HaleUI.getServiceProvider().getService(HelperFunctionsService.class);

    contentProvider = new TreePathProviderAdapter(new HelperFunctionContentProvider(functions));

    tree.setContentProvider(contentProvider);
    GridDataFactory.fillDefaults().grab(true, true).hint(280, 400).applyTo(filteredTree);

    tree.setComparator(new HelperFunctionComparator());

    tree.setInput(Category.ROOT);

    // Examples
    Label example = new Label(comp, SWT.NONE);
    example.setText("Function documentation");

    try {
        browser = new Browser(comp, SWT.WRAP | SWT.BORDER);
        browser.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(300, 250).create());
    } catch (Throwable e) {

        if (BROWSER_ERROR_REPORTED.compareAndSet(false, true)) {
            log.error("Could not create embedded browser, using text field as fall-back", e);
        }

        textField = new Text(comp, SWT.BORDER | SWT.WRAP | SWT.V_SCROLL);
        textField.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).hint(300, 250).create());

    }

    tree.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {

            String eg = null;
            HelperFunctionSpecification hfs = null;

            if (!event.getSelection().isEmpty()) {
                TreeSelection treesel = (TreeSelection) event.getSelection();
                TreePath[] paths = treesel.getPaths();
                if (paths != null) {
                    TreePath path = paths[0];
                    for (int i = 0; i < path.getSegmentCount(); i++) {
                        if (path.getSegment(i) instanceof Category) {
                            eg = "Select a function to see its documentation.";
                            if (browser != null) {
                                browser.setText(eg);
                            } else if (textField != null) {
                                textField.setText(eg);
                            }
                        } else if (path.getSegment(i) instanceof HelperFunctionOrCategory) {

                            HelperFunctionOrCategory hfoc = ((HelperFunctionOrCategory) path.getSegment(i));

                            try {
                                hfs = (HelperFunctionSpecification) hfoc.asFunction().getSpec(hfoc.getName());
                            } catch (Exception e) {
                                log.error(
                                        "There is a problem in retrieving the specification for a helper function.",
                                        e);
                            }

                            // displaying the specification
                            if (browser != null) {
                                eg = getFunctionSpecHTML(hfs);
                                browser.setText(eg);
                            } else if (textField != null) {
                                eg = getFunctionSpecText(hfs);
                                textField.setText(eg);
                            }

                        }
                    }
                }
            }

        }

    });
    return comp;

}

From source file:eu.esdihumboldt.hale.ui.functions.groovy.internal.TypeStructureTray.java

License:Open Source License

@Override
protected Control createContents(Composite parent) {
    Composite page = new Composite(parent, SWT.NONE);

    GridLayoutFactory.fillDefaults().numColumns(1).applyTo(page);

    // retrieve the types
    final Collection<? extends TypeDefinition> types = this.types.getTypes();

    // heading//from w w  w  . j a  v  a  2 s .c o  m
    Label caption = new Label(page, SWT.NONE);
    switch (schemaSpace) {
    case SOURCE:
        caption.setText("Source structure");
        break;
    case TARGET:
        caption.setText("Target structure");
        break;
    }
    caption.setFont(JFaceResources.getHeaderFont());

    // create tree viewer
    PatternFilter patternFilter = new SchemaPatternFilter();
    patternFilter.setIncludeLeadingWildcard(true);
    final FilteredTree filteredTree = new TreePathFilteredTree(page,
            SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER, patternFilter, true);

    TreeViewer tree = filteredTree.getViewer();
    tree.setUseHashlookup(true);
    StyledDefinitionLabelProvider labelProvider = new StyledDefinitionLabelProvider();
    tree.setLabelProvider(labelProvider);
    IContentProvider contentProvider;
    if (types.size() == 1) {
        contentProvider = new TreePathProviderAdapter(new TypePropertyContentProvider(tree));
    } else {
        contentProvider = new TreePathProviderAdapter(new TypeDefinitionContentProvider(tree));
    }
    tree.setContentProvider(contentProvider);
    GridDataFactory.fillDefaults().grab(true, true).hint(280, 400).applyTo(filteredTree);

    tree.setComparator(new DefinitionComparator());

    // set input
    if (types.size() == 1) {
        tree.setInput(types.iterator().next());
    } else {
        tree.setInput(types);
    }

    /*
     * Groovy specific part
     */

    // caption
    Label example = new Label(page, SWT.NONE);
    switch (schemaSpace) {
    case SOURCE:
        example.setText("Examples: Access variables");
        break;
    case TARGET:
        example.setText("Example: Build instance");
        break;
    default:
        example.setText("Example");
    }

    // source viewer
    final SourceViewer viewer = new SourceViewer(page, null,
            SWT.MULTI | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.READ_ONLY);

    final IColorManager colorManager = new GroovyColorManager();
    SourceViewerConfiguration configuration = new SimpleGroovySourceViewerConfiguration(colorManager,
            ImmutableList.of(BINDING_TARGET, BINDING_BUILDER, BINDING_INDEX, BINDING_SOURCE,
                    BINDING_SOURCE_TYPES, BINDING_TARGET_TYPE, BINDING_CELL, BINDING_LOG, BINDING_CELL_CONTEXT,
                    BINDING_FUNCTION_CONTEXT, BINDING_TRANSFORMATION_CONTEXT),
            null);
    viewer.configure(configuration);

    GridDataFactory.fillDefaults().grab(true, false).hint(200, 130).applyTo(viewer.getControl());

    // make sure the color manager is disposed
    viewer.getControl().addDisposeListener(new DisposeListener() {

        @Override
        public void widgetDisposed(DisposeEvent e) {
            colorManager.dispose();
        }
    });

    // react to tree selection changes
    tree.addSelectionChangedListener(new ISelectionChangedListener() {

        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            IDocument doc = new Document();
            GroovySourceViewerUtil.setupDocument(doc);
            String example = null;
            if (!event.getSelection().isEmpty()) {
                switch (schemaSpace) {
                case SOURCE:
                    example = createSourceSample(event.getSelection(), types);
                    break;
                case TARGET:
                    example = createTargetSample(event.getSelection(), types);
                    break;
                }
            }

            if (example == null || example.isEmpty()) {
                switch (schemaSpace) {
                case SOURCE:
                    doc.set("// Please select schema elements to access");
                    break;
                case TARGET:
                    doc.set("// Please select which schema elements\n// to include in the instance to build");
                    break;
                default:
                    doc.set("// Please select one or more schema elements");
                }
            } else {
                doc.set(example);
            }

            viewer.setDocument(doc);
        }
    });

    tree.setSelection(StructuredSelection.EMPTY);

    return page;
}

From source file:eu.esdihumboldt.hale.ui.schema.presets.internal.SchemaPresetSelectionDialog.java

License:Open Source License

/**
 * @see AbstractViewerSelectionDialog#setupViewer(StructuredViewer, Object)
 *//*from   w ww . j  ava 2  s  .  co  m*/
@Override
protected void setupViewer(TreeViewer viewer, SchemaPreset initialSelection) {
    viewer.setLabelProvider(new SchemaPresetLabelProvider());
    viewer.setContentProvider(new SchemaPresetContentProvider());

    viewer.setInput(SchemaCategoryExtension.getInstance().getElements());

    if (initialSelection != null) {
        viewer.setSelection(new StructuredSelection(initialSelection));
    }
}

From source file:eu.esdihumboldt.hale.ui.service.align.resolver.internal.ViewerEntityTray.java

License:Open Source License

@Override
protected Control createContents(Composite parent) {
    Composite page = new Composite(parent, SWT.NONE);

    GridLayoutFactory.fillDefaults().applyTo(page);

    // text / description
    Label label = new Label(page, SWT.WRAP);
    label.setText(/*from  w  w  w  . j a  v  a  2 s  .  c  om*/
            "An entity that is referenced in a mapping cell cannot be resolved. This may be due to a changed schema, with for instance changed namespaces or property names. To update the cell please select a replacement entity to the left, a candidate may already be selected. Cancel to leave the cell entity unchanged.\n\nBelow is a (inaccurate) reconstruction of the original entity for reference:");
    GridDataFactory.swtDefaults().hint(300, SWT.DEFAULT).applyTo(label);

    // viewer for dummy entity
    TreeViewer viewer = new TreeViewer(page, SWT.BORDER);
    viewer.setContentProvider(new EntityContentProvider());
    viewer.setLabelProvider(new StyledDefinitionLabelProvider());
    viewer.setInput(Collections.singleton(entity));
    viewer.getControl().setEnabled(false);
    viewer.expandAll();
    GridDataFactory.fillDefaults().grab(true, true).applyTo(viewer.getControl());

    return page;
}

From source file:eu.esdihumboldt.hale.ui.style.DataSetTypeSelectionDialog.java

License:Open Source License

@Override
protected void setupViewer(TreeViewer viewer, Pair<TypeDefinition, DataSet> initialSelection) {
    viewer.setLabelProvider(new DefinitionLabelProvider() {

        @Override//www.j a  va  2  s.  c  o  m
        public String getText(Object element) {
            if (element instanceof DataSet) {
                switch ((DataSet) element) {
                case TRANSFORMED:
                    return "Transformed";
                case SOURCE:
                default:
                    return "Source";
                }
            }

            if (element instanceof Pair) {
                element = ((Pair<?, ?>) element).getFirst();
            }

            return super.getText(element);
        }

        @Override
        public Image getImage(Object element) {
            if (element instanceof DataSet) {
                return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
            }

            if (element instanceof Pair) {
                element = ((Pair<?, ?>) element).getFirst();
            }

            return super.getImage(element);
        }

    });
    viewer.setContentProvider(new TypeIndexContentProvider(viewer) {

        @Override
        public Object[] getElements(Object inputElement) {
            return types.keySet().toArray();
        }

        @Override
        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof DataSet) {
                DataSet dataSet = (DataSet) parentElement;
                List<Pair<TypeDefinition, DataSet>> typeList = new ArrayList<Pair<TypeDefinition, DataSet>>();
                for (TypeDefinition type : types.get(dataSet)) {
                    typeList.add(new Pair<TypeDefinition, DataSet>(type, dataSet));
                }
                return typeList.toArray();
            }

            return new Object[] {};
        }

        @Override
        public boolean hasChildren(Object parentElement) {
            return parentElement instanceof DataSet && !types.get((DataSet) parentElement).isEmpty();
        }

    });

    viewer.setAutoExpandLevel(2);
    viewer.setInput(types);

    if (initialSelection != null) {
        viewer.setSelection(new StructuredSelection(initialSelection));
    }
}

From source file:eu.esdihumboldt.hale.ui.templates.webtemplates.WebTemplatesDialog.java

License:Open Source License

@Override
protected void setupViewer(final TreeViewer viewer, WebTemplate initialSelection) {
    // this label provider is used for filtering (I guess)
    viewer.setLabelProvider(new LabelProvider() {

        @Override//w  w  w  . jav a2  s.  co m
        public String getText(Object element) {
            if (element instanceof WebTemplate) {
                return ((WebTemplate) element).getName();
            }
            return super.getText(element);
        }

    });

    viewer.getTree().setHeaderVisible(true);
    //      viewer.getTree().setLinesVisible(true);

    // main column
    TreeViewerColumn mainColumn = new TreeViewerColumn(viewer, SWT.NONE);
    mainColumn.setLabelProvider(new StyledCellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            Object element = cell.getElement();

            StyledString text = new StyledString();
            if (element instanceof WebTemplate) {
                WebTemplate template = (WebTemplate) element;

                text.append(template.getName());
            } else {
                text.append(element.toString());
            }

            cell.setText(text.getString());
            cell.setStyleRanges(text.getStyleRanges());

            super.update(cell);
        }
    });
    mainColumn.getColumn().setText("Template");
    layout.setColumnData(mainColumn.getColumn(), new ColumnWeightData(7));

    // link column
    if (Desktop.isDesktopSupported()) {
        TreeViewerColumn linkColumn = new TreeViewerColumn(viewer, SWT.CENTER);
        linkColumn.setLabelProvider(new LinkLabels());

        // listener that reacts on link cell clicks
        viewer.getTree().addMouseListener(new MouseAdapter() {

            @Override
            public void mouseDown(MouseEvent e) {
                if (e.button == 1) {
                    ViewerCell cell = viewer.getCell(new Point(e.x, e.y));
                    if (cell != null && cell.getColumnIndex() == 1 && cell.getTextBounds().contains(e.x, e.y)) {
                        Object element = cell.getElement();
                        if (element instanceof WebTemplate) {
                            try {
                                Desktop.getDesktop().browse(((WebTemplate) element).getSite());
                            } catch (IOException e1) {
                                log.error("Could not launch browser", e1);
                            }
                        }
                    }
                }
            }
        });

        layout.setColumnData(linkColumn.getColumn(), new ColumnWeightData(1));
    }

    viewer.setComparator(new ViewerComparator());

    viewer.setContentProvider(new WebTemplatesContentProvider());
    viewer.setInput(templates);
}

From source file:eu.geclipse.servicejob.ui.wizard.ProjectSelectionPage.java

License:Open Source License

public void createControl(final Composite parent) {
    Composite mainComp = new Composite(parent, SWT.NONE);
    mainComp.setLayout(new GridLayout(1, false));
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.grabExcessHorizontalSpace = true;
    gd.grabExcessVerticalSpace = true;//from w  w w.jav a  2s.co  m
    gd.verticalSpan = 3;
    gd.horizontalSpan = 2;
    gd.heightHint = 300;
    gd.widthHint = 250;
    final TreeViewer treeViewer = new TreeViewer(mainComp, SWT.SINGLE | SWT.BORDER);
    treeViewer.setContentProvider(new CProvider());
    treeViewer.setLabelProvider(new LProvider());
    treeViewer.setInput(GridModel.getRoot());
    setTree(treeViewer.getTree());
    getTree().setLayoutData(gd);
    getTree().addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(final SelectionEvent e) {
            Object selectedData = (((Tree) e.getSource()).getSelection()[0]).getData();
            if (selectedData instanceof IGridProject) {
                ProjectSelectionPage.selectedProject = (IGridProject) selectedData;
                ProjectSelectionPage.this.updateButtons();
            }
        }
    });
    this.tree.deselectAll();
    this.tree.update();
    treeViewer.refresh();
    //    this.tree.layout();
    treeViewer.refresh(true);
    for (TreeItem item : this.tree.getItems()) {
        if (item.getData() instanceof IGridProject) {
            if (item.getData().equals(this.initialProject)) {
                this.tree.setSelection(item);
                break;
            }
        }
    }
    Composite textComp = new Composite(mainComp, SWT.NONE);
    textComp.setLayout(new GridLayout(2, false));
    gd = new GridData(GridData.FILL_BOTH);
    gd.grabExcessHorizontalSpace = true;
    textComp.setLayoutData(gd);
    Label nameLabel = new Label(textComp, SWT.LEAD);
    nameLabel.setText("Operator's Job name");
    gd = new GridData();
    nameLabel.setLayoutData(gd);
    this.nameText = new Text(textComp, SWT.BORDER | SWT.LEAD);
    gd = new GridData(GridData.FILL_HORIZONTAL);
    this.nameText.setLayoutData(gd);
    this.nameText.addModifyListener(new ModifyListener() {

        public void modifyText(final ModifyEvent e) {
            ProjectSelectionPage.this.serviceJobName = ProjectSelectionPage.this.nameText.getText();
            ProjectSelectionPage.this.updateButtons();
        }
    });
    setControl(mainComp);
}