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:com.rcpcompany.uibindings.internal.ColumnBindingImpl.java

License:Open Source License

@Override
public IColumnBinding column(TreeColumn column) {
    assertTrue(column != null, "No column?"); //$NON-NLS-1$
    final ColumnViewer viewer = getViewer();
    assertTrue(viewer instanceof TreeViewer, "A TreeColumn can only be added to a TreeViewer"); //$NON-NLS-1$
    return column(new TreeViewerColumn((TreeViewer) viewer, column));
}

From source file:com.sonatype.buildserver.eclipse.ui.view.JobView.java

License:Open Source License

private void createViewer(Composite parent) {
    viewer = new TreeViewer(parent, SWT.FULL_SELECTION | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);

    tree = viewer.getTree();/*from   ww  w  . ja va2  s . c om*/

    tree.setHeaderVisible(true);

    columnSelectionListener = new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            TreeColumn oldSortColumn = tree.getSortColumn();
            TreeColumn sortColumn = (TreeColumn) e.widget;
            if (sortColumn == oldSortColumn) {
                int sortDirection = tree.getSortDirection();
                tree.setSortDirection(sortDirection == SWT.UP ? SWT.DOWN : SWT.UP);
            } else {
                tree.setSortColumn(sortColumn);
            }
            viewer.refresh();
        }
    };

    statusColumn = new TreeViewerColumn(viewer, SWT.CENTER);
    statusColumn.getColumn().setWidth(40);
    statusColumn.getColumn().setText(Messages.jobView_columns_status);
    statusColumn.getColumn().addSelectionListener(columnSelectionListener);
    statusColumn.setLabelProvider(new JobLabelProvider(JobLabelProvider.STATUS_COLUMN));

    weatherColumn = new TreeViewerColumn(viewer, SWT.CENTER);
    weatherColumn.getColumn().setWidth(30);
    weatherColumn.getColumn().setText(Messages.jobView_columns_weather);
    weatherColumn.getColumn().addSelectionListener(columnSelectionListener);
    weatherColumn.setLabelProvider(new JobLabelProvider(JobLabelProvider.WEATHER_COLUMN));

    nameColumn = new TreeViewerColumn(viewer, SWT.NONE);
    nameColumn.getColumn().setText(Messages.jobView_columns_name);
    nameColumn.getColumn().addSelectionListener(columnSelectionListener);
    nameColumn.setLabelProvider(new JobLabelProvider(JobLabelProvider.NAME_COLUMN));

    if (!HudsonUIActivator.getDefault().getPreferenceStore().getBoolean(HIDE_COLUMN_SERVER)) {
        serverColumn = createServerColumn();
    }

    if (!HudsonUIActivator.getDefault().getPreferenceStore().getBoolean(HIDE_COLUMN_LAST_BUILD)) {
        lastBuildColumn = createLastBuildColumn();
    }

    ColumnViewerToolTipSupport.enableFor(viewer, ColumnViewerToolTipSupport.RECREATE);

    tree.addControlListener(new ControlListener() {
        public void controlResized(ControlEvent e) {
            resizeColumns();
            viewer.getTree().removeControlListener(this);
        }

        public void controlMoved(ControlEvent e) {
        }
    });

    viewer.setContentProvider(new ITreeContentProvider() {
        public boolean hasChildren(Object element) {
            return false;
        }

        public Object getParent(Object element) {
            return null;
        }

        public Object[] getChildren(Object parentElement) {
            return null;
        }

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

        public void dispose() {
        }

        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof Object[]) {
                return (Object[]) inputElement;
            }
            return null;
        }
    });

    new org.eclipse.core.runtime.jobs.Job(Messages.background_loading_prefs) {
        protected IStatus run(IProgressMonitor monitor) {
            try {
                CompositeMonitor loadedMonitor = HudsonUtils.loadDefaultMonitor();
                assert loadedMonitor != null;
                setMonitor(loadedMonitor);
                return Status.OK_STATUS;
            } catch (Exception e) {
                setMonitor(new CompositeMonitor());
                log.error("Error loading default composite monitor", e);
                return new Status(IStatus.ERROR, HudsonUIActivator.PLUGIN_ID, e.getMessage(), e);
            }
        }
    }.schedule();

    tree.setSortColumn(nameColumn.getColumn());
    tree.setSortDirection(SWT.UP);
    viewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            int direction = tree.getSortDirection();
            int directModifier = direction == SWT.UP ? 1 : -1;
            int column = tree.indexOf(tree.getSortColumn());
            switch (column) {
            case JobLabelProvider.STATUS_COLUMN:
                e1 = getBuildResult(e1);
                e2 = getBuildResult(e2);
                break;
            case JobLabelProvider.WEATHER_COLUMN:
                return directModifier * (getBuildHealth(e1) - getBuildHealth(e2));
            case JobLabelProvider.LAST_BUILD_COLUMN:
                return directModifier * (getBuildTime(e1) - getBuildTime(e2) < 0 ? -1 : 1);
            default:
                e1 = labelProvider.getColumnText(e1, column);
                e2 = labelProvider.getColumnText(e2, column);
                break;
            }
            int result = super.compare(viewer, e1, e2);
            return directModifier * result;
        }

        private String getBuildResult(Object o) {
            if (o instanceof HudsonJob) {
                ProjectDTO job = ((HudsonJob) o).getJobDetails();
                if (job != null) {
                    BuildDTO build = job.getLastBuild();
                    if (build != null) {
                        return String.valueOf(build.getResult());
                    }
                }
            }
            return null;
        }

        private int getBuildHealth(Object o) {
            if (o instanceof HudsonJob) {
                ProjectDTO job = ((HudsonJob) o).getJobDetails();
                if (job != null) {
                    HealthDTO health = job.getHealth();
                    if (health != null) {
                        return health.getScore();
                    }
                }
            }
            return -1;
        }

        private long getBuildTime(Object o) {
            if (o instanceof HudsonJob) {
                ProjectDTO job = ((HudsonJob) o).getJobDetails();
                if (job != null) {
                    BuildDTO build = job.getLastBuild();
                    if (build != null) {
                        return build.getTimeStamp();
                    }
                }
            }
            return -1;
        }
    });

    viewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            boolean empty = viewer.getSelection().isEmpty();
            StructuredSelection ss = (StructuredSelection) viewer.getSelection();
            boolean hasOnlyDeclared = true;
            for (Object o : ss.toList()) {
                HudsonJob b = (HudsonJob) o;
                if (b.isMonitored()) {
                    hasOnlyDeclared = false;
                    break;
                }
            }
            buildNowAction.setEnabled(!empty);
            removeAction.setEnabled(!empty && !hasOnlyDeclared);
            showTestResultAction.setEnabled(!empty);
        }
    });
    viewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            openAction.run();
        }
    });
}

