Example usage for org.eclipse.jface.viewers TreeViewerColumn getColumn

List of usage examples for org.eclipse.jface.viewers TreeViewerColumn getColumn

Introduction

In this page you can find the example usage for org.eclipse.jface.viewers TreeViewerColumn getColumn.

Prototype

public TreeColumn getColumn() 

Source Link

Usage

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

License:Open Source License

private ColumnViewer createViewer(String description, Composite parent, CellLabelProvider labelProvider1,
        CellLabelProvider labelProvider2) {

    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
    composite.setLayout(new GridLayout(1, true));

    Label label = new Label(composite, SWT.NONE);
    label.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false));
    label.setText(description);/*from ww w  . j a va2s .c o  m*/

    TreeViewer treeViewer = new TreeViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    treeViewer.getTree().setHeaderVisible(true);
    treeViewer.setContentProvider(new FileSystemContentProvider());

    TreeViewerColumn tvc1 = new TreeViewerColumn(treeViewer, SWT.NONE);
    tvc1.getColumn().setText("Name"); //$NON-NLS-1$
    tvc1.getColumn().setWidth(200);
    tvc1.setLabelProvider(labelProvider1);

    TreeViewerColumn tvc2 = new TreeViewerColumn(treeViewer, SWT.NONE);
    tvc2.getColumn().setText("Date Modified"); //$NON-NLS-1$
    tvc2.getColumn().setWidth(200);
    tvc2.setLabelProvider(labelProvider2);

    GridData data = new GridData(GridData.FILL, GridData.FILL, true, true);
    treeViewer.getControl().setLayoutData(data);

    treeViewer.setInput(new FileSystemRoot());

    return treeViewer;
}

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

License:Open Source License

public Snippet053StartEditorWithContextMenu(Shell shell) {
    viewer = new TreeViewer(shell, SWT.BORDER);
    viewer.setContentProvider(new MyContentProvider());

    TreeViewerColumn viewerColumn = new TreeViewerColumn(viewer, SWT.NONE);
    viewerColumn.getColumn().setWidth(200);

    viewerColumn.setEditingSupport(new MyEditingSupport(viewer));
    viewerColumn.setLabelProvider(new ColumnLabelProvider());

    TreeViewerEditor.create(viewer, new ColumnViewerEditorActivationStrategy(viewer) {
        @Override//from  w  w  w  .  ja va2s .  c o m
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    }, ColumnViewerEditor.DEFAULT);

    Menu menu = new Menu(viewer.getControl());
    MenuItem renameItem = new MenuItem(menu, SWT.PUSH);
    renameItem.addSelectionListener(this);
    renameItem.setText("Rename");
    viewer.getTree().setMenu(menu);

    viewer.setInput(createModel());
}

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

License:Open Source License

public Snippet055HideShowColumn(final Shell shell) {
    final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
    v.getTree().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));
    v.getTree().setLinesVisible(true);//from   w  w  w .  j av  a  2  s  . c  om
    v.getTree().setHeaderVisible(true);

    TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(v,
            new FocusCellOwnerDrawHighlighter(v));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) {
        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.keyCode == SWT.CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

    TreeViewerEditor.create(v, focusCellManager, actSupport,
            ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
                    | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION);

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

    createColumnFor(v, "Column 1", textCellEditor);
    final TreeViewerColumn column_2 = createColumnFor(v, "Column 2", textCellEditor);
    createColumnFor(v, "Column 3", textCellEditor);

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

    Button b = createButtonFor(shell, "Edit-Element");
    b.addSelectionListener(new SelectionAdapter() {

        @Override
        public void widgetSelected(SelectionEvent e) {
            MyModel root = (MyModel) v.getInput();
            TreePath path = new TreePath(
                    new Object[] { root, root.child.get(1), root.child.get(1).child.get(0) });
            v.editElement(path, 0);
        }

    });
    b = createButtonFor(shell, "Hide/Show 2nd Column");
    b.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            int width = column_2.getColumn().getWidth();
            column_2.getColumn().setWidth(width == 0 ? 200 : 0);
        }
    });
}

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

License:Open Source License

private TreeViewerColumn createColumnFor(final TreeViewer v, String label, TextCellEditor textCellEditor) {
    TreeViewerColumn column = new TreeViewerColumn(v, SWT.NONE);
    column.getColumn().setWidth(200);
    column.getColumn().setMoveable(true);
    column.getColumn().setText(label);//  ww  w  .ja va  2s  .  co  m
    column.setLabelProvider(new MyColumnLabelProvider(label));
    column.setEditingSupport(new MyEditingSupport(v, v, textCellEditor));
    return column;
}

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

License:Open Source License

