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:com.architexa.org.eclipse.gef.ui.palette.customize.PaletteCustomizerDialog.java

License:Open Source License

/**
 * Creates the TreeViewer that is the outline of the model.
 * //from  w ww  .j  a v  a  2  s .c o  m
 * @param   composite   The Composite to which the ToolBar is to be added
 * @return            The newly created TreeViewer
 */
protected TreeViewer createOutlineTreeViewer(Composite composite) {
    Tree treeForViewer = new Tree(composite, SWT.BORDER);
    treeForViewer.setFont(composite.getFont());
    GridData data = new GridData(GridData.FILL_VERTICAL | GridData.HORIZONTAL_ALIGN_FILL);
    data.widthHint = 185;
    // Make the tree this tall even when there is nothing in it.  This will keep the
    // dialog from shrinking to an unusually small size.
    data.heightHint = 200;
    treeForViewer.setLayoutData(data);
    TreeViewer viewer = new TreeViewer(treeForViewer) {
        protected void preservingSelection(Runnable updateCode) {
            if ((getTree().getStyle() & SWT.SINGLE) != 0)
                updateCode.run();
            else
                super.preservingSelection(updateCode);
        }
    };
    viewer.setContentProvider(new PaletteTreeProvider(viewer));
    treeViewerLabelProvider = new PaletteLabelProvider(viewer);
    viewer.setLabelProvider(treeViewerLabelProvider);
    viewer.setInput(getPaletteRoot());
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            handleOutlineSelectionChanged();
        }
    });

    return viewer;
}

From source file:com.astra.ses.spell.gui.views.HistoryTreePage.java

License:Open Source License

public HistoryTreePage(String procId, Composite parent, HistoryTreeView view) {
    super(parent, SWT.NONE);
    setLayout(new GridLayout(1, true));

    m_model = s_pmgr.getProcedure(procId);

    TreeViewer viewer = new TreeViewer(this);
    viewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
    viewer.setContentProvider(new HistoryTreeContentProvider());
    viewer.setLabelProvider(new HistoryTreeLabelProvider());
    viewer.setInput(m_model);//from   w ww .  j  a va  2  s  .  c  o m
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection sel = (IStructuredSelection) event.getSelection();
            Object obj = sel.getFirstElement();
            String instanceId = null;
            if (obj instanceof HistoryTreeRootNode) {
                HistoryTreeRootNode node = (HistoryTreeRootNode) obj;
                instanceId = node.getInstanceId();
            } else if (obj instanceof HistoryTreeChildProcedureNode) {
                HistoryTreeChildProcedureNode node = (HistoryTreeChildProcedureNode) obj;
                instanceId = node.getInstanceId();
            }
            if (instanceId != null) {
                if (s_vmgr.containsProcedureView(instanceId)) {
                    s_vmgr.showProcedureView(instanceId);
                } else {
                    HistoryTreeChildProcedureNode node = (HistoryTreeChildProcedureNode) obj;
                    HashMap<String, String> args = new HashMap<String, String>();
                    args.put(OpenProcedureReplay.ARG_ASRUN, node.getAsRunPath());
                    CommandHelper.execute(OpenProcedureReplay.ID, args);
                }
            }
        }
    });
    ColumnViewerToolTipSupport.enableFor(viewer, ToolTip.NO_RECREATE);
    viewer.expandAll();

    MenuManager menuMgr = new MenuManager("#PopupMenu");
    menuMgr.setRemoveAllWhenShown(true);
    menuMgr.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager manager) {
            Action exportAsRunTree = new Action() {
                public void run() {
                    HistoryTreePage.this.exportAsRunTree();
                }
            };
            exportAsRunTree.setText("Export ASRUN...");
            manager.add(exportAsRunTree);
        }
    });
    Menu menu = menuMgr.createContextMenu(viewer.getControl());
    viewer.getControl().setMenu(menu);
    view.getSite().registerContextMenu(menuMgr, viewer);
}

From source file:com.axmor.eclipse.typescript.editor.search.TypeScriptSearchResultPage.java

