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.piece_framework.makegood.ui.views.ResultView.java

License:Open Source License

/**
 * @since 2.5.0//from  ww w  .  jav a 2  s . c om
 */
private TreeViewer createTestResultsTreeViewer(Tree resultTree) {
    TreeViewer treeViewer = new TreeViewer(resultTree);
    treeViewer.setContentProvider(new ResultTreeContentProvider());
    treeViewer.setLabelProvider(new ResultTreeLabelProvider());
    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            failureTrace.clearText();
            if (!(event.getSelection() instanceof IStructuredSelection))
                return;
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            Object element = selection.getFirstElement();
            if (!(element instanceof TestCaseResult))
                return;
            TestCaseResult testCase = (TestCaseResult) element;
            if (!testCase.isFixed())
                return;
            if (!testCase.hasFailures() && !testCase.hasErrors())
                return;
            failureTrace.setText(testCase.getFailureTrace());
        }
    });
    treeViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            Object element = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (element == null)
                return;
            if (element instanceof Result) {
                try {
                    editorOpener.open((Result) element);
                } catch (PartInitException e) {
                    Activator.getDefault().getLog()
                            .log(new Status(IStatus.WARNING, Activator.PLUGIN_ID, e.getMessage(), e));
                }
            }
        }
    });

    return treeViewer;
}

From source file:com.python.pydev.refactoring.refactorer.search.copied.FileSearchPage.java

License:Open Source License

@Override
protected void configureTreeViewer(TreeViewer viewer) {
    viewer.setUseHashlookup(true);/*from   w w w .  ja v a2 s.  c om*/
    FileLabelProvider innerLabelProvider = new FileLabelProvider(this, FileLabelProvider.SHOW_LABEL);
    viewer.setLabelProvider(innerLabelProvider);
    viewer.setContentProvider(new FileTreeContentProvider(this, viewer));
    viewer.setComparator(new DecoratorIgnoringViewerSorter(innerLabelProvider));
    fContentProvider = (IFileSearchContentProvider) viewer.getContentProvider();
    addDragAdapters(viewer);
}

From source file:com.questoid.sqlitebrowser.view.SqliteBrowserView.java

License:Open Source License

private void createSchemaGui(final TabFolder tabFolder, final SchemaTree schemaTreeModel) {
    final TabItem dbStructureTabItem = new TabItem(tabFolder, SWT.NULL);
    dbStructureTabItem.setText("Database Structure");
    final Tree tree = new Tree(tabFolder, SWT.MULTI | SWT.FULL_SELECTION | SWT.VIRTUAL);
    tree.setHeaderVisible(true);/*  w w w.j ava  2s  . c o  m*/
    tree.setLinesVisible(true);
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    // create the jface wrapper
    final TreeViewer treeViewer = new TreeViewer(tree);
    final String[] schemaColumnNames = new String[] { "Name", "Object", "Type", "Schema" };
    final int[] schemaColumnWidths = new int[] { 200, 100, 150, 800 };
    final int[] schemaColumnAlignments = new int[] { SWT.LEFT, SWT.LEFT, SWT.LEFT, SWT.LEFT };
    for (int i = 0; i < schemaColumnNames.length; i++) {
        final TreeColumn treeColumn = new TreeColumn(tree, schemaColumnAlignments[i]);
        treeColumn.setText(schemaColumnNames[i]);
        treeColumn.pack();
        treeColumn.setWidth(schemaColumnWidths[i]);
    }
    final SchemaContentProvider schemaContentProvider = new SchemaContentProvider();
    treeViewer.setContentProvider(schemaContentProvider);
    treeViewer.setLabelProvider(new SchemaLabelProvider());
    treeViewer.setInput(schemaTreeModel.getRoot());
    // Add table viewer to database structure tab item
    dbStructureTabItem.setControl(tree);
}

From source file:com.redhat.ceylon.eclipse.code.outline.CeylonOutlinePage.java

License:Open Source License