From source file:com.sonatype.buildserver.eclipse.ui.view.JobView.java

License:Open Source License

private TreeViewerColumn createServerColumn() {
    TreeViewerColumn toRet = new TreeViewerColumn(viewer, SWT.NONE);
    toRet.setLabelProvider(new JobLabelProvider(JobLabelProvider.SERVER_COLUMN));
    toRet.getColumn().setText(Messages.jobView_columns_server);
    toRet.getColumn().setWidth(30);/*from  w ww  . j a v  a2  s  .com*/
    toRet.getColumn().addSelectionListener(columnSelectionListener);
    return toRet;
}

From source file:com.sonatype.buildserver.eclipse.ui.view.JobView.java

License:Open Source License

private TreeViewerColumn createLastBuildColumn() {
    TreeViewerColumn toRet = new TreeViewerColumn(viewer, SWT.NONE);
    toRet.getColumn().setText(Messages.jobView_columns_lastBuild);
    toRet.getColumn().addSelectionListener(columnSelectionListener);
    toRet.getColumn().setWidth(30);//from w  ww . j av a  2s. c  o m
    toRet.setLabelProvider(new JobLabelProvider(JobLabelProvider.LAST_BUILD_COLUMN));
    return toRet;
}

From source file:com.svcdelivery.liquibase.eclipse.internal.ui.DataSourceViewPart.java

License:Apache License

