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

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

Introduction

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

Prototype

public Tree getTree() 

Source Link

Document

Returns this tree viewer's tree control.

Usage

From source file:com.twinsoft.convertigo.eclipse.views.schema.SchemaView.java

License:Open Source License

private TreeViewer makeTreeViewer(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayoutData(new GridData(GridData.FILL_BOTH));
    composite.setLayout(SwtUtils.newGridLayout(1, false, 0, 0, 0, 0));

    ToolBar toolbar = new ToolBar(composite, SWT.NONE);
    toolbar.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    final TreeViewer treeViewer = new TreeViewer(composite);

    ToolItem toolItem = new ToolItem(toolbar, SWT.PUSH);
    setToolItemIcon(toolItem, "icons/studio/collapse_all_nodes.gif", "C", "Collapse all");

    toolItem.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            treeViewer.collapseAll();//from  www.j  a  v a2 s . com
        }

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

    toolItem = new ToolItem(toolbar, SWT.PUSH);
    setToolItemIcon(toolItem, "icons/studio/expand_all_nodes.gif", "E", "Expand all");

    toolItem.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            treeViewer.expandToLevel(50);
        }

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

    treeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    treeViewer.setLabelProvider(SchemaViewContentProvider.decoratingLabelProvider);
    treeViewer.setComparer(new IElementComparer() {

        public int hashCode(Object element) {
            String txt = SchemaViewContentProvider.decoratingLabelProvider.getText(element);
            int hash = txt.hashCode();
            if (element instanceof XmlSchemaObject) {
                Iterator<DatabaseObject> ref = SchemaMeta
                        .getReferencedDatabaseObjects((XmlSchemaObject) element).iterator();
                if (ref.hasNext()) {
                    hash += ref.next().hashCode();
                }
            }
            return hash;
        }

        public boolean equals(Object a, Object b) {
            boolean ret = false;
            if (a != null && b != null && a.getClass().equals(b.getClass())) {
                String aTxt = SchemaViewContentProvider.decoratingLabelProvider.getText(a);
                String bTxt = SchemaViewContentProvider.decoratingLabelProvider.getText(b);
                if (aTxt.equals(bTxt)) {
                    if (a instanceof XmlSchemaObject) {
                        Iterator<DatabaseObject> aRef = SchemaMeta
                                .getReferencedDatabaseObjects((XmlSchemaObject) a).iterator();
                        Iterator<DatabaseObject> bRef = SchemaMeta
                                .getReferencedDatabaseObjects((XmlSchemaObject) b).iterator();
                        if (aRef.hasNext() && bRef.hasNext()) {
                            ret = aRef.next() == bRef.next();
                        }
                    } else {
                        ret = true;
                    }
                }
            }
            return ret;
        }
    });
    return treeViewer;
}

From source file:com.vectrace.MercurialEclipse.synchronize.cs.HgChangeSetContentProvider.java

License:Open Source License

private void ensureRootsAdded() {
    TreeViewer viewer = getTreeViewer();
    TreeItem[] children = viewer.getTree().getItems();
    if (children.length == 0) {
        viewer.add(viewer.getInput(), getRootElements());
    }//w w  w  .j a v a 2 s.c  om
}

From source file:com.windowtester.eclipse.ui.viewers.EventSequenceTreeViewer.java

License:Open Source License

private void setUpCellEditors(TreeViewer treeViewer) {
    cellModifier = new EventSequenceTreeCellModifier();
    treeViewer.setCellModifier(cellModifier);
    treeViewer.setColumnProperties(new String[] { "column" });
    treeViewer.setCellEditors(new CellEditor[] { new TextCellEditor(treeViewer.getTree()) });
}

From source file:com.windowtester.eclipse.ui.views.RecorderConsoleView.java

License:Open Source License