public void createControl(Composite parent) {
    super.createControl(parent);
    TreeViewer viewer = getTreeViewer();
    viewer.setContentProvider(contentProvider);
    if (labelProvider != null) {
        viewer.setLabelProvider(labelProvider);
    }//  w w  w . j a  v  a2s .  c  om
    viewer.addSelectionChangedListener(this);
    CeylonOutlineNode rootNode = modelBuilder.buildTree(parseController.getRootNode());
    viewer.setAutoExpandLevel(4);
    viewer.setInput(rootNode);
    viewer.setComparer(new IElementComparer() {
        @Override
        public int hashCode(Object element) {
            return element.hashCode();
        }

        @Override
        public boolean equals(Object a, Object b) {
            return a.equals(b);
        }
    });

    IPageSite site = getSite();
    IToolBarManager toolBarManager = site.getActionBars().getToolBarManager();
    toolBarManager.add(new ExpandAllAction());
    toolBarManager.add(new CollapseAllAction(viewer));
    toolBarManager.add(new LexicalSortingAction());
    toolBarManager.add(new HideNonSharedAction());

    MenuManager mm = new MenuManager();
    JavaPlugin.createStandardGroups(mm);
    /*mm.add(new GroupMarker("find"));
    mm.add(new Separator());
    mm.add(new GroupMarker("refactor"));
    mm.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));*/

    site.registerContextMenu(OUTLINE_POPUP_MENU_ID, mm, getTreeViewer());
    site.setSelectionProvider(getTreeViewer());

    viewer.getControl().setMenu(mm.createContextMenu(viewer.getControl()));
}

From source file:com.redhat.ceylon.eclipse.code.outline.OutlinePopup.java

License:Open Source License

@Override
protected TreeViewer createTreeViewer(Composite parent, int style) {
    Tree tree = new Tree(parent, SWT.SINGLE | (style & ~SWT.MULTI));
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = tree.getItemHeight() * 12;
    tree.setLayoutData(gd);//from   ww  w . ja v  a 2 s . com
    final TreeViewer treeViewer = new OutlineTreeViewer(tree);
    lexicalSortingAction = new LexicalSortingAction(treeViewer);
    outlineContentProvider = new CeylonOutlineContentProvider();
    labelProvider = new CeylonLabelProvider();
    treeViewer.setLabelProvider(labelProvider);
    treeViewer.addFilter(new NamePatternFilter());
    //   fSortByDefiningTypeAction= new SortByDefiningTypeAction(treeViewer);
    //   fShowOnlyMainTypeAction= new ShowOnlyMainTypeAction(treeViewer);
    treeViewer.setContentProvider(outlineContentProvider);
    outlineSorter = new OutlineSorter();
    treeViewer.setSorter(outlineSorter);
    treeViewer.setAutoExpandLevel(ALL_LEVELS);
    //treeViewer.getTree().addKeyListener(getKeyAdapter());
    return treeViewer;
}

From source file:com.reprezen.swagedit.core.editor.outline.JsonContentOutlinePage.java

License:Open Source License

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

    TreeViewer viewer = getTreeViewer();
    viewer.setContentProvider(new OutlineContentProvider());
    viewer.setLabelProvider(new OutlineStyledLabelProvider());
    viewer.addSelectionChangedListener(this);
    viewer.setAutoExpandLevel(2);/*  w w  w . java2s  . c  om*/
    viewer.setUseHashlookup(true);

    if (currentInput != null) {
        setInput(currentInput);
    }
}

From source file:com.reprezen.swagedit.core.editor.outline.QuickOutline.java

License:Open Source License