private TreeViewerColumn createColumnFor(TreeViewer viewer, int style, String label) {
    TreeViewerColumn column = new TreeViewerColumn(viewer, style);
    column.getColumn().setWidth(200);
    column.getColumn().setMoveable(true);
    column.getColumn().setText(label);//  ww  w .  j  a va2 s . c  om
    return column;
}

From source file:org.eclipse.jubula.client.ui.rcp.views.JBPropertiesPage.java

License:Open Source License

/**
 * Creates a new Tree for this View./*from  ww  w  .j a  v  a 2 s .  c  o  m*/
 * @param parent the parent composite
 */
private void buildTree(Composite parent) {
    GridData layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.grabExcessHorizontalSpace = true;
    Tree tree = new Tree(parent, SWT.BORDER | SWT.HIDE_SELECTION | SWT.FULL_SELECTION);
    tree.setLayoutData(layoutData);
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);
    m_treeViewer = new TreeViewer(tree);
    // add expand/collapse column
    TreeViewerColumn expandCollapseColumn = new TreeViewerColumn(m_treeViewer, SWT.NONE);
    expandCollapseColumn.getColumn().setText(StringConstants.EMPTY);
    expandCollapseColumn.getColumn().setWidth(20);
    expandCollapseColumn.getColumn().setResizable(false);
    expandCollapseColumn.setLabelProvider(new CellLabelProvider() {
        public void update(ViewerCell cell) {
            // Nothing to display. Nothing to update.
        }
    });
    final int width = m_treeViewer.getTree().getParent().getClientArea().width;

    /* We make sure to have an initial size, just in case. */
    final int area = (width <= 100) ? 100 : width;

    // add property name column
    TreeViewerColumn propertyNameColumn = new TreeViewerColumn(m_treeViewer, SWT.NONE);
    propertyNameColumn.getColumn().setText(Messages.JubulaPropertiesViewProperty);
    propertyNameColumn.getColumn().setWidth((int) (width * 0.36));
    propertyNameColumn.setLabelProvider(new PropertyNameLabelProvider());

    // add property value column
    TreeViewerColumn propertyValueColumn = new TreeViewerColumn(m_treeViewer, SWT.NONE);
    propertyValueColumn.getColumn().setText(Messages.JubulaPropertiesViewValue);
    propertyValueColumn.getColumn().setWidth((int) (width * 0.54));
    propertyValueColumn.setLabelProvider(new PropertyValueLabelProvider());
    propertyValueColumn.setEditingSupport(new PropertiesEditingSupport(m_treeViewer));

    m_treeViewer.addSelectionChangedListener(m_helpContextListener);
    m_treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    m_treeViewer.setContentProvider(new PropertiesContentProvider());
    ColumnViewerToolTipSupport.enableFor(m_treeViewer);
    m_treeViewer.setComparer(new PropertiesElementComparer());
    m_focusCellManager = new TreeViewerFocusCellManager(m_treeViewer,
            new FocusCellOwnerDrawHighlighter(m_treeViewer));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(m_treeViewer) {
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.keyCode == SWT.CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };
    TreeViewerEditor.create(m_treeViewer, m_focusCellManager, actSupport, ColumnViewerEditor.TABBING_VERTICAL
            | ColumnViewerEditor.KEYBOARD_ACTIVATION | ColumnViewerEditor.KEEP_EDITOR_ON_DOUBLE_CLICK);
}

From source file:org.eclipse.jubula.client.ui.rcp.views.JBPropertiesView.java

License:Open Source License

/**
 * Creates a new Tree for this View./*from  w  ww .ja v  a  2s.  c o  m*/
 * @param parent the parent composite
 */
