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:org.eclipse.jface.snippets.viewers.Snippet056BooleanCellEditor.java

License:Open Source License

public Snippet056BooleanCellEditor(final Shell shell) {

    final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
    v.getTree().setLinesVisible(true);
    v.getTree().setHeaderVisible(true);// ww  w.j  a v  a2 s .c  om

    FocusCellOwnerDrawHighlighter h = new FocusCellOwnerDrawHighlighter(v) {

        @Override
        protected Color getSelectedCellBackgroundColorNoFocus(ViewerCell cell) {
            return shell.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);
        }

        @Override
        protected Color getSelectedCellForegroundColorNoFocus(ViewerCell cell) {
            return shell.getDisplay().getSystemColor(SWT.COLOR_WIDGET_FOREGROUND);
        }
    };

    TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(v, h);
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v);

    int feature = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
            | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION;

    TreeViewerEditor.create(v, focusCellManager, actSupport, feature);

    final TextCellEditor textCellEditor = new TextCellEditor(v.getTree());
    final BooleanCellEditor booleanCellEditor = new BooleanCellEditor(v.getTree());

    TreeViewerColumn column = createColumnFor(v, "Column 1");
    column.setLabelProvider(new MyColumnLabelProvider("Column 1"));
    column.setEditingSupport(new MyEditingSupport(v, v, textCellEditor));

    column = createColumnFor(v, "Column 2");
    column.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            return ((MyModel) element).flag + "";
        }

    });
    column.setEditingSupport(new EditingSupport(v) {
        @Override
        protected boolean canEdit(Object element) {
            return true;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return booleanCellEditor;
        }

        @Override
        protected Object getValue(Object element) {
            return Boolean.valueOf(((MyModel) element).flag);
        }

        @Override
        protected void setValue(Object element, Object value) {
            ((MyModel) element).flag = ((Boolean) value).booleanValue();
            v.update(element, null);
        }
    });
    column = createColumnFor(v, "Column 3");
    column.setLabelProvider(new MyColumnLabelProvider("Column 3"));
    column.setEditingSupport(new MyEditingSupport(v, v, textCellEditor));

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

From source file:org.eclipse.jface.snippets.viewers.Snippet061FakedNativeCellEditor.java

License:Open Source License

public Snippet061FakedNativeCellEditor(final Shell shell) {
    final TreeViewer viewer = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
    viewer.getTree().setLinesVisible(true);
    viewer.getTree().setBackgroundMode(SWT.INHERIT_DEFAULT);
    viewer.getTree().setHeaderVisible(true);

    FocusCellOwnerDrawHighlighter h = new FocusCellOwnerDrawHighlighter(viewer) {

        @Override//from   w  ww  . j  a va  2 s.co  m
        protected Color getSelectedCellBackgroundColorNoFocus(ViewerCell cell) {
            return shell.getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION);
        }

        @Override
        protected Color getSelectedCellForegroundColorNoFocus(ViewerCell cell) {
            return shell.getDisplay().getSystemColor(SWT.COLOR_WIDGET_FOREGROUND);
        }
    };

    TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(viewer, h);
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(viewer);

    int features = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
            | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION;

    TreeViewerEditor.create(viewer, focusCellManager, actSupport, features);

    final TextCellEditor textCellEditor = new TextCellEditor(viewer.getTree());
    final BooleanCellEditor booleanCellEditor = new BooleanCellEditor(viewer.getTree());
    booleanCellEditor.setChangeOnActivation(true);

    TreeViewerColumn column = null;

    column = createColumnFor(viewer, SWT.NONE, "File");
    column.setLabelProvider(new OwnerDrawLabelProvider() {

        @Override
        protected void measure(Event event, Object element) {

        }

        @Override
        protected void paint(Event event, Object element) {
            ((TreeItem) event.item).setText(element.toString());
        }

    });
    column.setEditingSupport(new MyEditingSupport(viewer, textCellEditor, viewer));

    column = createColumnFor(viewer, SWT.CENTER, "Read");
    column.setLabelProvider(new EmulatedNativeCheckBoxLabelProvider(viewer) {

        @Override
        protected boolean isChecked(Object element) {
            return ((File) element).read;
        }

    });
    column.setEditingSupport(new MyEditingSupport(viewer, textCellEditor, viewer));
    column = createColumnFor(viewer, SWT.CENTER, "Write");
    column.setLabelProvider(new EmulatedNativeCheckBoxLabelProvider(viewer) {

        @Override
        protected boolean isChecked(Object element) {
            return ((File) element).write;
        }

    });
    column.setEditingSupport(new MyEditingSupport(viewer, textCellEditor, viewer));
    column = createColumnFor(viewer, SWT.CENTER, "Execute");
    column.setLabelProvider(new EmulatedNativeCheckBoxLabelProvider(viewer) {

        @Override
        protected boolean isChecked(Object element) {
            return ((File) element).execute;
        }

    });
    column.setEditingSupport(new MyEditingSupport(viewer, textCellEditor, viewer));

    viewer.setContentProvider(new MyContentProvider());
    viewer.setInput(createModel());
}