License:Open Source License

@Override
protected void configureTreeViewer(TreeViewer viewer) {
    viewer.setUseHashlookup(true);//from   ww  w  . j a v  a2 s.com
    FileLabelProvider innerLabelProvider = new FileLabelProvider(this, FileLabelProvider.SHOW_LABEL);
    viewer.setLabelProvider(innerLabelProvider);
    contentProvider = new TypeScriptSearchContentProvider(viewer);
    viewer.setContentProvider(contentProvider);
}

From source file:com.axmor.eclipse.typescript.editor.TypeScriptContentOutlinePage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    super.createControl(parent);

    TreeViewer viewer = getTreeViewer();

    viewer.setContentProvider(new TypeScriptOutlineContentProvider());
    viewer.setLabelProvider(new TypeScriptOutlineLabelProvider());
    if (model != null) {
        setViewerInput(model);/*from   w  w  w. ja v  a2 s .  co  m*/
    }

    // add a listener for page navigation
    viewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            firePostSelectionChanged(event.getSelection());
        }
    });
}

From source file:com.baremetalstudios.mapleide.internal.ResourceNavigator.java

License:Open Source License

@Inject
public ResourceNavigator(Composite parent, final IEclipseContext context, IWorkspace workspace) {
    final Realm realm = SWTObservables.getRealm(parent.getDisplay());
    this.context = context;
    parent.setLayout(new FillLayout());
    TreeViewer viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL);
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            StructuredSelection selection = (StructuredSelection) event.getSelection();
            selectionService/*  www. j a  v  a2  s . c  om*/
                    .setSelection(selection.size() == 1 ? selection.getFirstElement() : selection.toArray());
            //            context.modify(IServiceConstants.ACTIVE_SELECTION, selection.size() == 1 ? selection.getFirstElement() : selection.toArray());
        }
    });

    IObservableFactory setFactory = new IObservableFactory() {
        public IObservable createObservable(Object element) {
            if (element instanceof IContainer && ((IContainer) element).exists()) {
                IObservableSet observableSet = observableSets.get(element);
                if (observableSet == null) {
                    observableSet = new WritableSet(realm);
                    try {
                        observableSet.addAll(Arrays.asList(((IContainer) element).members()));
                    } catch (CoreException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    observableSets.put((IContainer) element, observableSet);
                }
                return observableSet;
            }
            return Observables.emptyObservableSet();
        }
    };
    viewer.setContentProvider(new ObservableSetTreeContentProvider(setFactory, new TreeStructureAdvisor() {
        public Boolean hasChildren(Object element) {
            return Boolean.valueOf(element instanceof IContainer);
        }
    }));

    viewer.setLabelProvider(new LabelProvider() {
        public String getText(Object element) {
            if (element instanceof IResource)
                return ((IResource) element).getName();
            return element == null ? "" : element.toString();
        }
    });
    viewer.setSorter(new ViewerSorter());
    viewer.setInput(workspace.getRoot());
    viewer.addOpenListener(new IOpenListener() {

        public void open(OpenEvent event) {

            MapleIDEApplication app = (MapleIDEApplication) application;
            IStructuredSelection s = (IStructuredSelection) event.getSelection();
            for (Object o : s.toArray()) {
                if (o instanceof IFile) {
                    IFile f = (IFile) o;
                    context.set(IFile.class, f);
                    String fExt = f.getFileExtension();
                    EDITOR: for (EditorPartDescriptor desc : app.getEditorPartDescriptors()) {
                        for (String ext : desc.getFileextensions()) {
                            if (ext.equals(fExt)) {
                                context.set(EditorPartDescriptor.class, desc);
                                System.err.println("Opening with: " + desc);

                                Command cmd = commandService
                                        .getCommand("com.baremetalstudios.mapleide.command.openeditor");
                                //                           Command cmd = commandService.getCommand("simpleide.command.openeditor");
                                ParameterizedCommand pCmd = ParameterizedCommand.generateCommand(cmd, null);
                                handlerService.executeHandler(pCmd);

                                break EDITOR;
                            }
                        }
                    }
                }
            }

        }
    });
    setupContextMenu(viewer, parent.getShell());
    workspace.addResourceChangeListener(listener);
}