private void buildTree(Composite parent) {
    GridData layoutData = new GridData(GridData.FILL_BOTH);
    layoutData.grabExcessHorizontalSpace = true;
    Tree tree = new Tree(parent, SWT.BORDER | SWT.HIDE_SELECTION | SWT.FULL_SELECTION);
    tree.setLayoutData(layoutData);
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);
    m_treeViewer = new TreeViewer(tree);

    // add expand/collapse column
    TreeViewerColumn expandCollapseColumn = new TreeViewerColumn(m_treeViewer, SWT.NONE);
    expandCollapseColumn.getColumn().setText(StringConstants.EMPTY);
    expandCollapseColumn.getColumn().setWidth(20);
    expandCollapseColumn.getColumn().setResizable(false);
    expandCollapseColumn.setLabelProvider(new CellLabelProvider() {

        public void update(ViewerCell cell) {
            // Nothing to display. Nothing to update.
        }
    });

    // add property name column
    TreeViewerColumn propertyNameColumn = new TreeViewerColumn(m_treeViewer, SWT.NONE);
    propertyNameColumn.getColumn().setText(Messages.JubulaPropertiesViewProperty);
    propertyNameColumn.getColumn().setWidth(175);
    propertyNameColumn.setLabelProvider(new PropertyNameLabelProvider());

    // add property value column
    TreeViewerColumn propertyValueColumn = new TreeViewerColumn(m_treeViewer, SWT.NONE);
    propertyValueColumn.getColumn().setText(Messages.JubulaPropertiesViewValue);
    propertyValueColumn.getColumn().setWidth(300);
    propertyValueColumn.setLabelProvider(new PropertyValueLabelProvider());
    propertyValueColumn.setEditingSupport(new PropertiesEditingSupport(m_treeViewer));

    m_treeViewer.addSelectionChangedListener(m_helpContextListener);

    m_treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
    m_treeViewer.setContentProvider(new PropertiesContentProvider());
    ColumnViewerToolTipSupport.enableFor(m_treeViewer);

    m_treeViewer.setComparer(new PropertiesElementComparer());

    m_focusCellManager = new TreeViewerFocusCellManager(m_treeViewer,
            new FocusCellOwnerDrawHighlighter(m_treeViewer));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(m_treeViewer) {
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.keyCode == SWT.CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

    TreeViewerEditor.create(m_treeViewer, m_focusCellManager, actSupport, ColumnViewerEditor.TABBING_VERTICAL
            | ColumnViewerEditor.KEYBOARD_ACTIVATION | ColumnViewerEditor.KEEP_EDITOR_ON_DOUBLE_CLICK);
}

From source file:org.eclipse.linuxtools.internal.valgrind.cachegrind.CachegrindViewPart.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    Composite top = new Composite(parent, SWT.NONE);
    GridLayout topLayout = new GridLayout();
    topLayout.marginHeight = topLayout.marginWidth = 0;
    top.setLayout(topLayout);//from   ww w.  ja  v a  2  s.c  om
    top.setLayoutData(new GridData(GridData.FILL_BOTH));

    viewer = new TreeViewer(top, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);

    labelProvider = new CachegrindLabelProvider();

    Tree tree = viewer.getTree();
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);
    tree.setLayoutData(new GridData(GridData.FILL_BOTH));

    TreeViewerColumn column = new TreeViewerColumn(viewer, SWT.NONE);
    column.getColumn().setText(Messages.getString("CachegrindViewPart.Location")); //$NON-NLS-1$
    column.getColumn().setWidth(COLUMN_SIZE * 4);
    column.getColumn().setResizable(true);
    column.getColumn().addSelectionListener(getHeaderListener());
    column.setLabelProvider(labelProvider);

    contentProvider = new CachegrindTreeContentProvider();
    viewer.setContentProvider(contentProvider);
    viewer.setLabelProvider(labelProvider);
    viewer.setAutoExpandLevel(2);
    doubleClickListener = new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            Object selection = ((StructuredSelection) event.getSelection()).getFirstElement();
            String path = null;
            int line = 0;
            if (selection instanceof CachegrindFile) {
                path = ((CachegrindFile) selection).getPath();
            } else if (selection instanceof CachegrindLine) {
                CachegrindLine element = (CachegrindLine) selection;
                CachegrindFile file = (CachegrindFile) element.getParent().getParent();
                path = file.getPath();
                line = element.getLine();
            } else if (selection instanceof CachegrindFunction) {
                CachegrindFunction function = (CachegrindFunction) selection;
                path = ((CachegrindFile) function.getParent()).getPath();
                if (function.getModel() instanceof ISourceReference) {
                    ISourceReference model = (ISourceReference) function.getModel();
                    try {
                        ISourceRange sr = model.getSourceRange();
                        if (sr != null) {
                            line = sr.getStartLine();
                        }
                    } catch (CModelException e) {
                        e.printStackTrace();
                    }
                }
            }
            if (path != null) {
                try {
                    ProfileUIUtils.openEditorAndSelect(path, line);
                } catch (PartInitException e) {
                    e.printStackTrace();
                } catch (BadLocationException e) {
                    e.printStackTrace();
                }
            }
        }
    };
    viewer.addDoubleClickListener(doubleClickListener);

    expandAction = new ExpandAction(viewer);
    collapseAction = new CollapseAction(viewer);

    MenuManager manager = new MenuManager();
    manager.addMenuListener(new IMenuListener() {
        public void menuAboutToShow(IMenuManager manager) {
            ITreeSelection selection = (ITreeSelection) viewer.getSelection();
            ICachegrindElement element = (ICachegrindElement) selection.getFirstElement();
            if (contentProvider.hasChildren(element)) {
                manager.add(expandAction);
                manager.add(collapseAction);
            }
        }
    });

    manager.setRemoveAllWhenShown(true);
    Menu contextMenu = manager.createContextMenu(viewer.getTree());
    viewer.getControl().setMenu(contextMenu);
}

From source file:org.eclipse.linuxtools.internal.valgrind.cachegrind.CachegrindViewPart.java