@Override
public final void createPartControl(final Composite parent) {
    dataSources = new TreeViewer(parent, SWT.VIRTUAL | SWT.FULL_SELECTION);
    final Tree dataSourcesTree = dataSources.getTree();
    TreeViewerColumn log = new TreeViewerColumn(dataSources, SWT.NONE);
    TreeViewerColumn id = new TreeViewerColumn(dataSources, SWT.NONE);
    TreeViewerColumn tag = new TreeViewerColumn(dataSources, SWT.NONE);
    TreeViewerColumn date = new TreeViewerColumn(dataSources, SWT.NONE);
    TreeViewerColumn type = new TreeViewerColumn(dataSources, SWT.NONE);
    TreeColumn logColumn = log.getColumn();
    TreeColumn idColumn = id.getColumn();
    TreeColumn tagColumn = tag.getColumn();
    TreeColumn dateColumn = date.getColumn();
    TreeColumn typeColumn = type.getColumn();
    logColumn.setText("");
    idColumn.setText("ID");
    tagColumn.setText("Tag");
    dateColumn.setText("Date Ran");
    typeColumn.setText("Type");
    logColumn.setWidth(300);/*from  ww  w. j a va  2  s.  c om*/
    idColumn.setWidth(150);
    tagColumn.setWidth(150);
    dateColumn.setWidth(150);
    typeColumn.setWidth(100);

    dataSourcesTree.setHeaderVisible(true);
    dataSourcesTree.setLinesVisible(true);
    dataSources.setUseHashlookup(true);
    dataSources.setContentProvider(new DataSourceContentProvider());
    dataSources.setLabelProvider(new DataSourceLabelProvider());
    dataSources.setInput(ProfileManager.getInstance());

    getSite().setSelectionProvider(dataSources);

    MenuManager mgr = new MenuManager();
    mgr.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS));
    mgr.addMenuListener(new IMenuListener() {

        @Override
        public void menuAboutToShow(final IMenuManager manager) {
            manager.removeAll();
            ISelection selection = dataSources.getSelection();
            if (selection instanceof StructuredSelection) {
                StructuredSelection ss = (StructuredSelection) selection;
                boolean rollback = true;
                boolean refresh = true;
                Iterator<?> i = ss.iterator();
                while (i.hasNext()) {
                    Object next = i.next();
                    if (!(next instanceof ChangeSetTreeItem)) {
                        rollback = false;
                        break;
                    }
                    if (!(next instanceof IConnectionProfile)) {
                        refresh = false;
                        break;
                    }
                }
                if (rollback) {
                    Shell shell = dataSourcesTree.getShell();
                    IAction action = new RollbackCommandHandler(shell, selection);
                    manager.add(action);
                }
                if (refresh) {
                    IAction action = new DataSourceRefreshCommandHandler(selection);
                    manager.add(action);
                }
            }
        }
    });
    getSite().registerContextMenu(mgr, dataSources);
    Menu menu = mgr.createContextMenu(dataSourcesTree);
    dataSourcesTree.setMenu(menu);

    Activator.getDefault().addDatabaseUpdateListener(this);
}

From source file:com.twinsoft.convertigo.eclipse.views.projectexplorer.ProjectExplorerView.java

License:Open Source License

/**
 * This is a callback that will allow us
 * to create the viewer and initialize it.
 *///from ww w .j  a v a2s . co  m
public void createPartControl(Composite parent) {
    viewContentProvider = new ViewContentProvider(this);

    viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION) {
        @Override
        public void refresh(Object element) {
            super.refresh(element);
            packColumns();
        }

        @Override
        public void update(Object element, String[] properties) {
            super.update(element, properties);
            packColumns();
        }
    };
    viewer.setContentProvider(viewContentProvider);

    // DND support
    int ops = DND.DROP_COPY | DND.DROP_MOVE;
    Transfer[] dragtfs = new Transfer[] { TextTransfer.getInstance() };
    Transfer[] droptfs = new Transfer[] { TextTransfer.getInstance(), StepSourceTransfer.getInstance() };
    viewer.addDragSupport(ops, dragtfs, new TreeDragListener(viewer));
    viewer.addDropSupport(ops, droptfs, new TreeDropAdapter(viewer));

    viewer.addTreeListener(new ITreeViewerListener() {

        @Override
        public void treeExpanded(TreeExpansionEvent event) {
            packColumns();
        }

        @Override
        public void treeCollapsed(TreeExpansionEvent event) {
            packColumns();
        }
    });

    viewer.setSorter(new TreeObjectSorter());
    viewer.setInput(getViewSite());

    TreeViewerColumn treeViewerColumn = new TreeViewerColumn(viewer, SWT.LEFT);

    ILabelProvider lp = new ViewLabelProvider();
    ILabelDecorator ld = new ViewLabelDecorator();

    treeViewerColumn.setLabelProvider(new DecoratingColumnLabelProvider(lp, ld));

    treeViewerColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    treeViewerColumn.setLabelProvider(new CommentColumnLabelProvider());
    treeViewerColumn.setEditingSupport(new CommentEditingSupport(viewer));

    //drillDownAdapter = new DrillDownAdapter(viewer);

    makeActions();
    hookContextMenu();
    hookSelectionChangedEvent();
    hookDoubleClickAction();
    hookGlobalActions();
    hookKeyboardActions();
    contributeToActionBars();

    getSite().setSelectionProvider(viewer);

    ConvertigoPlugin.runAtStartup(new Runnable() {

        @Override
        public void run() {
            initialize();
        }

    });
}