From source file:com.bdaum.zoom.ui.internal.dialogs.ConfigureColumnsDialog.java

License:Open Source License

@SuppressWarnings("unused")
private TreeViewer createMetaDataGroup(Composite composite) {
    ExpandCollapseGroup expandCollapseGroup = new ExpandCollapseGroup(composite, SWT.NONE);
    new Label(composite, SWT.NONE);
    new Label(composite, SWT.NONE);
    final TreeViewer viewer = new TreeViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    expandCollapseGroup.setViewer(viewer);
    viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    viewer.setLabelProvider(new MetadataLabelProvider());
    viewer.setContentProvider(new MetadataContentProvider());
    viewer.setComparator(ZViewerComparator.INSTANCE);
    UiUtilities.installDoubleClickExpansion(viewer);
    viewer.addFilter(new ViewerFilter() {
        @Override/*from   www .j av  a  2s.c  o  m*/
        public boolean select(Viewer aViewer, Object parentElement, Object element) {
            if (element instanceof QueryField) {
                QueryField qfield = (QueryField) element;
                return qfield.hasChildren() || element != QueryField.EXIF_MAKERNOTES && qfield.isUiField()
                        && !columnFields.contains(element);
            }
            return false;
        }
    });
    viewer.setInput(QueryField.ALL);
    viewer.expandToLevel(2);
    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            updateButtons();
        }
    });
    return viewer;
}

From source file:com.bdaum.zoom.ui.internal.dialogs.ExhibitionEditDialog.java

License:Open Source License

private TreeViewer createDetailViewer(Composite parent, boolean frame) {
    TreeViewer viewer = new TreeViewer(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    Tree tree = viewer.getTree();/*from   w  w w.  j a v  a2 s .c  om*/
    GridData gd_tree = new GridData(SWT.FILL, SWT.FILL, true, true);
    gd_tree.heightHint = 300;
    tree.setLayoutData(gd_tree);
    tree.setLinesVisible(true);
    tree.setHeaderVisible(true);
    createColumn(viewer, 0, 210, Messages.ExhibitionEditDialog_item, SWT.LEFT, frame);
    createColumn(viewer, 1, 60, Messages.ExhibitionEditDialog_x, SWT.RIGHT, frame);
    createColumn(viewer, 2, 60, Messages.ExhibitionEditDialog_y, SWT.RIGHT, frame);
    createColumn(viewer, 3, 60, Messages.ExhibitionEditDialog_w, SWT.RIGHT, frame);
    createColumn(viewer, 4, 60, Messages.ExhibitionEditDialog_h, SWT.RIGHT, frame);
    createColumn(viewer, 5, 40, Messages.ExhibitionEditDialog_dpi, SWT.RIGHT, frame);
    createColumn(viewer, 6, 100, "", SWT.LEFT, frame); //$NON-NLS-1$
    viewer.setContentProvider(new ITreeContentProvider() {

        public void inputChanged(Viewer aViewer, Object oldInput, Object newInput) {
            // do nothing
        }

        public void dispose() {
            // do nothing
        }

        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof Exhibition)
                return ((Exhibition) inputElement).getWall().toArray();
            return EKPTY;
        }

        public boolean hasChildren(Object element) {
            if (element instanceof Wall)
                return !((Wall) element).getExhibit().isEmpty();
            return false;
        }

        public Object getParent(Object element) {
            if (element instanceof Exhibit)
                return dbManager.obtainById(WallImpl.class, ((Exhibit) element).getWall_exhibit_parent());
            return null;
        }

        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof Wall) {
                List<String> ids = ((Wall) parentElement).getExhibit();
                List<ExhibitImpl> list = new ArrayList<ExhibitImpl>(ids.size());
                for (String id : ids) {
                    ExhibitImpl obj = dbManager.obtainById(ExhibitImpl.class, id);
                    if (obj != null)
                        list.add(obj);
                }
                return list.toArray();
            }
            return EKPTY;
        }
    });
    viewer.setComparator(new ZViewerComparator() {
        @Override
        public int compare(Viewer aViewer, Object e1, Object e2) {
            if (e1 instanceof Wall && e2 instanceof Wall) {
                return UiUtilities.stringComparator.compare(((Wall) e1).getLocation(),
                        ((Wall) e2).getLocation());
            } else if (e1 instanceof Exhibit && e2 instanceof Exhibit) {
                int x1 = ((Exhibit) e1).getX();
                int x2 = ((Exhibit) e2).getX();
                return x1 == x2 ? 0 : x1 < x2 ? -1 : 1;
            }
            return super.compare(aViewer, e1, e2);
        }
    });
    UiUtilities.installDoubleClickExpansion(viewer);
    return viewer;
}