From source file:org.eclipse.jface.snippets.viewers.Snippet064TreeViewerReplacingElements.java

License:Open Source License

public Snippet064TreeViewerReplacingElements(Shell shell) {
    Random random = new Random();
    final Composite c = new Composite(shell, SWT.NONE);
    c.setLayout(new FillLayout(SWT.VERTICAL));
    Label l = new Label(c, SWT.NONE);
    l.setText(//from  w  ww.j  av  a 2s  .co m
            "The elements are ordered lexicografically, i.e. 11 comes before 2,\nPress q, to rename one root element.\nPress w, to rename one child element.");
    final TreeViewer v = new TreeViewer(c);

    // Every observable in this example gets typed as Object, since the
    // input element is an Object
    List<Object> rootElements = Arrays.asList("root 1", "root 2", "root 3");
    Object input = new Object();
    AtomicReference<IObservableList<Object>> recentlyCreatedChildList = new AtomicReference<>();
    final IObservableList<Object> rootElementList = new WritableList<>(
            DisplayRealm.getRealm(shell.getDisplay()), Arrays.asList(rootElements), String.class);
    ITreeContentProvider contentProvider = new ObservableListTreeContentProvider<>(target -> {
        if (target == input)
            return rootElementList;
        if (target.toString().startsWith("root")) {
            recentlyCreatedChildList.set(new WritableList<>(DisplayRealm.getRealm(shell.getDisplay()),
                    Arrays.asList("child 1", "child 2"), String.class));
            return recentlyCreatedChildList.get();
        }
        return null;
    }, null);
    v.setContentProvider(contentProvider);
    v.setComparator(new ViewerComparator());
    v.setInput(input);
    v.getTree().addKeyListener(new KeyAdapter() {
        @Override
        public void keyPressed(KeyEvent e) {
            // don't use 'r' and 'c', because they would iterate through the
            // root... / child... elements
            if (e.character == 'q') {
                rootElementList.set(0, "root " + random.nextInt());
            }
            if (e.character == 'w') {
                IObservableList<Object> childElementsList = recentlyCreatedChildList.get();
                if (childElementsList != null) {
                    childElementsList.set(0, "child " + random.nextInt());
                } else {
                    System.out.println("no children list present");
                }
            }
        }
    });
}

From source file:org.eclipse.jface.snippets.viewers.Snippet067TreeViewerSorted.java

License:Open Source License