From source file:com.vmware.vfabric.ide.eclipse.tcserver.insight.internal.ui.InsightPluginsSection.java

License:Open Source License

@Override
public void createSection(Composite parent) {
    super.createSection(parent);
    FormToolkit toolkit = getFormToolkit(parent.getDisplay());

    Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.TITLE_BAR
            | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE | ExpandableComposite.EXPANDED);
    section.setText("Plugins");
    section.setDescription("Enable plug-ins to gather specific metrics.");
    section.setLayoutData(new GridData(GridData.FILL_BOTH | GridData.GRAB_VERTICAL));

    Composite composite = toolkit.createComposite(section, SWT.NONE);
    GridLayout layout = new GridLayout(2, false);
    layout.marginHeight = 8;/*from  w w w. j a  v a 2  s  .c o  m*/
    layout.marginWidth = 8;
    composite.setLayout(layout);
    toolkit.paintBordersFor(composite);
    section.setClient(composite);

    CheckboxFilteredTree filteredTree = new CheckboxFilteredTree(composite, SWT.FULL_SELECTION | SWT.BORDER,
            new SubstringPatternFilter());
    GridDataFactory.fillDefaults().grab(true, true).hint(SWT.DEFAULT, 200).applyTo(filteredTree);
    pluginViewer = filteredTree.getCheckboxTreeViewer();
    // required to make filtering work
    pluginViewer.setLabelProvider(new PluginLabelProvider());
    pluginViewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            InsightPlugin plugin = (InsightPlugin) event.getElement();
            execute(new EnablePluginsOperation(Collections.singletonList(plugin), event.getChecked()));
        }
    });
    pluginViewer.setCheckStateProvider(new ICheckStateProvider() {
        public boolean isChecked(Object element) {
            return ((InsightPlugin) element).isEnabled();
        }

        public boolean isGrayed(Object element) {
            return false;
        }
    });
    TreeViewerColumn nameColumn = new TreeViewerColumn(pluginViewer, SWT.NONE);
    nameColumn.getColumn().setText("Name");
    nameColumn.getColumn().setWidth(400);
    nameColumn.setLabelProvider(new DelegatingStyledCellLabelProvider(new PluginLabelProvider()));
    pluginViewer.setContentProvider(new ITreeContentProvider() {

        private InsightPluginModel input;

        private final Object[] EMPTY_ARRAY = new Object[0];

        public void dispose() {
            // ignore
        }

        public Object[] getChildren(Object parentElement) {
            return EMPTY_ARRAY;
        }

        public Object[] getElements(Object parent) {
            if (input != null) {
                return input.getPlugins().toArray();
            }
            return EMPTY_ARRAY;
        }

        public Object getParent(Object element) {
            return null;
        }

        public boolean hasChildren(Object element) {
            return false;
        }

        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            input = (InsightPluginModel) newInput;
        }

    });
    pluginViewer.setSorter(new ViewerSorter() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            InsightPlugin p1 = (InsightPlugin) e1;
            InsightPlugin p2 = (InsightPlugin) e2;
            return p1.getName().compareTo(p2.getName());
        }
    });

    Composite buttonComposite = new Composite(composite, SWT.NONE);
    GridDataFactory.fillDefaults().align(SWT.BEGINNING, SWT.TOP).applyTo(buttonComposite);
    GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).extendedMargins(0, 0, 0, 0)
            .applyTo(buttonComposite);
    createButtons(buttonComposite);

    initialize();
}