From source file:com.bdaum.zoom.ui.internal.preferences.MetadataPreferencePage.java

License:Open Source License

private TreeViewer createTolerancesViewer(Composite comp) {
    ExpandCollapseGroup toleranceExpandCollapseGroup = new ExpandCollapseGroup(comp, SWT.NONE);
    final TreeViewer viewer = new TreeViewer(comp,
            SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION);
    viewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    toleranceExpandCollapseGroup.setViewer(viewer);
    viewer.getTree().setLinesVisible(true);
    TreeViewerColumn col1 = new TreeViewerColumn(viewer, SWT.NONE);
    col1.getColumn().setWidth(250);//from ww w.  j  a  v  a2 s  .  co m
    col1.setLabelProvider(new MetadataLabelProvider());
    TreeViewerColumn col2 = new TreeViewerColumn(viewer, SWT.NONE);
    col2.getColumn().setWidth(80);
    final ToleranceLabelProvider labelProvider = new ToleranceLabelProvider();
    col2.setLabelProvider(labelProvider);
    col2.setEditingSupport(new EditingSupport(viewer) {
        @Override
        protected void setValue(Object element, Object value) {
            if (element instanceof QueryField) {
                QueryField qfield = (QueryField) element;
                String key = qfield.getKey();
                String s = String.valueOf(value);
                float v;
                if (s.endsWith("%")) //$NON-NLS-1$
                    v = Integer.parseInt(s.substring(0, s.length() - 1).trim());
                else
                    try {
                        af.setMaximumFractionDigits(8);
                        v = -af.parse(s.trim()).floatValue();
                        if (qfield.getType() == QueryField.T_DATE)
                            v = 1000 * v;
                    } catch (ParseException e) {
                        v = 0f;
                    }
                toleranceMap.put(key, v);
                viewer.update(element, null);
            }
        }

        @Override
        protected Object getValue(Object element) {
            String text = labelProvider.getText(element);
            if (text.endsWith(SEC))
                return text.substring(0, text.length() - SEC.length());
            return text;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            if (element instanceof QueryField) {
                final int type = ((QueryField) element).getType();
                TextCellEditor editor = new TextCellEditor(viewer.getTree());
                editor.setValidator(new ICellEditorValidator() {
                    public String isValid(Object value) {
                        String s = String.valueOf(value);
                        if (s.endsWith("%")) { //$NON-NLS-1$
                            try {
                                if (Integer.parseInt(s.substring(0, s.length() - 1).trim()) < 0)
                                    return Messages.getString("MetadataPreferencePage.must_not_be_negative"); //$NON-NLS-1$
                                if (type == QueryField.T_DATE)
                                    return Messages
                                            .getString("MetadataPreferencePage.percent_not_allowed_for_date"); //$NON-NLS-1$
                                return null;
                            } catch (NumberFormatException e) {
                                return Messages.getString("MetadataPreferencePage.bad_integer"); //$NON-NLS-1$
                            }
                        }
                        if (type == QueryField.T_POSITIVEINTEGER || type == QueryField.T_INTEGER) {
                            try {
                                if (Integer.parseInt(s.substring(0, s.length() - 1).trim()) < 0)
                                    return Messages.getString("MetadataPreferencePage.must_not_be_negative"); //$NON-NLS-1$
                                return null;
                            } catch (NumberFormatException e) {
                                return Messages.getString("MetadataPreferencePage.bad_integer"); //$NON-NLS-1$
                            }
                        } else if (type == QueryField.T_POSITIVELONG || type == QueryField.T_LONG) {
                            try {
                                if (Long.parseLong(s.substring(0, s.length() - 1).trim()) < 0)
                                    return Messages.getString("MetadataPreferencePage.must_not_be_negative"); //$NON-NLS-1$
                                return null;
                            } catch (NumberFormatException e) {
                                return Messages.getString("MetadataPreferencePage.bad_integer"); //$NON-NLS-1$
                            }
                        }
                        try {
                            af.setMaximumFractionDigits(8);
                            if (af.parse(s.trim()).floatValue() < 0)
                                return Messages.getString("MetadataPreferencePage.must_not_be_negative"); //$NON-NLS-1$
                            return null;
                        } catch (ParseException e) {
                            return Messages.getString("MetadataPreferencePage.bad_floating_point"); //$NON-NLS-1$
                        }
                    }
                });
                return editor;
            }
            return null;
        }

        @Override
        protected boolean canEdit(Object element) {
            if (element instanceof QueryField)
                return ((QueryField) element).getTolerance() != 0f;
            return false;
        }
    });
    viewer.setContentProvider(new MetadataContentProvider());
    viewer.setComparator(ZViewerComparator.INSTANCE);
    UiUtilities.installDoubleClickExpansion(viewer);
    viewer.setFilters(new ViewerFilter[] { new ViewerFilter() {
        @Override
        public boolean select(Viewer aViewer, Object parentElement, Object element) {
            if (element instanceof QueryField) {
                QueryField qfield = (QueryField) element;
                return (qfield.hasChildren() || qfield.isUiField())
                        && hostsToleranceValue((QueryField) element);
            }
            return false;
        }

        private boolean hostsToleranceValue(QueryField qfield) {
            if (qfield.getTolerance() != 0f)
                return true;
            for (QueryField child : qfield.getChildren())
                if (hostsToleranceValue(child))
                    return true;
            return false;
        }
    } });
    return viewer;
}