private void addContextMenus() {

    final TreeViewer viewer = treeViewer.getTreeViewer();

    MenuManager mm = new MenuManager(MENU_MANAGER_NAME);
    mm.setRemoveAllWhenShown(true);/*w w w .j a va2 s . c o  m*/
    mm.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager manager) {
            if (viewer == null)
                return;
            Tree tree = viewer.getTree();
            if (tree == null)
                return;
            final TreeItem[] selection = tree.getSelection();
            if (selection.length == 0) {
                return;
            }
            manager.add(new ContextMenuAction(deleteAction));

            //            manager.add(new Action("Group") {
            //               public void run() {
            //                  super.run();
            //                  System.out.println("DO group!");
            //
            //                  ISemanticEvent[] selected = getSelection();
            //                  IEvent[] events = new IEvent[selected.length];
            //                  for (int i = 0; i < selection.length; i++) {
            //                     events[i] = (IEvent)selected[i];
            //                  }
            //                  IEventGroup group = getPresenter().group(events);                  
            //                  getViewer().setGroupedState(group);
            //
            //               }
            //            });
        }
    });
    mm.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));

    Control control = viewer.getControl();
    Menu menu = mm.createContextMenu(control);
    control.setMenu(menu);
    //re-enable if we want to accept contributions
    //      getSite().registerContextMenu(mm, viewer);
}

From source file:com.windowtester.test.locator.swt.shells.CheckFileTree.java

License:Open Source License

/**
 * Creates the main window's contents//w ww .jav a  2  s . c o  m
 * 
 * @param parent
 *            the main window
 * @return Control
 */
protected Control createContents(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout(1, false));

    // Add a checkbox to toggle whether the labels preserve case
    Button preserveCase = new Button(composite, SWT.CHECK);
    preserveCase.setText("&Preserve case");

    // Create the tree viewer to display the file tree
    final TreeViewer tv = new TreeViewer(composite);
    tv.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
    tv.setContentProvider(new FileTreeContentProvider());
    tv.setLabelProvider(new FileTreeLabelProvider());
    tv.setInput("root"); // pass a non-null that will be ignored

    // When user checks the checkbox, toggle the preserve case attribute
    // of the label provider
    preserveCase.addSelectionListener(new SelectionAdapter() {
        public void widgetSelected(SelectionEvent event) {
            boolean preserveCase = ((Button) event.widget).getSelection();
            FileTreeLabelProvider ftlp = (FileTreeLabelProvider) tv.getLabelProvider();
            ftlp.setPreserveCase(preserveCase);
        }
    });
    return composite;
}

From source file:com.windowtester.test.locator.swt.shells.TreeCellLocatorShell.java

License:Open Source License

public TreeCellLocatorShell(Shell shell) {
    final TreeViewer v = new TreeViewer(shell, SWT.FULL_SELECTION);

    TreeColumn column = new TreeColumn(v.getTree(), SWT.NONE);
    column.setWidth(200);/* w  w w .  jav a  2 s  . co m*/
    column.setText("Column 1");

    column = new TreeColumn(v.getTree(), SWT.NONE);
    column.setWidth(200);
    column.setText("Column 2");

    v.setCellEditors(new CellEditor[] { new TextCellEditor(v.getTree()), new TextCellEditor(v.getTree()) });
    v.setColumnProperties(new String[] { "col1", "col2" });
    v.setCellModifier(new ICellModifier() {

        public boolean canModify(Object element, String property) {
            return true;
        }

        public Object getValue(Object element, String property) {
            return ((MyModel) element).counter + "";
        }

        public void modify(Object element, String property, Object value) {
            ((MyModel) ((TreeItem) element).getData()).counter = Integer.parseInt(value.toString());
            v.update(((TreeItem) element).getData(), null);
        }

    });
    v.setLabelProvider(new MyLabelProvider());
    v.setContentProvider(new MyContentProvider());
    v.setInput(createModel());

    v.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            System.out.println(event);
        }

    });

    v.getTree().addMouseListener(new MouseAdapter() {
        /* (non-Javadoc)
         * @see org.eclipse.swt.events.MouseAdapter#mouseDown(org.eclipse.swt.events.MouseEvent)
         */
        @Override
        public void mouseDown(MouseEvent e) {
            Tree t = v.getTree();
            TreeItem[] items = t.getSelection();
            TreeItem item = items[0];

            for (int i = 0; i < t.getColumnCount(); i++) {
                Rectangle bounds = getBounds(item, i);
                if (bounds.contains(e.x, e.y)) {
                    selected(item, i);
                    break;
                }
            }
        }

    });
}

