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

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

Introduction

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

Prototype

public TreeViewerColumn(TreeViewer viewer, TreeColumn column) 

Source Link

Document

Creates a new viewer column for the given TreeViewer on the given TreeColumn .

Usage

From source file:Snippet048TreeViewerTabWithCheckboxFor3_3.java

License:Open Source License

public Snippet048TreeViewerTabWithCheckboxFor3_3(final Shell shell) {
    final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
    v.getTree().setLinesVisible(true);//from   w w w  .j a  v a  2  s . c  o  m
    v.getTree().setHeaderVisible(true);

    final TreeViewerFocusCellManager mgr = new TreeViewerFocusCellManager(v,
            new FocusCellOwnerDrawHighlighter(v));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) {
        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.character == ' '))
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

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

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

    TreeViewerColumn column = new TreeViewerColumn(v, SWT.NONE);
    column.getColumn().setWidth(200);
    column.getColumn().setMoveable(true);
    column.getColumn().setText("Column 1");
    column.setLabelProvider(new ColumnLabelProvider() {

        public String getText(Object element) {
            return "Column 1 => " + element.toString();
        }

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

        protected CellEditor getCellEditor(Object element) {
            return textCellEditor;
        }

        protected Object getValue(Object element) {
            return ((MyModel) element).counter + "";
        }

        protected void setValue(Object element, Object value) {
            ((MyModel) element).counter = Integer.parseInt(value.toString());
            v.update(element, null);
        }
    });

    column = new TreeViewerColumn(v, SWT.NONE);
    column.getColumn().setWidth(200);
    column.getColumn().setMoveable(true);
    column.getColumn().setText("Column 2");
    column.setLabelProvider(new ColumnLabelProvider() {

        public String getText(Object element) {
            return "Column 2 => " + element.toString();
        }

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

        protected CellEditor getCellEditor(Object element) {
            return textCellEditor;
        }

        protected Object getValue(Object element) {
            return ((MyModel) element).counter + "";
        }

        protected void setValue(Object element, Object value) {
            ((MyModel) element).counter = Integer.parseInt(value.toString());
            v.update(element, null);
        }
    });

    column = new TreeViewerColumn(v, SWT.NONE);
    column.getColumn().setWidth(200);
    column.getColumn().setMoveable(true);
    column.getColumn().setText("Column 3");
    column.setLabelProvider(new ColumnLabelProvider() {

        public String getText(Object element) {
            return ((MyModel) element).bool + "";
        }

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

        protected CellEditor getCellEditor(Object element) {
            return checkboxCellEditor;
        }

        protected Object getValue(Object element) {
            return new Boolean(((MyModel) element).bool);
        }

        protected void setValue(Object element, Object value) {
            ((MyModel) element).bool = ((Boolean) value).booleanValue();
            v.update(element, null);
        }
    });

    v.setContentProvider(new MyContentProvider());
    v.setInput(createModel());
    v.getControl().addTraverseListener(new TraverseListener() {

        public void keyTraversed(TraverseEvent e) {
            if ((e.detail == SWT.TRAVERSE_TAB_NEXT || e.detail == SWT.TRAVERSE_TAB_PREVIOUS)
                    && mgr.getFocusCell().getColumnIndex() == 2) {
                ColumnViewerEditor editor = v.getColumnViewerEditor();
                ViewerCell cell = mgr.getFocusCell();

                try {
                    Method m = ColumnViewerEditor.class.getDeclaredMethod("processTraverseEvent",
                            new Class[] { int.class, ViewerRow.class, TraverseEvent.class });
                    m.setAccessible(true);
                    m.invoke(editor,
                            new Object[] { new Integer(cell.getColumnIndex()), cell.getViewerRow(), e });
                } catch (SecurityException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                } catch (NoSuchMethodException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                } catch (IllegalArgumentException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                } catch (IllegalAccessException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                } catch (InvocationTargetException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }
            }
        }

    });
}

From source file:amltransformation.composites.InternalTreeTableComposite.java

License:Open Source License

private void addConfigurableColumn(final Tree tree) {
    secondColumn = new TreeColumn(tree, SWT.RIGHT | SWT.CHECK, 1);
    secondColumn.setAlignment(SWT.LEFT);
    secondColumn.setText("Transformable");
    secondColumn.setWidth(150);//  ww w. j  a  v  a 2s  .com
    TreeViewerColumn treeViewerColumn = new TreeViewerColumn(viewer, secondColumn);

    treeViewerColumn.setLabelProvider(new TransformableColumnProvider());
    createMenuItem(headerMenu, secondColumn);
}

From source file:amltransformation.composites.InternalTreeTableComposite.java

License:Open Source License