From source file:com.xse.eclipseui.tree.AbstractTree.java

License:Open Source License

public void refreshColumns() {
    this.tree.setRedraw(false);
    this.removeAllColumns();

    int cell = 0;
    boolean hasTooltip = false;
    for (final com.xse.eclipseui.table.TableColumn column : this.getColumns()) {
        final TreeColumn nameColumn = new TreeColumn(this.tree, column.getStyle());

        if (column.isProvideTooltip() || column.hasEditingSupport()) {
            hasTooltip = column.isProvideTooltip();
            final TreeViewerColumn treeViewerColumn = new TreeViewerColumn(this.viewer, nameColumn);
            this.treeViewerColumnMap.put(Integer.valueOf(cell++), treeViewerColumn);

            if (column.hasEditingSupport()) {
                treeViewerColumn.setEditingSupport(column.getEditingSupport());
            }//  w  w w. ja va2s. co  m
        }

        nameColumn.setText(column.getTitle());
        nameColumn.setWidth(column.getWidth());
        nameColumn.setMoveable(column.isMoveable());
        nameColumn.setData(ISINFILTER_KEY, Boolean.valueOf(column.isIncludeInFilter()));
    }

    if (hasTooltip) {
        ColumnViewerToolTipSupport.enableFor(this.viewer, ToolTip.NO_RECREATE);
    }

    this.tree.setRedraw(true);

    this.addSelectionAdapter();
}

From source file:cz.robotron.examples.parts._005_TreeWithViewerSupport.java

License:Open Source License

private void createTreeColumns(TreeViewer treeViewer, String[] propertyNames) {
    for (String name : propertyNames) {
        TreeViewerColumn viewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
        TreeColumn tableColumn = viewerColumn.getColumn();
        tableColumn.setText(name);/*from   ww w  . ja  v a2 s .c o  m*/
        tableColumn.setWidth(100);

    }

}

From source file:de.bmw.yamaica.common.ui.internal.dialogs.YamaicaWizardSelectionPage.java

License:Mozilla Public License

@Override
public void createControl(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(new GridLayout(1, false));
    setControl(composite);//from  ww w  .  java  2 s . c om

    TreeColumnLayout tableColumnLayout = new TreeColumnLayout();

    Composite tableComposite = new Composite(composite, SWT.NONE);
    tableComposite.setLayout(tableColumnLayout);
    tableComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    tableViewer = new TreeViewer(tableComposite, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
    tableViewer.setContentProvider(getContentProvider());
    tableViewer.setComparator(new WizardComparator());
    tableViewer.setFilters(new ViewerFilter[] { new YamaicaWizardActivityFilter() });

    TreeViewerColumn filenameViewerColumn = new TreeViewerColumn(tableViewer, SWT.LEAD);
    filenameViewerColumn.setLabelProvider((CellLabelProvider) getLabelProvider());

    tableColumnLayout.setColumnData(filenameViewerColumn.getColumn(), new ColumnWeightData(100, 80, false));

    tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        @Override
        public void selectionChanged(SelectionChangedEvent event) {
            ISelection selection = event.getSelection();

            if (!selection.isEmpty() && selection instanceof IStructuredSelection) {
                Object selectedElement = ((IStructuredSelection) selection).getFirstElement();

                if (selectedElement instanceof TreeNode)
                    selectedElement = ((TreeNode) selectedElement).getValue();
                if (selectedElement instanceof IWizardDescriptor) {
                    IWizardDescriptor wizardDescriptor = (IWizardDescriptor) selectedElement;
                    IWizardNode wizardNode = createWizardNode(wizardDescriptor);

                    setMessage(wizardDescriptor.getDescription());
                    setSelectedNode(wizardNode);
                }
            }
        }
    });

    tableViewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(DoubleClickEvent event) {
            getContainer().showPage(getNextPage());
        }
    });

    Object viewerInput = getViewerInput();
    if (useWizardCategories)
        viewerInput = createTreeInput(viewerInput);
    tableViewer.setInput(viewerInput);
    tableViewer.expandAll();
}