protected TreeViewer createTreeViewer(Composite parent) {
    final Tree tree = new Tree(parent, SWT.SINGLE);
    GridData gd = new GridData(GridData.FILL_BOTH);
    gd.heightHint = tree.getItemHeight();
    tree.setLayoutData(gd);/*w  ww . ja va 2  s .c  o m*/

    final TreeViewer treeViewer = new TreeViewer(tree);
    treeViewer.setContentProvider(new OutlineContentProvider());
    treeViewer.setLabelProvider(new OutlineStyledLabelProvider());
    treeViewer.addFilter(new NamePatternFilter());
    // Using ALL_LEVELS will cause editor to hang on large specs
    treeViewer.setAutoExpandLevel(2);
    treeViewer.setUseHashlookup(true);

    tree.addKeyListener(new KeyListener() {
        @Override
        public void keyReleased(KeyEvent e) {
            // TODO Auto-generated method stub
        }

        @Override
        public void keyPressed(KeyEvent e) {
            if (isInvocationEvent(e)) {
                e.doit = false;
                handleMultiView();
            } else if (e.keyCode == SWT.CR) {
                handleSelection();
                QuickOutline.this.close();
            }
        }
    });
    tree.addMouseListener(new MouseAdapter() {
        @Override
        public void mouseDown(MouseEvent e) {
            super.mouseDown(e);
        }

        public void mouseUp(MouseEvent e) {
            if (tree.getSelectionCount() < 1) {
                return;
            }
            if (e.button != 1) {
                return;
            }

            if (tree.equals(e.getSource())) {
                Object o = tree.getItem(new Point(e.x, e.y));
                TreeItem selection = tree.getSelection()[0];
                if (selection.equals(o)) {
                    handleSelection();
                }
            }
        }
    });
    tree.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            // do nothing
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            handleSelection();
        }
    });

    return treeViewer;
}

From source file:com.runwaysdk.manager.view.RelationshipTabBuilder.java

License:Open Source License

public void build(final IRelationshipStrategy command) {
    for (MdRelationshipDAOIF mdRelationship : command.getMdRelationships(mdBusiness)) {
        final String type = mdRelationship.definesType();

        // Prepare Tree context menu: Edit relationship action

        // Create the CTabItem and the Tree Widget
        CTabItem item = new CTabItem(tabFolder, SWT.NONE);
        item.setText(mdRelationship.getDisplayLabel(Localizer.getLocale()) + " " + command.getTabPostfix());
        item.setShowClose(false);/*  w ww  .  j  a  va  2  s  .  c  o m*/

        final TreeViewer viewer = new TreeViewer(tabFolder);
        viewer.setContentProvider(new RelationshipContentProvider(mdRelationship.definesType(), command));
        viewer.setLabelProvider(new KeyLabelProvider());
        viewer.setInput(input);
        viewer.addDoubleClickListener(new IDoubleClickListener() {
            @Override
            public void doubleClick(DoubleClickEvent event) {

                new EditAction(Localizer.getMessage("EDIT"), viewer, module).run();
            }
        });

        // Add the Context menu to the Tree Widget
        MenuManager manager = new MenuManager();
        viewer.getControl().setMenu(manager.createContextMenu(viewer.getControl()));

        manager.add(new EditRelationshipAction(Localizer.getMessage("EDIT_RELATIONSHIP"), viewer, command, type,
                module));
        manager.add(new EditAction(Localizer.getMessage("EDIT"), viewer, module));
        manager.add(new NewRelationshipCommand(Localizer.getMessage("ADD"), viewer, command, mdRelationship,
                module));

        item.setControl(viewer.getControl());
    }
}

From source file:com.safi.workshop.sqlexplorer.plugin.views.DatabaseStructureView.java

License:Open Source License

/**
 * Add a new session to the database structure view. This will create a new tab for the
 * session./*from  w  w  w.jav  a  2  s  . c  o  m*/
 * 
 * @param session
 */