From source file:com.xored.glance.ui.ccvs.TreeUtils.java

License:Open Source License

/**
 * Expand Tree up to the element specified by <path>
 * //from w  w w .ja v a2s.co m
 * @param treeViewer
 * @param path
 * @param item
 * @param treeExpandUpdater
 */
public static void expandElement(final TreeViewer treeViewer, String path, final TreeItem item,
        ITreeExpandUpdater treeExpandUpdater) {
    TreeItem[] items;
    if (item == null) {
        items = treeViewer.getTree().getItems();
    } else {
        if (item != null && !(item.getData() instanceof RemoteFile) && !item.getExpanded()) {
            treeViewer.expandToLevel(item.getData(), 1);
            treeExpandUpdater.updateOnExpand(item);
            if (item.getItems().length > 0 && path != null) {
                if (item.getItems()[0].getData() instanceof PendingUpdateAdapter) {
                    item.getItems()[0].addDisposeListener(
                            new PendingDisposeListener(treeViewer, path, item, treeExpandUpdater));
                } else {
                    expandElement(treeViewer, path, item, treeExpandUpdater);
                }
                return;
            }
        }
        items = item.getItems();
    }

    if (path == null) {
        // treeViewer.getTree().setSelection(item);

        Utils.asyncExec(new Runnable() {
            public void run() {
                treeViewer.getTree().setSelection(item);
            }
        }, treeViewer);
        // System.out.println("select: " + item.getText());
        // textSource.setMatch(textSource.newMatch);
        return;
    }
    for (TreeItem treeItem : items) {
        String curFolder = TreeUtils.getTreeItemName(treeItem);
        if (treeItem.getData() != null && path.startsWith(curFolder)
                && ((path.length() == curFolder.length()) || (path.charAt(curFolder.length()) == '/'))) {
            String tPath = path.replace(curFolder, "");
            if (tPath != null && tPath.length() > 0) {
                tPath = (tPath.charAt(0) == '/') ? tPath.substring(1) : tPath;
            } else {
                tPath = null;
            }
            expandElement(treeViewer, tPath, treeItem, treeExpandUpdater);
            return;
        }
    }
}

From source file:de.babe.eclipse.plugins.quickREx.search.RESearchResultViewPage.java

License:Open Source License