private void addRoleColumn(final Tree tree) {

    TreeColumn column = new TreeColumn(tree, SWT.RIGHT | SWT.CHECK, 2);
    column.setAlignment(SWT.LEFT);/*from   w  ww .  jav  a 2  s.  co  m*/
    column.setText("Assigned Roles");
    column.setWidth(150);
    TreeViewerColumn treeViewerColumn = new TreeViewerColumn(viewer, column);

    treeViewerColumn.setLabelProvider(new TransformableColumnRoleProvider());
    createMenuItem(headerMenu, column);
}

From source file:amltransformation.composites.InternalTreeTableComposite.java

License:Open Source License

private void addSupportedRolesColumn(final Tree tree) {

    TreeColumn column = new TreeColumn(tree, SWT.RIGHT | SWT.CHECK, 3);
    column.setAlignment(SWT.LEFT);/*from   w  w w.j  av  a  2  s.  co m*/
    column.setText("Supported Roles");
    column.setWidth(150);
    TreeViewerColumn treeViewerColumn = new TreeViewerColumn(viewer, column);

    treeViewerColumn.setLabelProvider(new TransformableColumnSupportedRoleProvider());
    createMenuItem(headerMenu, column);
}

From source file:amltransformation.composites.InternalTreeTableComposite.java

License:Open Source License

private void addAttributesColumn(final Tree tree) {
    TreeColumn column = new TreeColumn(tree, SWT.RIGHT | SWT.CHECK, 4);
    column.setAlignment(SWT.LEFT);// ww  w  .ja va2 s  .com
    column.setText("Attributes");
    column.setWidth(250);
    TreeViewerColumn treeViewerColumn = new TreeViewerColumn(viewer, column);

    treeViewerColumn.setLabelProvider(new TransformableColumnAttributeProvider());
    createMenuItem(headerMenu, column);
}

From source file:amltransformation.composites.RoleTreeTableComposite.java

License:Open Source License

protected void addColumn(final Tree tree) {
    secondColumn = new TreeColumn(tree, SWT.RIGHT | SWT.CHECK, 1);
    secondColumn.setAlignment(SWT.LEFT);
    secondColumn.setText("Transformable");
    secondColumn.setWidth(150);//w  w w  .  ja va  2 s. co  m
    TreeViewerColumn treeViewerColumn = new TreeViewerColumn(viewer, secondColumn);

    treeViewerColumn.setLabelProvider(new TransformableColumnProvider());
}

From source file:ar.com.fluxit.jqa.wizard.page.CommonsTypesDefinitionWizardPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NULL);
    GridLayout layout = new GridLayout();
    layout.numColumns = 1;//from   w ww  . jav  a2s . c o  m
    container.setLayout(layout);

    Tree commonTypesTree = new Tree(container, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    commonTypesTree.setHeaderVisible(true);
    commonTypesTree.setLinesVisible(true);
    commonTypesTree.setLayoutData(new GridData(GridData.FILL_BOTH));
    commonTypesTreeViewer = new TreeViewer(commonTypesTree);

    TreeViewerColumn layerColumn = new TreeViewerColumn(commonTypesTreeViewer, SWT.LEFT);
    layerColumn.getColumn().setText("Layer/Types");
    layerColumn.getColumn().setWidth(400);

    final CellEditor checkboxCellEditor = new CheckboxCellEditor();
    TreeViewerColumn commonTypeColumn = new TreeViewerColumn(commonTypesTreeViewer, SWT.LEFT);
    commonTypeColumn.getColumn().setText("Is common?");
    commonTypeColumn.getColumn().setWidth(50);
    commonTypeColumn.setEditingSupport(new EditingSupport(commonTypesTreeViewer) {

        @Override
        protected boolean canEdit(Object arg0) {
            return true;
        }

        @Override
        protected CellEditor getCellEditor(Object arg0) {
            return checkboxCellEditor;
        }

        @Override
        protected Object getValue(Object arg0) {
            return ((CommonDescriptor) arg0).isCommon();
        }

        @Override
        protected void setValue(Object arg0, Object arg1) {
            ((CommonDescriptor) arg0).setCommon((Boolean) arg1);
            commonTypesTreeViewer.update(arg0, null);
        }
    });

    commonTypesTreeViewer.setContentProvider(new CommonTypesContentProvider());
    commonTypesTreeViewer.setLabelProvider(new CommonTypesLabelProvider());
    commonTypesTreeViewer.setInput(getArchitectureDescriptor());
    commonTypesTreeViewer.expandAll();
    commonTypesTreeViewer.addFilter(new ViewerFilter() {

        @Override
        public boolean select(Viewer arg0, Object arg1, Object arg2) {
            if (arg2 instanceof LayerDescriptor) {
                return !((LayerDescriptor) arg2).getCommons().isEmpty();
            } else {
                return true;
            }
        }
    });

    setControl(container);
    ((WizardDialog) getContainer()).addPageChangedListener(this);
}