public Snippet067TreeViewerSorted(Shell shell, Composite composite) {
    final TreeViewer v = new TreeViewer(shell);
    v.setLabelProvider(new LabelProvider());
    v.setComparator(new MyComparator());
    v.setContentProvider(new MyContentProvider());
    createColumn(v.getTree(), "Values");
    v.setInput(createModel());//from  ww w  .  j  av a 2 s. c om

    // Combo
    FormData comboFormData = new FormData(300, 50);
    comboFormData.left = new FormAttachment(0, 30);
    comboFormData.right = new FormAttachment(100, -30);
    comboFormData.bottom = new FormAttachment(100, -30);

    Combo changeSortingCombo = new Combo(composite, SWT.READ_ONLY);
    changeSortingCombo.setToolTipText("Change Sorting Method");
    changeSortingCombo.setLayoutData(comboFormData);
    changeSortingCombo.add("Sort Method: Descending by Population");
    changeSortingCombo.add("Sort Method: Comparator (Categories)");
    changeSortingCombo.select(0);

    changeSortingCombo.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            int selectedIndex = changeSortingCombo.getSelectionIndex();
            if (selectedIndex == 0) {
                v.setComparator(new MyComparator());
                v.setLabelProvider(new DefaultLabelProvider());
            } else if (selectedIndex == 1) {
                v.setComparator(new MyCategoryComparator());
                v.setLabelProvider(new MyLabelProvider());
            }
            v.update(v, null);
            shell.layout(true, true);

        }
    });

    // Category Legend
    Composite legendComposite = new Composite(composite, SWT.NONE);
    final TableViewer legendV = new TableViewer(legendComposite);
    FormData legendFormData = new FormData(300, 300);
    legendFormData.right = new FormAttachment(100, -30);
    legendFormData.left = new FormAttachment(0, 30);
    legendFormData.top = new FormAttachment(0, 30);
    legendFormData.bottom = new FormAttachment(changeSortingCombo, -30);

    legendComposite.setLayoutData(legendFormData);
    legendComposite.setLayout(new FillLayout());
    legendV.setLabelProvider(new LegendLabelProvider());
    legendV.setContentProvider(ArrayContentProvider.getInstance());
    final String[] legendCategories = { "Population > 1,000,000", "Population > 500,000",
            "Population > 250,000", "Population > 50,000", "Population > 25,000", "Population > 5000",
            "Population <= 5000" };
    legendV.setInput(legendCategories);
    legendV.update(legendV, null);

    // Legend label
    Label legendLabel = new Label(composite, SWT.BORDER);
    legendLabel.setSize(50, 25);
    legendLabel.setText("Legend");
    FormData labelFormData = new FormData(50, 25);
    labelFormData.bottom = new FormAttachment(legendComposite, 0);
    labelFormData.right = new FormAttachment(legendComposite, 300);
    legendLabel.setLayoutData(labelFormData);

}

From source file:org.eclipse.jpt.common.ui.tests.internal.jface.DelegatingTreeContentProviderUiTest.java

License:Open Source License