protected void configureTreeViewer(final TreeViewer viewer) {
    this.viewer = viewer;
    viewer.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {
            try {
                RELibraryEntry selected = (RELibraryEntry) viewer.getTree().getSelection()[0].getData();
                if (((REBook) viewer.getTree().getSelection()[0].getParentItem().getParentItem().getData())
                        .getName().equals(REBook.DEFAULT_BOOK_NAME)) {
                    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
                            .openEditor(new RELibraryEntryEditorInput(selected, true), RELibraryEntryEditor.ID);
                } else {
                    PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().openEditor(
                            new RELibraryEntryEditorInput(selected, false), RELibraryEntryEditor.ID);
                    selected.addTitleChangeListener((RELibraryView) PlatformUI.getWorkbench()
                            .getActiveWorkbenchWindow().getActivePage().findView(RELibraryView.ID));
                }//from ww  w  . j av a  2  s .co m
            } catch (Exception ex) {
                // nop
            }
        }
    });

    viewer.setContentProvider(new ITreeContentProvider() {

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.IContentProvider#dispose()
         */
        public void dispose() {
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object, java.lang.Object)
         */
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
         */
        public Object[] getElements(Object inputElement) {
            return ((RESearchResult) getInput()).getBooksWithMatches();
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
         */
        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof REBook) {
                return ((RESearchResult) getInput()).getMatchingCategoriesInBook((REBook) parentElement);
            } else if (parentElement instanceof RECategory) {
                return ((RESearchResult) getInput()).getMatchesInCategory((RECategory) parentElement);
            } else {
                return new Object[0];
            }
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
         */
        public Object getParent(Object element) {
            if (element instanceof RELibraryEntry) {
                return ((RELibraryEntry) element).getCategory();
            } else if (element instanceof RECategory) {
                return ((RECategory) element).getBook();
            } else {
                return null;
            }
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
         */
        public boolean hasChildren(Object element) {
            return (element instanceof REBook || element instanceof RECategory);
        }
    });

    viewer.setLabelProvider(new LabelProvider() {
        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
         */
        public Image getImage(Object element) {
            if (element instanceof REBook) {
                return ((PluginImageRegistry) QuickRExPlugin.getDefault().getImageRegistry())
                        .getImageDescriptor(PluginImageRegistry.IMG_BOOK).createImage();
            } else if (element instanceof RECategory) {
                return ((PluginImageRegistry) QuickRExPlugin.getDefault().getImageRegistry())
                        .getImageDescriptor(PluginImageRegistry.IMG_CATEGORY).createImage();
            } else if (element instanceof RELibraryEntry) {
                return ((PluginImageRegistry) QuickRExPlugin.getDefault().getImageRegistry())
                        .getImageDescriptor(PluginImageRegistry.IMG_REG_EXP).createImage();
            } else {
                return null;
            }
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
         */
        public String getText(Object element) {
            if (element instanceof REBook) {
                return ((REBook) element).getName();
            } else if (element instanceof RECategory) {
                return ((RECategory) element).getName();
            } else if (element instanceof RELibraryEntry) {
                return ((RELibraryEntry) element).getTitle();
            } else {
                return null;
            }
        }

        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.IBaseLabelProvider#isLabelProperty(java.lang.Object, java.lang.String)
         */
        public boolean isLabelProperty(Object element, String property) {
            return true;
        }
    });

}

From source file:de.gebit.integrity.eclipse.views.TestTreeLabelProvider.java

License:Open Source License

/**
 * Constructs a new instance.//from   w w w  .  j  a  va  2 s .  co  m
 * 
 * @param aSetList
 *            the set list to use
 * @param aBreakpointSet
 *            the initial breakpoint set
 */
public TestTreeLabelProvider(SetList aSetList, Set<Integer> aBreakpointSet, Display aDisplay,
        TreeViewer anOwner) {
    setList = aSetList;
    breakpointSet = aBreakpointSet;
    suiteImage = Activator.getImageDescriptor("icons/suite.gif").createImage();
    suiteSuccessImage = Activator.getImageDescriptor("icons/suite_ok.gif").createImage();
    suiteFailureImage = Activator.getImageDescriptor("icons/suite_error.gif").createImage();
    suiteExceptionImage = Activator.getImageDescriptor("icons/suite_exception.gif").createImage();
    testImage = Activator.getImageDescriptor("icons/test.png").createImage();
    testSuccessImage = Activator.getImageDescriptor("icons/test_success.gif").createImage();
    testFailureImage = Activator.getImageDescriptor("icons/test_failed.gif").createImage();
    testExceptionImage = Activator.getImageDescriptor("icons/test_exception.gif").createImage();
    callImage = Activator.getImageDescriptor("icons/call.gif").createImage();
    callSuccessImage = Activator.getImageDescriptor("icons/call_success.gif").createImage();
    callExceptionImage = Activator.getImageDescriptor("icons/call_exception.gif").createImage();
    commentTextColor = new Color(aDisplay, 14, 70, 0);
    FontData tempFontData = anOwner.getTree().getFont().getFontData()[0];
    tempFontData.setStyle(tempFontData.getStyle() | SWT.ITALIC | SWT.BOLD);
    commentFont = new Font(aDisplay, tempFontData);
}

From source file:de.hentschel.visualdbc.statistic.ui.util.AbstractTreeItemDecorator.java

License:Open Source License

/**
 * Constructor./*from  w  ww.  j  a  v  a  2  s . c om*/
 * @param viewer The observed {@link TreeViewer}.
 */
public AbstractTreeItemDecorator(TreeViewer viewer) {
    super();
    Assert.isNotNull(viewer);
    this.viewer = viewer;
    viewer.getTree().addTreeListener(treeListener);
    if (viewer.getLabelProvider() != null) {
        viewer.getLabelProvider().addListener(labelProviderListener);
    }
}