From source file:com.boothen.jsonedit.outline.JsonContentOutlinePage.java

License:Open Source License

@Override
public void createControl(Composite parent) {

    super.createControl(parent);

    TreeViewer viewer = getTreeViewer();
    viewer.setContentProvider(fContentProvider);
    DelegatingStyledCellLabelProvider delegatingStyledCellLabelProvider = new DelegatingStyledCellLabelProvider(
            new JsonLabelProvider());
    viewer.setLabelProvider(delegatingStyledCellLabelProvider);
    getSite().getPage().addPostSelectionListener(this);

    if (fInput != null) {
        viewer.setInput(fInput);/*w  w w.j  a v  a2 s . c  o m*/
        fContentProvider.setInput(fInput);

    }
}

From source file:com.diffplug.common.swt.jface.ViewerMisc.java

License:Apache License

/** Sets an {@link ITreeContentProvider} implemented by the given {@link TreeDef.Parented}. */
@SuppressWarnings("unchecked")
public static <T> void setTreeContentProvider(TreeViewer viewer, TreeDef.Parented<T> treeDef) {
    viewer.setContentProvider(new ITreeContentProvider() {
        @Override/*w  w w  .j a v  a  2s.  c  om*/
        public Object[] getElements(Object inputElement) {
            return getChildren(inputElement);
        }

        @Override
        public Object[] getChildren(Object parentElement) {
            return treeDef.childrenOf((T) parentElement).toArray();
        }

        @Override
        public Object getParent(Object element) {
            return treeDef.parentOf((T) element);
        }

        @Override
        public boolean hasChildren(Object element) {
            return !treeDef.childrenOf((T) element).isEmpty();
        }

        @Override
        public void dispose() {
        }

        @Override
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }
    });
}