private void addSession(final MetaDataSession session) throws SQLCannotConnectException {
    if (_allSessions.contains(session))
        return;
    try {
        session.getMetaData();
        session.setAutoCommit(true);
    } catch (SQLCannotConnectException e) {
        SQLExplorerPlugin.error(e);
        throw e;
    } catch (SQLException e) {
        SQLExplorerPlugin.error(e);
        MessageDialog.openError(getSite().getShell(), "Cannot connect", e.getMessage());
    }
    DatabaseNode rootNode = session.getRoot();
    if (rootNode == null)
        return;
    _allSessions.add(session);

    if (_filterAction != null) {
        _filterAction.setEnabled(true);
    }

    if (_tabFolder == null || _tabFolder.isDisposed()) {

        clearParent();

        // create tab folder for different sessions
        _tabFolder = new CTabFolder(_parent, SWT.TOP | SWT.CLOSE);

        // add listener to keep both views on the same active tab
        _tabFolder.addSelectionListener(new SelectionAdapter() {

            @Override
            public void widgetSelected(SelectionEvent e) {

                // set the selected node in the detail view.
                DatabaseDetailView detailView = (DatabaseDetailView) getSite().getPage()
                        .findView(SqlexplorerViewConstants.SQLEXPLORER_DBDETAIL);
                synchronizeDetailView(detailView);
            }

        });

        // Set up a gradient background for the selected tab
        Display display = getSite().getShell().getDisplay();
        _tabFolder.setSelectionBackground(
                new Color[] { display.getSystemColor(SWT.COLOR_WHITE), new Color(null, 211, 225, 250),
                        new Color(null, 175, 201, 246), IConstants.TAB_BORDER_COLOR },
                new int[] { 25, 50, 75 }, true);

        // Add a listener to handle the close button on each tab
        _tabFolder.addCTabFolder2Listener(new CTabFolder2Adapter() {
            @Override
            public void close(CTabFolderEvent event) {
                CTabItem tabItem = (CTabItem) event.item;
                TabData tabData = (TabData) tabItem.getData();
                _allSessions.remove(tabData.session);
                event.doit = true;
            }
        });

        _parent.layout();
        _parent.redraw();

    }

    // create tab
    final CTabItem tabItem = new CTabItem(_tabFolder, SWT.NULL);
    TabData tabData = new TabData();
    tabItem.setData(tabData);
    tabData.session = session;

    // set tab text
    String labelText = session.getUser().getDescription();
    tabItem.setText(labelText);

    // create composite for our outline
    Composite composite = new Composite(_tabFolder, SWT.NULL);
    composite.setLayout(new FillLayout());
    tabItem.setControl(composite);

    // create outline
    final TreeViewer treeViewer = new TreeViewer(composite,
            SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI | SWT.BORDER);
    tabData.treeViewer = treeViewer;

    // add drag support
    // TODO improve drag support options
    Transfer[] transfers = new Transfer[] { TableNodeTransfer.getInstance() };
    treeViewer.addDragSupport(DND.DROP_COPY, transfers, new DragSourceListener() {

        public void dragFinished(DragSourceEvent event) {

            System.out.println("$drag finished");
            TableNodeTransfer.getInstance().setSelection(null);
        }

        public void dragSetData(DragSourceEvent event) {

            Object sel = ((IStructuredSelection) treeViewer.getSelection()).getFirstElement();
            event.data = sel;
        }

        public void dragStart(DragSourceEvent event) {

            event.doit = !treeViewer.getSelection().isEmpty();
            if (event.doit) {
                Object sel = ((IStructuredSelection) treeViewer.getSelection()).getFirstElement();
                if (!(sel instanceof TableNode)) {
                    event.doit = false;
                } else {
                    TableNode tn = (TableNode) sel;
                    TableNodeTransfer.getInstance().setSelection(tn);
                    if (!tn.isTable())
                        event.doit = false;
                }
            }
        }
    });

    // use hash lookup to improve performance
    treeViewer.setUseHashlookup(true);

    // add content and label provider
    treeViewer.setContentProvider(new DBTreeContentProvider());
    treeViewer.setLabelProvider(new DBTreeLabelProvider());

    // set input session
    treeViewer.setInput(rootNode);

    // add selection change listener, so we can update detail view as
    // required.
    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent ev) {

            // set the selected node in the detail view.
            DatabaseDetailView detailView = (DatabaseDetailView) getSite().getPage()
                    .findView(SqlexplorerViewConstants.SQLEXPLORER_DBDETAIL);
            synchronizeDetailView(detailView);
        }
    });

    // bring detail to front on doubleclick of node
    treeViewer.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {

            try {
                // find view
                DatabaseDetailView detailView = (DatabaseDetailView) getSite().getPage()
                        .findView(SqlexplorerViewConstants.SQLEXPLORER_DBDETAIL);
                if (detailView == null) {
                    getSite().getPage().showView(SqlexplorerViewConstants.SQLEXPLORER_DBDETAIL);
                }
                getSite().getPage().bringToTop(detailView);
                synchronizeDetailView(detailView);
            } catch (Exception e) {
                // fail silent
            }
        }

    });

    // add expand/collapse listener
    treeViewer.addTreeListener(new ITreeViewerListener() {

        public void treeCollapsed(TreeExpansionEvent event) {

            // refresh the node to change image
            INode node = (INode) event.getElement();
            node.setExpanded(false);
            TreeViewer viewer = (TreeViewer) event.getSource();
            viewer.update(node, null);
        }

        public void treeExpanded(TreeExpansionEvent event) {

            // refresh the node to change image
            INode node = (INode) event.getElement();
            node.setExpanded(true);
            TreeViewer viewer = (TreeViewer) event.getSource();
            viewer.update(node, null);
        }

    });

    // set new tab as the active one
    _tabFolder.setSelection(_tabFolder.getItemCount() - 1);

    // update detail view
    DatabaseDetailView detailView = (DatabaseDetailView) getSite().getPage()
            .findView(SqlexplorerViewConstants.SQLEXPLORER_DBDETAIL);

    if (detailView != null) {

        // synchronze detail view with new session
        synchronizeDetailView(detailView);

        // bring detail to top of the view stack
        getSite().getPage().bringToTop(detailView);
    }

    // refresh view
    composite.layout();
    _tabFolder.layout();
    _tabFolder.redraw();

    // bring this view to top of the view stack, above detail if needed..
    getSite().getPage().bringToTop(this);

    // add context menu
    final DBTreeActionGroup actionGroup = new DBTreeActionGroup(treeViewer);
    MenuManager menuManager = new MenuManager("DBTreeContextMenu");
    menuManager.setRemoveAllWhenShown(true);
    Menu contextMenu = menuManager.createContextMenu(treeViewer.getTree());
    treeViewer.getTree().setMenu(contextMenu);

    menuManager.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(IMenuManager manager) {

            actionGroup.fillContextMenu(manager);
        }
    });
}