From source file:at.bitandart.zoubek.mervin.patchset.history.PatchSetHistoryTreeUpdater.java

License:Open Source License

/**
 * creates a new column in the given tree viewer that contains the history
 * value for the given patch set.//www  . j a  va 2 s .  co  m
 * 
 * @param historyTreeViewer
 *            the {@link TreeViewer} that should contain the color.
 * @param patchSet
 *            the {@link PatchSet} associated with this column.
 * @return the created column
 */
private TreeViewerColumn createColumnForPatchSet(TreeViewer historyTreeViewer, PatchSet patchSet) {
    TreeViewerColumn column = new TreeViewerColumn(historyTreeViewer, SWT.NONE);
    column.getColumn().setResizable(true);
    column.getColumn().setMoveable(true);
    column.getColumn().setText(patchSet.getId());
    column.getColumn().setWidth(50);

    // TODO make color configurable
    PatchSetSimilarityHistoryLabelProvider labelProvider = new PatchSetSimilarityHistoryLabelProvider(patchSet,
            new HSB(205.0f, 0.f, 1.0f), new HSB(205.0f, 0.59f, 0.32f),
            Display.getCurrent().getSystemColor(SWT.COLOR_WHITE),
            Display.getCurrent().getSystemColor(SWT.COLOR_BLACK));
    column.setLabelProvider(labelProvider);

    column.getColumn().addSelectionListener(
            new ThreeWayLabelTreeViewerComparator(historyTreeViewer, column, labelProvider));

    return column;

}

From source file:at.bitandart.zoubek.mervin.patchset.history.PatchSetHistoryView.java

License:Open Source License

@PostConstruct
public void postConstruct(Composite parent, EModelService modelService, MPart part) {

    syncMenuAndToolbarItemState(modelService, part);

    initializeColors();/*from  w w w  .  j  av a2  s .co m*/
    highlightStyler = new HighlightStyler(display);

    mainPanel = new Composite(parent, SWT.NONE);
    mainPanel.setLayout(new GridLayout());

    // progress information panel

    progressPanel = new ProgressPanel(mainPanel, SWT.BORDER);
    progressPanel.setBackground(progressBackgroundColor);
    progressPanel.setForeground(progressForegroundColor);
    progressPanel.setVisible(false);
    progressPanel.setLayout(new GridLayout());
    GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, false);
    gridData.exclude = true;
    progressPanel.setLayoutData(gridData);

    // initialize tree viewer

    historyTreeViewer = new TreeViewer(mainPanel, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
    historyTreeViewer.setComparator(new ViewerComparator());
    historyTreeViewer.setContentProvider(new PatchSetHistoryContentProvider());
    historyTreeViewer.addSelectionChangedListener(new HighlightSelectionListener(this));
    Tree histroryTree = historyTreeViewer.getTree();
    histroryTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    histroryTree.setLinesVisible(false);
    histroryTree.setHeaderVisible(true);
    histroryTree.addMouseTrackListener(new HighlightHoveredTreeItemMouseTracker(this));

    // set up all columns of the tree

    labelColumn = new TreeViewerColumn(historyTreeViewer, SWT.NONE);
    labelColumn.getColumn().setResizable(true);
    labelColumn.getColumn().setMoveable(true);
    labelColumn.getColumn().setText("Diff");
    labelColumn.getColumn().setWidth(400);

    DiffNameColumnLabelProvider labelColumnLabelProvider = new DiffNameColumnLabelProvider();
    labelColumn.setLabelProvider(labelColumnLabelProvider);
    labelColumn.getColumn().addSelectionListener(
            new ThreeWayObjectTreeViewerComparator(historyTreeViewer, labelColumn, labelColumnLabelProvider));

    viewInitialized = true;

    // refresh the viewer highlights if highlighting is requested
    highlightService.addHighlightServiceListener(new IReviewHighlightServiceListener() {

        @Override
        public void elementRemoved(ModelReview review, Object element) {

            historyTreeViewer.refresh();

        }

        @Override
        public void elementAdded(ModelReview review, Object element) {

            historyTreeViewer.refresh();

        }
    });
}

From source file:at.bitandart.zoubek.mervin.review.ReviewExplorer.java

License:Open Source License