private TreeViewer buildTreePanel(Composite parent, String labelText, ITreeContentProvider contentProvider,
        ILabelProvider labelProvider) {//from  w w w.  jav  a 2 s . co  m
    Composite panel = new Composite(parent, SWT.NONE);
    panel.setLayoutData(new GridData(GridData.FILL_BOTH));
    panel.setLayout(new GridLayout());

    Label label = new Label(panel, SWT.LEFT);
    label.setLayoutData(new GridData(GridData.BEGINNING, GridData.CENTER, false, false));
    label.setText(labelText);

    final TreeViewer tree = new TreeViewer(panel, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    tree.getTree().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
    tree.setContentProvider(contentProvider);
    tree.setLabelProvider(labelProvider);
    tree.setInput(this.root);

    return tree;
}

From source file:org.eclipse.jpt.jpa.ui.internal.wizards.SelectMappingFileDialog.java

License:Open Source License

@Override
protected TreeViewer createTreeViewer(Composite parent) {
    TreeViewer treeViewer = super.createTreeViewer(parent);
    this.treeWidget = treeViewer.getTree();
    return treeViewer;
}

From source file:org.eclipse.jubula.client.ui.controllers.TreeViewContainerGUIController.java

License:Open Source License

/**
 * collapse or expand the give TreeViewer
 * /*from w  w  w . j a  v  a  2  s  . c o  m*/
 * @param treeCont
 *            ITreeViewerContainer
 */
public static void collapseExpandTree(ITreeViewerContainer treeCont) {
    TreeViewer tv = treeCont.getTreeViewer();
    try {
        tv.getTree().setRedraw(false);
        tv.collapseAll();
        int autoExpandLevel = tv.getAutoExpandLevel();
        tv.expandToLevel(autoExpandLevel);
    } finally {
        tv.getTree().setRedraw(true);
    }
}

From source file:org.eclipse.jubula.client.ui.rcp.businessprocess.UINodeBP.java

License:Open Source License

/**
 * sets the given selection in the given TreeViewer and also gives the given
 * tree viewer focus/*from ww  w.jav a2 s  .  c  o  m*/
 * 
 * @param sel
 *            the selection to set
 * @param tv
 *            the tree viewer to use
 */
public static void setFocusAndSelection(ISelection sel, TreeViewer tv) {
    tv.getTree().setFocus();
    tv.setSelection(sel, true);
}

From source file:org.eclipse.jubula.client.ui.rcp.editors.CentralTestDataEditor.java

License:Open Source License

/**
 * @param mainTreeViewer//from w ww  .  ja  v  a  2 s  .com
 *            the tree viewer
 */
private void addFocusListener(TreeViewer mainTreeViewer) {
    mainTreeViewer.getTree().addFocusListener(new FocusAdapter() {
        /** {@inheritDoc} */
        public void focusGained(FocusEvent e) {
            getMainTreeViewer().setSelection(getMainTreeViewer().getSelection(), true);
        }
    });
}

From source file:org.eclipse.jubula.client.ui.rcp.editors.ObjectMappingMultiPageEditor.java

License:Open Source License

/**
 * Creates and returns a tree viewer suitable for use in the split pane 
 * view./* w  ww .j av a2  s  . com*/
 * 
 * @param parent The parent composite for the viewer.
 * @param title the title to display for the viewer.
 * @param topLevelCategory The input for the viewer.
 * @param contextMenuMgr The manager for the context menu for the created
 *                       tree.
 * @return the created viewer.
 */
private TreeViewer createSplitPaneViewer(Composite parent, String title,
        IObjectMappingCategoryPO topLevelCategory, MenuManager contextMenuMgr) {

    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout());
    Label titleLabel = new Label(composite, SWT.NONE);
    titleLabel.setText(I18n.getString(title));
    titleLabel.setLayoutData(GridDataFactory.defaultsFor(titleLabel).create());

    final TreeViewer viewer = new TreeViewer(composite);

    viewer.getTree().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    setProviders(viewer, getCompNameCache());
    viewer.setUseHashlookup(true);
    viewer.setComparator(new ObjectMappingTreeSorter());
    viewer.setComparer(new PersistentObjectComparer());
    viewer.setInput(topLevelCategory);

    Transfer[] transfers = new Transfer[] { org.eclipse.jface.util.LocalSelectionTransfer.getTransfer() };
    viewer.addDragSupport(DND.DROP_MOVE, transfers, new LimitingDragSourceListener(viewer, getAut()));
    viewer.addDropSupport(DND.DROP_MOVE, transfers, new OMDropTargetListener(this, viewer));

    createTreeContextMenu(viewer, contextMenuMgr);

    DialogUtils.setWidgetName(viewer.getTree(), title);

    IFocusService focusService = getSite().getService(IFocusService.class);

    focusService.addFocusTracker(viewer.getTree(), title);
    viewer.getTree().addFocusListener(new FocusAdapter() {
        public void focusGained(FocusEvent e) {
            m_activeTreeViewer = viewer;
        }
    });

    return viewer;
}