License:Open Source License

public void refreshView() {
    if (outputs != null && outputs.length > 0) {
        String[] events = outputs[0].getEvents();
        for (int i = 0; i < events.length; i++) {
            TreeViewerColumn column = new TreeViewerColumn(viewer, SWT.NONE);
            column.getColumn().setText(events[i]);
            column.getColumn().setWidth(COLUMN_SIZE);
            column.getColumn().setToolTipText(getFullEventName(events[i]));
            column.getColumn().setResizable(true);
            column.getColumn().addSelectionListener(getHeaderListener());
            column.setLabelProvider(labelProvider);
        }//from ww w .jav a 2s  . c  o  m
        viewer.setInput(outputs);
        viewer.getTree().layout(true);
    }
}

From source file:org.eclipse.linuxtools.lttng.ui.views.statistics.StatisticsView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    parent.setLayout(new FillLayout());

    treeViewer = new TreeViewer(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    treeViewer.setContentProvider(new TreeContentProvider());
    treeViewer.getTree().setHeaderVisible(true);
    treeViewer.setUseHashlookup(true);/*from w  ww .j  a  v a2 s .  c o m*/

    for (final ColumnData columnData : columnDataList) {
        final TreeViewerColumn treeColumn = new TreeViewerColumn(treeViewer, columnData.alignment);
        treeColumn.getColumn().setText(columnData.header);
        treeColumn.getColumn().setWidth(columnData.width);
        treeColumn.getColumn().setToolTipText(columnData.tooltip);
        if (columnData.comparator != null) {
            treeColumn.getColumn().addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    if (treeViewer.getTree().getSortDirection() == SWT.UP
                            || treeViewer.getTree().getSortColumn() != treeColumn.getColumn()) {
                        treeViewer.setComparator(columnData.comparator);
                        treeViewer.getTree().setSortDirection(SWT.DOWN);
                    } else {
                        treeViewer.setComparator(new ViewerComparator() {
                            @Override
                            public int compare(Viewer viewer, Object e1, Object e2) {
                                return -1 * columnData.comparator.compare(viewer, e1, e2);
                            }
                        });
                        treeViewer.getTree().setSortDirection(SWT.UP);
                    }
                    treeViewer.getTree().setSortColumn(treeColumn.getColumn());
                }
            });
        }
        treeColumn.setLabelProvider(columnData.labelProvider);
    }

    // Handler that will draw the bar charts.
    treeViewer.getTree().addListener(SWT.EraseItem, new Listener() {
        // @Override
        @Override
        public void handleEvent(Event event) {
            if (columnDataList[event.index].percentageProvider != null) {
                StatisticsTreeNode node = (StatisticsTreeNode) event.item.getData();

                double percentage = columnDataList[event.index].percentageProvider.getPercentage(node);
                if (percentage == 0) {
                    return;
                }

                if ((event.detail & SWT.SELECTED) > 0) {
                    Color oldForeground = event.gc.getForeground();
                    event.gc.setForeground(event.item.getDisplay().getSystemColor(SWT.COLOR_LIST_SELECTION));
                    event.gc.fillRectangle(event.x, event.y, event.width, event.height);
                    event.gc.setForeground(oldForeground);
                    event.detail &= ~SWT.SELECTED;
                }

                int barWidth = (int) ((treeViewer.getTree().getColumn(1).getWidth() - 8) * percentage);
                int oldAlpha = event.gc.getAlpha();
                Color oldForeground = event.gc.getForeground();
                Color oldBackground = event.gc.getBackground();
                event.gc.setAlpha(64);
                event.gc.setForeground(event.item.getDisplay().getSystemColor(SWT.COLOR_BLUE));
                event.gc.setBackground(event.item.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));
                event.gc.fillGradientRectangle(event.x, event.y, barWidth, event.height, true);
                event.gc.drawRectangle(event.x, event.y, barWidth, event.height);
                event.gc.setForeground(oldForeground);
                event.gc.setBackground(oldBackground);
                event.gc.setAlpha(oldAlpha);
                event.detail &= ~SWT.BACKGROUND;
            }
        }
    });

    treeViewer.setComparator(columnDataList[0].comparator);
    treeViewer.getTree().setSortColumn(treeViewer.getTree().getColumn(0));
    treeViewer.getTree().setSortDirection(SWT.DOWN);

    // Read current data if any available
    TmfExperiment<?> experiment = TmfExperiment.getCurrentExperiment();
    if (experiment != null) {

        @SuppressWarnings({ "rawtypes", "unchecked" })
        TmfExperimentSelectedSignal<?> signal = new TmfExperimentSelectedSignal(this, experiment);
        experimentSelected(signal);

    } else {
        TraceDebug.debug("No selected experiment information available"); //$NON-NLS-1$
    }
}