@PostConstruct
public void postConstruct(Composite parent, EModelService modelService, MPart part) {

    syncMenuAndToolbarItemState(modelService, part);

    highlightStyler = new HighlightStyler(display);

    mainPanel = new Composite(parent, SWT.NONE);
    mainPanel.setLayout(new GridLayout());

    // initialize tree viewer

    reviewTreeViewer = new TreeViewer(mainPanel, SWT.SINGLE | SWT.H_SCROLL | SWT.V_SCROLL);
    reviewTreeViewer.setComparator(new ViewerComparator());
    reviewTreeViewer.setContentProvider(new ModelReviewContentProvider());
    reviewTreeViewer.addSelectionChangedListener(new HighlightSelectionListener(this) {

        @Override//from  www. j  a va2 s. c  om
        public void selectionChanged(SelectionChangedEvent event) {

            super.selectionChanged(event);
            ISelection selection = event.getSelection();
            selectionService.setSelection(selection);
        }
    });

    Tree reviewTree = reviewTreeViewer.getTree();
    reviewTree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    reviewTree.setLinesVisible(false);
    reviewTree.setHeaderVisible(true);
    reviewTree.addMouseTrackListener(new HighlightHoveredTreeItemMouseTracker(this));

    // set up all columns of the tree

    // main label column
    TreeViewerColumn labelColumn = new TreeViewerColumn(reviewTreeViewer, SWT.NONE);
    labelColumn.getColumn().setResizable(true);
    labelColumn.getColumn().setMoveable(true);
    labelColumn.getColumn().setText("Element");
    labelColumn.getColumn().setWidth(200);
    ModelReviewExplorerMainColumnLabelProvider labelColumnLabelProvider = new ModelReviewExplorerMainColumnLabelProvider();
    labelColumn.setLabelProvider(labelColumnLabelProvider);
    labelColumn.getColumn().addSelectionListener(
            new ThreeWayObjectTreeViewerComparator(reviewTreeViewer, labelColumn, labelColumnLabelProvider));

    // change count column
    TreeViewerColumn changeCountColumn = new TreeViewerColumn(reviewTreeViewer, SWT.NONE);
    changeCountColumn.getColumn().setResizable(true);
    changeCountColumn.getColumn().setMoveable(false);
    changeCountColumn.getColumn().setText("#C");
    changeCountColumn.getColumn().setAlignment(SWT.CENTER);
    changeCountColumn.getColumn().setToolTipText("Number of changed elements");
    ChangeCountColumnLabelProvider changeCountColumnLabelProvider = new ChangeCountColumnLabelProvider(
            reviewTreeViewer, Display.getCurrent().getSystemColor(SWT.COLOR_WHITE),
            Display.getCurrent().getSystemColor(SWT.COLOR_BLACK));
    changeCountColumn.setLabelProvider(changeCountColumnLabelProvider);
    changeCountColumn.getColumn().addSelectionListener(new ThreeWayLabelTreeViewerComparator(reviewTreeViewer,
            changeCountColumn, changeCountColumnLabelProvider));

    // reference count column
    TreeViewerColumn refCountColumn = new TreeViewerColumn(reviewTreeViewer, SWT.NONE);
    refCountColumn.getColumn().setResizable(true);
    refCountColumn.getColumn().setMoveable(false);
    refCountColumn.getColumn().setText("#RC");
    refCountColumn.getColumn().setAlignment(SWT.CENTER);
    refCountColumn.getColumn().setToolTipText("Number of references to the tgiven elements");
    ReferencedChangeCountColumnLabelProvider refChangeCountColumnlabelProvider = new ReferencedChangeCountColumnLabelProvider(
            reviewTreeViewer, Display.getCurrent().getSystemColor(SWT.COLOR_WHITE),
            Display.getCurrent().getSystemColor(SWT.COLOR_BLACK));
    refCountColumn.setLabelProvider(refChangeCountColumnlabelProvider);
    refCountColumn.getColumn().addSelectionListener(new ThreeWayLabelTreeViewerComparator(reviewTreeViewer,
            refCountColumn, refChangeCountColumnlabelProvider));

    // the resource column
    TreeViewerColumn resourceColumn = new TreeViewerColumn(reviewTreeViewer, SWT.NONE);
    resourceColumn.getColumn().setResizable(true);
    resourceColumn.getColumn().setMoveable(true);
    resourceColumn.getColumn().setText("Resource");
    resourceColumn.getColumn().setWidth(200);
    ModelReviewExplorerResourceColumnLabelProvider resourceColumnLabelProvider = new ModelReviewExplorerResourceColumnLabelProvider();
    resourceColumn.setLabelProvider(resourceColumnLabelProvider);
    resourceColumn.getColumn().addSelectionListener(new ThreeWayLabelTreeViewerComparator(reviewTreeViewer,
            resourceColumn, resourceColumnLabelProvider));

    // all controls updated, now update them with the given values
    viewInitialized = true;

    // refresh the viewer highlights if highlighting is requested
    highlightService.addHighlightServiceListener(new IReviewHighlightServiceListener() {

        @Override
        public void elementRemoved(ModelReview review, Object element) {

            updatesObjectToHighlight();
            reviewTreeViewer.refresh();

        }

        @Override
        public void elementAdded(ModelReview review, Object element) {

            updatesObjectToHighlight();
            reviewTreeViewer.refresh();

        }
    });

    updateValues();
}