From source file:com.safi.workshop.sqlexplorer.preview.XmlPreviewer.java

License:Open Source License

public void createControls(Composite parent, final Object data) throws ExplorerException {
    Element rootElem = getXml(data);
    if (rootElem == null)
        return;/*from  ww  w. j a  v a 2 s .  c o  m*/
    final Object[] root = new Object[] { rootElem };

    TreeViewer tree = new TreeViewer(parent, SWT.SINGLE);
    tree.setContentProvider(new ITreeContentProvider() {
        public void dispose() {
        }

        /**
         * Called to get the top level items
         */
        public Object[] getChildren(Object parentElement) {
            return root;
        }

        /**
         * Called to get the item's children
         */
        public Object[] getElements(Object inputElement) {
            Element elem = (Element) inputElement;
            return elem.elements().toArray();
        }

        public boolean hasChildren(Object element) {
            Element elem = (Element) element;
            List<Element> list = elem.elements();
            return list != null && list.size() > 0;
        }

        public Object getParent(Object element) {
            Element elem = (Element) element;
            return elem.getParent();
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // Nothing
        }
    });

    tree.setLabelProvider(new LabelProvider() {
        @Override
        public String getText(Object obj) {
            Element elem = (Element) obj;
            StringBuffer result = new StringBuffer();
            result.append('<');
            result.append(elem.getName());

            for (Object o : elem.attributes()) {
                Attribute attr = (Attribute) o;
                result.append(' ').append(attr.getName()).append('=').append('\"').append(attr.getValue())
                        .append('\"');
            }
            if (!elem.hasContent())
                result.append('/');
            result.append('>');
            return result.toString();
        }
    });

    tree.expandToLevel(1);
}