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.linuxtools.tmf.ui.views.statistics.TmfStatisticsView.java

License:Open Source License

@Override
public void createPartControl(Composite parent) {
    final Vector<TmfBaseColumnData> columnDataList = getColumnDataProvider().getColumnData();
    parent.setLayout(new FillLayout());

    fTreeViewer = new TreeViewer(parent, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
    fTreeViewer.setContentProvider(new TmfTreeContentProvider());
    fTreeViewer.getTree().setHeaderVisible(true);
    fTreeViewer.setUseHashlookup(true);/*from  w  w  w  .  jav a 2 s.  c o  m*/

    for (final TmfBaseColumnData columnData : columnDataList) {
        final TreeViewerColumn treeColumn = new TreeViewerColumn(fTreeViewer, columnData.getAlignment());
        treeColumn.getColumn().setText(columnData.getHeader());
        treeColumn.getColumn().setWidth(columnData.getWidth());
        treeColumn.getColumn().setToolTipText(columnData.getTooltip());

        if (columnData.getComparator() != null) {
            treeColumn.getColumn().addSelectionListener(new SelectionAdapter() {
                @Override
                public void widgetSelected(SelectionEvent e) {
                    if (fTreeViewer.getTree().getSortDirection() == SWT.UP
                            || fTreeViewer.getTree().getSortColumn() != treeColumn.getColumn()) {
                        fTreeViewer.setComparator(columnData.getComparator());
                        fTreeViewer.getTree().setSortDirection(SWT.DOWN);
                    } else {
                        fTreeViewer.setComparator(new ViewerComparator() {
                            @Override
                            public int compare(Viewer viewer, Object e1, Object e2) {
                                return -1 * columnData.getComparator().compare(viewer, e1, e2);
                            }
                        });
                        fTreeViewer.getTree().setSortDirection(SWT.UP);
                    }
                    fTreeViewer.getTree().setSortColumn(treeColumn.getColumn());
                }
            });
        }
        treeColumn.setLabelProvider(columnData.getLabelProvider());
    }

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

                double percentage = columnDataList.get(event.index).getPercentageProvider().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) ((fTreeViewer.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;
            }
        }
    });

    fTreeViewer.setComparator(columnDataList.get(0).getComparator());
    fTreeViewer.getTree().setSortColumn(fTreeViewer.getTree().getColumn(0));
    fTreeViewer.getTree().setSortDirection(SWT.DOWN);

    // Read current data if any available
    TmfExperiment<?> experiment = TmfExperiment.getCurrentExperiment();
    if (experiment != null) {
        // Insert the statistics data into the tree
        @SuppressWarnings({ "rawtypes", "unchecked" })
        TmfExperimentSelectedSignal<?> signal = new TmfExperimentSelectedSignal(this, experiment);
        experimentSelected(signal);
    }
}

From source file:org.eclipse.m2e.core.ui.internal.preferences.LifecycleMappingPropertyPage.java

License:Open Source License

@Override
public Control createContents(Composite parent) {
    Composite container = new Composite(parent, SWT.NULL);
    GridLayout gl_container = new GridLayout(1, false);
    gl_container.marginWidth = 0;/*from  www.ja va  2  s . co  m*/
    gl_container.marginHeight = 0;
    container.setLayout(gl_container);

    mappingsTreeViewer = new TreeViewer(container, SWT.BORDER);
    Tree tree = mappingsTreeViewer.getTree();
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    TreeViewerColumn treeViewerColumn = new TreeViewerColumn(mappingsTreeViewer, SWT.NONE);
    TreeColumn trclmnGoal = treeViewerColumn.getColumn();
    trclmnGoal.setWidth(100);
    trclmnGoal.setText(Messages.LifecycleMappingPropertyPage_pluginExecution);

    TreeViewerColumn treeViewerColumn_1 = new TreeViewerColumn(mappingsTreeViewer, SWT.NONE);
    TreeColumn trclmnNewColumn = treeViewerColumn_1.getColumn();
    trclmnNewColumn.setWidth(100);
    trclmnNewColumn.setText(Messages.LifecycleMappingPropertyPage_mapping);

    mappingsTreeViewer.setContentProvider(new ITreeContentProvider() {

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

        public void dispose() {
        }

        public boolean hasChildren(Object element) {
            return getChildren(element) != null;
        }

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

        public Object[] getElements(Object inputElement) {
            if (showPhases) {
                return phases.keySet().toArray();
            } else {
                Set<MojoExecutionKey> executions;
                if (showIgnoredExecutions) {
                    executions = mappings.keySet();
                } else {
                    executions = new LinkedHashSet<MojoExecutionKey>();
                    for (Map.Entry<MojoExecutionKey, List<IPluginExecutionMetadata>> entry : mappings
                            .entrySet()) {
                        if (!isIgnoreMapping(entry.getKey(), entry.getValue())) {
                            executions.add(entry.getKey());
                        }
                    }
                }
                return executions.toArray();
            }
        }

        public Object[] getChildren(Object parentElement) {
            List<MojoExecutionKey> executions = phases.get(parentElement);
            if (executions == null || executions.isEmpty()) {
                return null;
            }
            if (showIgnoredExecutions) {
                return executions.toArray();
            }
            // filter out ignored executions
            executions = new ArrayList<MojoExecutionKey>(executions); // clone
            Iterator<MojoExecutionKey> iter = executions.iterator();
            while (iter.hasNext()) {
                MojoExecutionKey execution = iter.next();
                if (isIgnoreMapping(execution, mappings.get(execution))) {
                    iter.remove();
                }
            }
            return !executions.isEmpty() ? executions.toArray() : null;
        }
    });

    mappingsTreeViewer.setLabelProvider(new ITableLabelProvider() {

        public void addListener(ILabelProviderListener listener) {
        }

        public void dispose() {
        }

        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        public void removeListener(ILabelProviderListener listener) {
        }

        public Image getColumnImage(Object element, int columnIndex) {
            if (columnIndex == 0 && element instanceof MojoExecutionKey) {
                return isErrorMapping((MojoExecutionKey) element) ? MavenImages.IMG_ERROR
                        : MavenImages.IMG_PASSED;
            }
            return null;
        }

        public String getColumnText(Object element, int columnIndex) {
            if (element instanceof MojoExecutionKey) {
                MojoExecutionKey execution = (MojoExecutionKey) element;
                switch (columnIndex) {
                case 0:
                    return LifecycleMappingPropertyPage.this.toString(execution);
                case 1:
                    return LifecycleMappingPropertyPage.this.toString(execution, mappings.get(execution));
                }
            }
            return columnIndex == 0 ? element.toString() : null;
        }
    });

    Menu menu = new Menu(tree);
    tree.setMenu(menu);

    final MenuItem mntmShowPhases = new MenuItem(menu, SWT.CHECK);
    mntmShowPhases.setSelection(showPhases);
    mntmShowPhases.setText(Messages.LifecycleMappingPropertyPage_showLIfecyclePhases);

    final MenuItem mntmShowIgnoredExecutions = new MenuItem(menu, SWT.CHECK);
    mntmShowIgnoredExecutions.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            showIgnoredExecutions = mntmShowIgnoredExecutions.getSelection();
            updateMappingsTreeViewer();
        }
    });
    mntmShowIgnoredExecutions.setSelection(showIgnoredExecutions);
    mntmShowIgnoredExecutions.setText(Messages.LifecycleMappingPropertyPage_mntmShowIgnoredExecutions_text);

    new MenuItem(menu, SWT.SEPARATOR);

    final MenuItem mntmExpandAll = new MenuItem(menu, SWT.NONE);
    mntmExpandAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            mappingsTreeViewer.expandAll();
        }
    });
    mntmExpandAll.setEnabled(showPhases);
    mntmExpandAll.setText(Messages.LifecycleMappingPropertyPage_mntmExpandAll_text);

    final MenuItem mntmCollapseAll = new MenuItem(menu, SWT.NONE);
    mntmCollapseAll.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            mappingsTreeViewer.collapseAll();
        }
    });
    mntmCollapseAll.setEnabled(showPhases);
    mntmCollapseAll.setText(Messages.LifecycleMappingPropertyPage_mntmCollapseAll_text);

    mntmShowPhases.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            showPhases = mntmShowPhases.getSelection();
            mntmExpandAll.setEnabled(showPhases);
            mntmCollapseAll.setEnabled(showPhases);
            updateMappingsTreeViewer();
        }
    });

    Composite actionsComposite = new Composite(container, SWT.NONE);
    actionsComposite.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false, 1, 1));
    actionsComposite.setLayout(new RowLayout(SWT.HORIZONTAL));

    Button btnCopyToClipboard = new Button(actionsComposite, SWT.NONE);
    btnCopyToClipboard.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            copyToClipboard();
        }
    });
    btnCopyToClipboard.setText(Messages.LifecycleMappingPropertyPage_copyToClipboard);

    mappingsTreeViewer.setInput(facade);
    updateMappingsTreeViewer();

    return container;
}

From source file:org.eclipse.m2e.core.ui.internal.preferences.LifecycleMappingsViewer.java

License:Open Source License

/**
 * @wbp.parser.entryPoint//w ww.ja v  a2s .c  o m
 */
public Composite createContents(Composite parent) {
    Composite container = new Composite(parent, SWT.NULL);
    GridLayout gl_container = new GridLayout(1, false);
    gl_container.marginWidth = 0;
    gl_container.marginHeight = 0;
    container.setLayout(gl_container);

    Composite optionsComposit = new Composite(container, SWT.NONE);
    GridLayout gl_optionsComposit = new GridLayout(3, false);
    gl_optionsComposit.marginWidth = 0;
    gl_optionsComposit.marginHeight = 0;
    optionsComposit.setLayout(gl_optionsComposit);
    optionsComposit.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    final Button btnShowPhases = new Button(optionsComposit, SWT.CHECK);
    btnShowPhases.setSelection(showPhases);
    btnShowPhases.setText(Messages.LifecycleMappingPropertyPage_showLIfecyclePhases);

    final Button btnShowIgnored = new Button(optionsComposit, SWT.CHECK);
    btnShowIgnored.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            showIgnoredExecutions = btnShowIgnored.getSelection();
            updateMappingsTreeViewer();
        }
    });
    btnShowIgnored.setSelection(showIgnoredExecutions);
    btnShowIgnored.setText(Messages.LifecycleMappingPropertyPage_mntmShowIgnoredExecutions_text);
    final Action actExpandAll = new Action(Messages.LifecycleMappingPropertyPage_mntmExpandAll_text,
            MavenImages.EXPANDALL) {
        public void run() {
            mappingsTreeViewer.expandAll();
        };
    };
    actExpandAll.setEnabled(showPhases);
    final Action actCollapseAll = new Action(Messages.LifecycleMappingPropertyPage_mntmCollapseAll_text,
            MavenImages.COLLAPSEALL) {
        public void run() {
            mappingsTreeViewer.collapseAll();
        };
    };
    actCollapseAll.setEnabled(showPhases);

    Composite toolbarComposite = new Composite(optionsComposit, SWT.NONE);
    toolbarComposite.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false, 1, 1));
    GridLayout gl_toolbarComposite = new GridLayout(1, false);
    gl_toolbarComposite.marginWidth = 0;
    gl_toolbarComposite.marginHeight = 0;
    toolbarComposite.setLayout(gl_toolbarComposite);

    ToolBar toolBar = new ToolBar(toolbarComposite, SWT.FLAT | SWT.RIGHT);
    ToolBarManager toolBarManager = new ToolBarManager(toolBar);
    toolBarManager.add(actExpandAll);
    toolBarManager.add(actCollapseAll);
    toolBarManager.update(true);

    btnShowPhases.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            showPhases = btnShowPhases.getSelection();
            actExpandAll.setEnabled(showPhases);
            actCollapseAll.setEnabled(showPhases);
            updateMappingsTreeViewer();
        }
    });

    mappingsTreeViewer = new TreeViewer(container, SWT.BORDER);
    Tree tree = mappingsTreeViewer.getTree();
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    TreeViewerColumn treeViewerColumn = new TreeViewerColumn(mappingsTreeViewer, SWT.NONE);
    TreeColumn trclmnGoal = treeViewerColumn.getColumn();
    trclmnGoal.setWidth(100);
    trclmnGoal.setText(Messages.LifecycleMappingPropertyPage_pluginExecution);

    TreeViewerColumn treeViewerColumn_1 = new TreeViewerColumn(mappingsTreeViewer, SWT.NONE);
    TreeColumn trclmnNewColumn = treeViewerColumn_1.getColumn();
    trclmnNewColumn.setWidth(100);
    trclmnNewColumn.setText(Messages.LifecycleMappingPropertyPage_mapping);

    TreeViewerColumn treeViewerColumn_2 = new TreeViewerColumn(mappingsTreeViewer, SWT.NONE);
    TreeColumn trclmnSource = treeViewerColumn_2.getColumn();
    trclmnSource.setWidth(100);
    trclmnSource.setText(Messages.LifecycleMappingsViewer_trclmnSource_text);

    mappingsTreeViewer.setContentProvider(new ITreeContentProvider() {

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

        public void dispose() {
        }

        public boolean hasChildren(Object element) {
            return getChildren(element) != null;
        }

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

        public Object[] getElements(Object inputElement) {
            if (showPhases) {
                return phases.keySet().toArray();
            }
            Set<MojoExecutionKey> executions;
            if (showIgnoredExecutions) {
                executions = mappings.keySet();
            } else {
                executions = new LinkedHashSet<MojoExecutionKey>();
                for (Map.Entry<MojoExecutionKey, List<IPluginExecutionMetadata>> entry : mappings.entrySet()) {
                    if (!isIgnoreMapping(entry.getKey(), entry.getValue())) {
                        executions.add(entry.getKey());
                    }
                }
            }
            return executions.toArray();
        }

        public Object[] getChildren(Object parentElement) {
            List<MojoExecutionKey> executions = phases.get(parentElement);
            if (executions == null || executions.isEmpty()) {
                return null;
            }
            if (showIgnoredExecutions) {
                return executions.toArray();
            }
            // filter out ignored executions
            executions = new ArrayList<MojoExecutionKey>(executions); // clone
            Iterator<MojoExecutionKey> iter = executions.iterator();
            while (iter.hasNext()) {
                MojoExecutionKey execution = iter.next();
                if (isIgnoreMapping(execution, mappings.get(execution))) {
                    iter.remove();
                }
            }
            return !executions.isEmpty() ? executions.toArray() : null;
        }
    });

    mappingsTreeViewer.setLabelProvider(new ITableLabelProvider() {

        public void addListener(ILabelProviderListener listener) {
        }

        public void dispose() {
        }

        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        public void removeListener(ILabelProviderListener listener) {
        }

        public Image getColumnImage(Object element, int columnIndex) {
            if (columnIndex == 0 && element instanceof MojoExecutionKey) {
                return isErrorMapping((MojoExecutionKey) element) ? MavenImages.IMG_ERROR
                        : MavenImages.IMG_PASSED;
            }
            return null;
        }

        public String getColumnText(Object element, int columnIndex) {
            if (element instanceof MojoExecutionKey) {
                MojoExecutionKey execution = (MojoExecutionKey) element;
                switch (columnIndex) {
                case 0:
                    return LifecycleMappingsViewer.this.toString(execution);
                case 1:
                    return LifecycleMappingsViewer.this.toString(execution, mappings.get(execution));
                case 2:
                    return getSourcelabel(execution, mappings.get(execution), false);
                }
            }
            return columnIndex == 0 ? element.toString() : null;
        }
    });

    Composite actionsComposite = new Composite(container, SWT.NONE);
    actionsComposite.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false, 1, 1));
    actionsComposite.setLayout(new RowLayout(SWT.HORIZONTAL));

    Button btnCopyToClipboard = new Button(actionsComposite, SWT.NONE);
    btnCopyToClipboard.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            copyToClipboard();
        }
    });
    btnCopyToClipboard.setText(Messages.LifecycleMappingPropertyPage_copyToClipboard);

    mappingsTreeViewer.setInput(phases);

    updateMappingsTreeViewer();
    return container;
}

From source file:org.eclipse.m2e.core.ui.internal.views.build.BuildDebugView.java

License:Open Source License

public void createPartControl(Composite parent) {
    viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    Tree tree = viewer.getTree();//www .j ava 2s.  c o m
    tree.setHeaderVisible(true);
    tree.setLinesVisible(true);

    TreeViewerColumn treeViewerColumn = new TreeViewerColumn(viewer, SWT.NONE);
    TreeColumn trclmnName = treeViewerColumn.getColumn();
    trclmnName.setWidth(400);
    trclmnName.setText(Messages.BuildDebugView_columnName);

    TreeViewerColumn treeViewerColumn_1 = new TreeViewerColumn(viewer, SWT.NONE);
    TreeColumn trclmnBuildCount = treeViewerColumn_1.getColumn();
    trclmnBuildCount.setWidth(100);
    trclmnBuildCount.setText(Messages.BuildDebugView_columnBuildNumber);
    viewer.setLabelProvider(new ITableLabelProvider() {

        public void removeListener(ILabelProviderListener listener) {
        }

        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        public void dispose() {
        }

        public void addListener(ILabelProviderListener listener) {
        }

        public String getColumnText(Object element, int columnIndex) {
            if (element instanceof Node) {
                return getColumnText((Node) element, columnIndex);
            }

            if (columnIndex == 0) {
                return element.toString();
            }

            return null;
        }

        private String getColumnText(Node element, int columnIndex) {
            switch (columnIndex) {
            case 0:
                return element.getName();
            case 1:
                return Integer.toString(element.getBuildCount());
            default:
                // fall through  
            }
            return null;
        }

        public Image getColumnImage(Object element, int columnIndex) {
            return null;
        }
    });

    viewer.setContentProvider(new ITreeContentProvider() {

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

        public void dispose() {
        }

        public boolean hasChildren(Object element) {
            if (element instanceof ContainerNode) {
                return !((ContainerNode) element).getResources().isEmpty();
            }
            if (element instanceof CollectionNode<?>) {
                return !((CollectionNode<?>) element).getMembers().isEmpty();
            }
            return false;
        }

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

        public Object[] getElements(Object inputElement) {
            if (inputElement == projects) {
                List<ProjectNode> sorted;
                synchronized (projectsLock) {
                    sorted = new ArrayList<ProjectNode>(projects.values());
                }
                Collections.sort(sorted, NODE_COMPARATOR);
                return sorted.toArray();
            }
            return new Object[0];
        }

        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof ProjectNode) {
                ArrayList<Object> result = new ArrayList<Object>();

                final ProjectNode projectNode = (ProjectNode) parentElement;

                final List<ResourceNode> resources = new ArrayList<ResourceNode>(projectNode.getResources());
                if (!resources.isEmpty()) {
                    Collections.sort(resources, NODE_COMPARATOR);
                    result.add(new CollectionNode<ResourceNode>(Messages.BuildDebugView_nodeDelta, resources));
                }

                final List<MojoExecutionNode> executions = new ArrayList<MojoExecutionNode>(
                        projectNode.getMojoExecutions());
                if (!executions.isEmpty()) {
                    Collections.sort(executions, NODE_COMPARATOR);
                    result.add(new CollectionNode<MojoExecutionNode>(Messages.BuildDebugView_nodeExecutions,
                            executions));
                }

                return result.toArray();
            } else if (parentElement instanceof CollectionNode<?>) {
                return ((CollectionNode<?>) parentElement).getMembers().toArray();
            } else if (parentElement instanceof ContainerNode) {
                return ((ContainerNode) parentElement).getResources().toArray();
            }
            return null;
        }
    });

    viewer.setInput(projects);

    IActionBars actionBars = getViewSite().getActionBars();
    IToolBarManager toolBar = actionBars.getToolBarManager();
    Action suspendAction = new Action(Messages.BuildDebugView_actionSuspend, IAction.AS_CHECK_BOX) {
        public void run() {
            suspended = isChecked();
        }
    };
    suspendAction.setImageDescriptor(MavenImages.SUSPEND);
    suspendAction.setChecked(suspended);
    Action clearAction = new Action(Messages.BuildDebugView_actionClear, MavenImages.CLEAR) {
        public void run() {
            synchronized (projectsLock) {
                projects.clear();
            }
            refreshJob.schedule();
        }
    };
    Action collapseAll = new Action(Messages.BuildDebugView_actionCollapseAll, MavenImages.COLLAPSEALL) {
        public void run() {
            viewer.collapseAll();
        }
    };
    toolBar.add(collapseAll);
    toolBar.add(clearAction);
    toolBar.add(suspendAction);
    actionBars.updateActionBars();
}

From source file:org.eclipse.m2e.core.ui.internal.wizards.LifecycleMappingPage.java

License:Open Source License

/**
 * Create contents of the wizard./*  w w w  .  j a  v  a2 s .  c o m*/
 * 
 * @param parent
 */
public void createControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NULL);

    setControl(container);
    container.setLayout(new GridLayout(1, false));

    treeViewer = new TreeViewer(container, SWT.BORDER | SWT.FULL_SELECTION);

    Tree tree = treeViewer.getTree();
    tree.setLinesVisible(true);
    tree.setHeaderVisible(true);
    tree.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));

    TreeViewerColumn treeViewerColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
    TreeColumn trclmnNewColumn = treeViewerColumn.getColumn();
    trclmnNewColumn.setText(Messages.LifecycleMappingPage_mavenBuildColumnTitle);

    TreeViewerColumn columnViewerAction = new TreeViewerColumn(treeViewer, SWT.NONE);
    TreeColumn columnAction = columnViewerAction.getColumn();
    columnAction.setText(Messages.LifecycleMappingPage_actionColumnTitle);
    columnViewerAction.setEditingSupport(new EditingSupport(treeViewer) {

        @Override
        protected void setValue(Object element, Object value) {
            if (element instanceof ILifecycleMappingLabelProvider) {
                ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) element;
                int intVal = ((Integer) value).intValue();
                List<IMavenDiscoveryProposal> all = mappingConfiguration.getProposals(prov.getKey());

                if (ignore.contains(element)) {
                    ignore.remove(element);
                } else if (ignoreAtDefinition.contains(element)) {
                    ignoreAtDefinition.remove(element);
                } else if (intVal == all.size() + NO_ACTION_IDX || shouldDeslectProposal(prov)) {
                    IMavenDiscoveryProposal prop = mappingConfiguration.getSelectedProposal(prov.getKey());
                    mappingConfiguration.removeSelectedProposal(prop);
                }

                // Set new selection
                if (intVal < all.size()) {
                    IMavenDiscoveryProposal sel = all.get(intVal);
                    if (sel != null) {
                        mappingConfiguration.addSelectedProposal(sel);
                    }
                } else {
                    switch (intVal - all.size()) {
                    case IGNORE_IDX:
                        ignore.add(prov);
                        break;
                    case IGNORE_PARENT_IDX:
                        ignoreAtDefinition.add(prov);
                    }
                }
                getViewer().refresh(true);
                updateErrorCount();
            }
        }

        @Override
        protected Object getValue(Object element) {
            if (element instanceof ILifecycleMappingLabelProvider) {
                ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) element;
                IMavenDiscoveryProposal prop = mappingConfiguration.getSelectedProposal(prov.getKey());
                List<IMavenDiscoveryProposal> all = mappingConfiguration.getProposals(prov.getKey());
                if (ignore.contains(element)) {
                    return Integer.valueOf(all.size() + IGNORE_IDX);
                } else if (ignoreAtDefinition.contains(element)) {
                    return Integer.valueOf(all.size() + IGNORE_PARENT_IDX);
                } else {
                    int index = all.indexOf(prop);
                    return index >= 0 ? Integer.valueOf(index) : Integer.valueOf(all.size() + NO_ACTION_IDX);
                }
            }
            return Integer.valueOf(0);
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            if (element instanceof ILifecycleMappingLabelProvider) {
                ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) element;
                List<IMavenDiscoveryProposal> all = mappingConfiguration.getProposals(prov.getKey());
                List<String> values = new ArrayList<String>();
                for (IMavenDiscoveryProposal prop : all) {
                    values.add(NLS.bind(Messages.LifecycleMappingPage_installDescription, prop.toString()));
                }
                if (prov.isError(mappingConfiguration)) {
                    values.add(Messages.LifecycleMappingPage_resolveLaterDescription);
                } else {
                    values.add(EMPTY_STRING);
                }
                addIgnoreProposals(values, prov);
                ComboBoxCellEditor edit = new ComboBoxCellEditor(treeViewer.getTree(),
                        values.toArray(new String[values.size()]));
                Control cont = edit.getControl();
                //this attempts to disable text edits in the combo..
                if (cont instanceof CCombo) {
                    CCombo combo = (CCombo) cont;
                    combo.setEditable(false);
                }
                return edit;
            }
            throw new IllegalStateException();
        }

        @Override
        protected boolean canEdit(Object element) {
            if (element instanceof AggregateMappingLabelProvider) {
                ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) element;
                List<IMavenDiscoveryProposal> all = mappingConfiguration.getProposals(prov.getKey());
                return all != null && !all.isEmpty()
                        || prov.getKey() instanceof MojoExecutionMappingRequirement;
            }
            return false;
        }
    });

    treeViewer.setContentProvider(new ITreeContentProvider() {

        public void dispose() {
        }

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

        public Object[] getElements(Object inputElement) {
            if (inputElement instanceof LifecycleMappingConfiguration) {
                Map<ILifecycleMappingRequirement, List<ILifecycleMappingLabelProvider>> packagings = new HashMap<ILifecycleMappingRequirement, List<ILifecycleMappingLabelProvider>>();
                Map<ILifecycleMappingRequirement, List<ILifecycleMappingLabelProvider>> mojos = new HashMap<ILifecycleMappingRequirement, List<ILifecycleMappingLabelProvider>>();
                Collection<ProjectLifecycleMappingConfiguration> projects = ((LifecycleMappingConfiguration) inputElement)
                        .getProjects();
                for (ProjectLifecycleMappingConfiguration prjconf : projects) {
                    PackagingTypeMappingConfiguration pack = prjconf.getPackagingTypeMappingConfiguration();
                    if (pack != null) {
                        ILifecycleMappingRequirement packReq = pack.getLifecycleMappingRequirement();
                        if (packReq != null && !mappingConfiguration.getProposals(packReq).isEmpty()) {
                            List<ILifecycleMappingLabelProvider> val = packagings.get(packReq);
                            if (val == null) {
                                val = new ArrayList<ILifecycleMappingLabelProvider>();
                                packagings.put(packReq, val);
                            }
                            val.add(new PackagingTypeMappingLabelProvider(prjconf, pack));
                        }
                    }
                    List<MojoExecutionMappingConfiguration> mojoExecs = prjconf
                            .getMojoExecutionConfigurations();
                    if (mojoExecs != null) {
                        for (MojoExecutionMappingConfiguration mojoMap : mojoExecs) {
                            ILifecycleMappingRequirement mojoReq = mojoMap.getLifecycleMappingRequirement();
                            // include mojo execution if it has available proposals or interesting phase not mapped locally
                            if (mojoReq != null && !mappingConfiguration.getProposals(mojoReq).isEmpty()
                                    || (LifecycleMappingFactory
                                            .isInterestingPhase(mojoMap.getExecution().getLifecyclePhase())
                                            && !mappingConfiguration.isRequirementSatisfied(mojoReq, true))) {
                                List<ILifecycleMappingLabelProvider> val = mojos.get(mojoReq);
                                if (val == null) {
                                    val = new ArrayList<ILifecycleMappingLabelProvider>();
                                    mojos.put(mojoReq, val);
                                }
                                val.add(new MojoExecutionMappingLabelProvider(prjconf, mojoMap));
                            }
                        }
                    }
                }
                List<ILifecycleMappingLabelProvider> toRet = new ArrayList<ILifecycleMappingLabelProvider>();
                for (Map.Entry<ILifecycleMappingRequirement, List<ILifecycleMappingLabelProvider>> ent : packagings
                        .entrySet()) {
                    toRet.add(new AggregateMappingLabelProvider(ent.getKey(), ent.getValue()));
                }
                for (Map.Entry<ILifecycleMappingRequirement, List<ILifecycleMappingLabelProvider>> ent : mojos
                        .entrySet()) {
                    toRet.add(new AggregateMappingLabelProvider(ent.getKey(), ent.getValue()));
                }
                return toRet.toArray();
            }
            return null;
        }

        public Object[] getChildren(Object parentElement) {
            if (parentElement instanceof AggregateMappingLabelProvider) {
                return ((AggregateMappingLabelProvider) parentElement).getChildren();
            }
            return new Object[0];
        }

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

        public boolean hasChildren(Object element) {
            Object[] children = getChildren(element);
            return children != null && children.length > 0;
        }

    });
    treeViewer.setLabelProvider(new ITableLabelProvider() {

        public void removeListener(ILabelProviderListener listener) {
        }

        public boolean isLabelProperty(Object element, String property) {
            return false;
        }

        public void dispose() {
        }

        public void addListener(ILabelProviderListener listener) {
        }

        public String getColumnText(Object element, int columnIndex) {
            if (element instanceof ILifecycleMappingLabelProvider) {
                ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) element;
                if (columnIndex == MAVEN_INFO_IDX) {
                    String text = prov.getMavenText();
                    if (prov instanceof AggregateMappingLabelProvider && !isHandled(prov)) {
                        text = NLS.bind(Messages.LifecycleMappingPage_errorMavenBuild, new String[] { text,
                                String.valueOf(((AggregateMappingLabelProvider) prov).getChildren().length) });
                    }
                    return text;
                } else if (columnIndex == ACTION_INFO_IDX && element instanceof AggregateMappingLabelProvider) {
                    IMavenDiscoveryProposal proposal = mappingConfiguration.getSelectedProposal(prov.getKey());
                    if (ignore.contains(element)) {
                        return Messages.LifecycleMappingPage_doNotExecutePom;
                    } else if (ignoreAtDefinition.contains(element)) {
                        return Messages.LifecycleMappingPage_doNotExecuteParent;
                    } else if (proposal != null) {
                        return NLS.bind(Messages.LifecycleMappingPage_installDescription, proposal.toString()); //not really feeling well here. 
                    } else if (loading || !prov.isError(mappingConfiguration)) {
                        return EMPTY_STRING;
                    } else {
                        return Messages.LifecycleMappingPage_resolveLaterDescription;
                    }
                }
            }
            return null;
        }

        public Image getColumnImage(Object element, int columnIndex) {
            if (columnIndex != 0) {
                return null;
            }
            if (element instanceof AggregateMappingLabelProvider) {
                ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) element;
                if (prov.isError(mappingConfiguration)) {
                    if (!isHandled(prov)) {
                        return MavenImages.IMG_ERROR;
                    }
                }
                return MavenImages.IMG_PASSED;
            }
            return MavenImages.IMG_POM;
        }
    });

    treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            if (event.getSelection() instanceof IStructuredSelection
                    && ((IStructuredSelection) event.getSelection()).size() == 1) {
                ILifecycleMappingLabelProvider prov = (ILifecycleMappingLabelProvider) ((IStructuredSelection) event
                        .getSelection()).getFirstElement();
                if (ignore.contains(prov)) {
                    details.setText(Messages.LifecycleMappingPage_doNotExecutePomDescription);
                    license.setText(EMPTY_STRING);
                } else if (ignoreAtDefinition.contains(prov)) {
                    details.setText(Messages.LifecycleMappingPage_doNotExecuteParentDescription);
                    license.setText(EMPTY_STRING);
                } else {
                    IMavenDiscoveryProposal proposal = mappingConfiguration.getSelectedProposal(prov.getKey());
                    details.setText(proposal != null ? proposal.getDescription()
                            : mappingConfiguration.getProposals(prov.getKey()).isEmpty()
                                    ? NLS.bind(Messages.LifecycleMappingPage_noMarketplaceEntryDescription,
                                            prov.getMavenText())
                                    : EMPTY_STRING);
                    license.setText(proposal == null ? EMPTY_STRING : proposal.getLicense());
                }
            } else {
                details.setText(EMPTY_STRING);
                license.setText(EMPTY_STRING);
            }
        }
    });

    treeViewer.setComparator(new ViewerComparator() {
        public int compare(Viewer viewer, Object e1, Object e2) {
            if (!(e1 instanceof ILifecycleMappingLabelProvider
                    && e2 instanceof ILifecycleMappingLabelProvider)) {
                return super.compare(viewer, e1, e2);
            }
            int cat1 = category(e1);
            int cat2 = category(e2);

            if (cat1 != cat2) {
                return cat1 - cat2;
            }
            return ((ILifecycleMappingLabelProvider) e1).getMavenText()
                    .compareTo(((ILifecycleMappingLabelProvider) e2).getMavenText());
        }
    });

    Composite composite = new Composite(container, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
    composite.setLayout(new GridLayout(3, false));

    errorCountLabel = new Label(composite, SWT.NONE);
    errorCountLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

    Button btnNewButton_1 = new Button(composite, SWT.NONE);
    btnNewButton_1.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            mappingConfiguration.clearSelectedProposals();
            ignore.clear();
            ignoreAtDefinition.clear();
            treeViewer.refresh();
            getWizard().getContainer().updateButtons(); // needed to enable/disable Finish button
            updateErrorCount();
        }
    });
    btnNewButton_1.setText(Messages.LifecycleMappingPage_deselectAllButton);

    autoSelectButton = new Button(composite, SWT.NONE);
    autoSelectButton.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            ignore.clear();
            ignoreAtDefinition.clear();
            discoverProposals();
        }
    });
    autoSelectButton.setText(Messages.LifecycleMappingPage_autoSelectButton);

    // Provide a reasonable height for the details box 
    GC gc = new GC(container);
    gc.setFont(JFaceResources.getDialogFont());
    FontMetrics fontMetrics = gc.getFontMetrics();
    gc.dispose();

    Group grpDetails = new Group(container, SWT.NONE);
    grpDetails.setLayout(new GridLayout(1, false));
    grpDetails.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    grpDetails.setText(Messages.LifecycleMappingPage_descriptionLabel);

    details = new Text(grpDetails, SWT.WRAP | SWT.READ_ONLY | SWT.V_SCROLL);
    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    gd.heightHint = Dialog.convertHeightInCharsToPixels(fontMetrics, 3);
    gd.minimumHeight = Dialog.convertHeightInCharsToPixels(fontMetrics, 1);
    details.setLayoutData(gd);

    Group grpLicense = new Group(container, SWT.NONE);
    grpLicense.setLayout(new GridLayout(1, false));
    grpLicense.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    grpLicense.setText(Messages.LifecycleMappingPage_licenseLabel);

    license = new Text(grpLicense, SWT.READ_ONLY);
    gd = new GridData(SWT.FILL, SWT.FILL, true, true);
    gd.heightHint = Dialog.convertHeightInCharsToPixels(fontMetrics, 1);
    gd.minimumHeight = Dialog.convertHeightInCharsToPixels(fontMetrics, 1);
    license.setLayoutData(gd);
}

From source file:org.eclipse.m2m.internal.qvt.oml.tools.coverage.ui.CoverageView.java

License:Open Source License

private void loadViewer() {
    viewer = new TreeViewer(myParent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
    viewer.getTree().setHeaderVisible(true);
    viewer.getTree().setLinesVisible(true);

    TreeViewerColumn column0 = new TreeViewerColumn(viewer, SWT.LEFT);
    column0.getColumn().setText("Module");
    column0.getColumn().setWidth(200);/* w  w w . j ava  2s  .  co m*/
    column0.setLabelProvider(new PathLabelProvider());

    TreeViewerColumn column00 = new TreeViewerColumn(viewer, SWT.LEFT);
    column00.getColumn().setText("Total function coverage");
    column00.getColumn().setWidth(150);
    column00.setLabelProvider(new TotalLabelProvider());

    TreeViewerColumn column1 = new TreeViewerColumn(viewer, SWT.LEFT);
    column1.getColumn().setText("Mapping Coverage");
    column1.getColumn().setWidth(130);
    column1.setLabelProvider(new MappingLabelProvider());

    TreeViewerColumn column2 = new TreeViewerColumn(viewer, SWT.LEFT);
    column2.getColumn().setText("Helper Coverage");
    column2.getColumn().setWidth(130);
    column2.setLabelProvider(new HelperLabelProvider());

    TreeViewerColumn column3 = new TreeViewerColumn(viewer, SWT.LEFT);
    column3.getColumn().setText("Constructor Coverage");
    column3.getColumn().setWidth(130);
    column3.setLabelProvider(new ConstructorLabelProvider());

    TreeViewerColumn column4 = new TreeViewerColumn(viewer, SWT.LEFT);
    column4.getColumn().setText("Estimated Expression Coverage");
    column4.getColumn().setWidth(200);
    column4.setLabelProvider(new ExpressionLabelProvider());

    viewer.setContentProvider(new ViewContentProvider());
    viewer.addDoubleClickListener(new TransformationClickListener());
}

From source file:org.eclipse.mylyn.docs.intent.mapping.ide.ui.view.MappingView.java

License:Open Source License

/**
 * Adds the document {@link TabItem} to the given body {@link TabFolder}.
 * /* ww w  . j  a v a2 s . com*/
 * @param bodyTabFolder
 *            the body {@link TabFolder}
 * @param mappingBaseCombo
 *            the mapping base {@link ComboViewer}
 */
private void addDocumentTabItem(TabFolder bodyTabFolder, ComboViewer mappingBaseCombo) {
    TabItem selectionTabItem = new TabItem(bodyTabFolder, SWT.NONE);
    selectionTabItem.setText("Document");

    Composite treeComposite = new Composite(bodyTabFolder, SWT.NONE);
    selectionTabItem.setControl(treeComposite);
    treeComposite.setLayout(new FillLayout(SWT.HORIZONTAL));

    SashForm sashForm = new SashForm(treeComposite, SWT.NONE);

    final Composite referencingComposite = new Composite(sashForm, SWT.NONE);
    referencingComposite.setLayout(new GridLayout(1, false));

    final Label referencingLabel = new Label(referencingComposite, SWT.CENTER);
    referencingLabel.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1));
    referencingLabel.setToolTipText("Links from other documents to the current document.");
    referencingLabel.setText("Incoming Links");

    final FilteredTree referencingTree = new FilteredTree(referencingComposite, SWT.MULTI | SWT.BORDER,
            new PatternFilter(), false);
    referencingTree.getViewer().getTree().addListener(SWT.KeyDown, new MappingKeyUpListener());
    referencingTree.getViewer().setContentProvider(
            new LinkedLocationContentProvider(true, LinkedLocationContentProvider.SOURCE, true));
    referencingTree.getViewer().getTree().addListener(SWT.MouseDoubleClick,
            new ShowLocationDoubleClickListener(referencingTree.getViewer().getTree()));

    referencingTree.getViewer().getTree().setHeaderVisible(true);
    TreeViewerColumn referencingTreeSourceColumn = new TreeViewerColumn(referencingTree.getViewer(), SWT.NONE);
    referencingTreeSourceColumn.getColumn().setData(LinkedLocationContentProvider.SOURCE);
    referencingTreeSourceColumn.getColumn().setResizable(true);
    referencingTreeSourceColumn.getColumn().setText(SOURCE_LABEL);
    referencingTreeSourceColumn.getColumn().setWidth(WIDTH);
    referencingTreeSourceColumn.setLabelProvider(
            new DelegatingStyledCellLabelProvider(new MappingLabelProvider(MappingLabelProvider.SOURCE)));

    TreeViewerColumn referencingTreeTargetColumn = new TreeViewerColumn(referencingTree.getViewer(), SWT.NONE);
    referencingTreeTargetColumn.getColumn().setData(LinkedLocationContentProvider.TARGET);
    referencingTreeTargetColumn.getColumn().setResizable(true);
    referencingTreeTargetColumn.getColumn().setText(TARGET_LABEL);
    referencingTreeTargetColumn.getColumn().setWidth(WIDTH);
    referencingTreeTargetColumn.setLabelProvider(
            new DelegatingStyledCellLabelProvider(new MappingLabelProvider(MappingLabelProvider.TARGET)));

    referencingTree.getViewer().getControl().addFocusListener(new FocusListener() {

        public void focusLost(FocusEvent e) {
            selectionProvider.setSelectionProviderDelegate(null);
        }

        public void focusGained(FocusEvent e) {
            selectionProvider.setSelectionProviderDelegate(referencingTree.getViewer());
        }
    });
    Menu menu = menuManager.createContextMenu(referencingTree.getViewer().getControl());
    menus.add(menu);
    referencingTree.getViewer().getControl().setMenu(menu);

    final Composite referencedComposite = new Composite(sashForm, SWT.NONE);
    referencedComposite.setLayout(new GridLayout(1, false));

    final Label referencedLabel = new Label(referencedComposite, SWT.CENTER);
    referencedLabel.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false, 1, 1));
    referencedLabel.setToolTipText("Links from the current document to other documents.");
    referencedLabel.setText("Outgoing Links");

    final FilteredTree referencedTree = new FilteredTree(referencedComposite, SWT.MULTI | SWT.BORDER,
            new PatternFilter(), false);
    referencedTree.getViewer().getTree().addListener(SWT.KeyUp, new MappingKeyUpListener());
    referencedTree.getViewer().setContentProvider(
            new LinkedLocationContentProvider(true, LinkedLocationContentProvider.TARGET, true));
    referencedTree.getViewer().getTree().addListener(SWT.MouseDoubleClick,
            new ShowLocationDoubleClickListener(referencedTree.getViewer().getTree()));

    referencedTree.getViewer().getTree().setHeaderVisible(true);
    TreeViewerColumn referencedTreeSourceColumn = new TreeViewerColumn(referencedTree.getViewer(), SWT.NONE);
    referencedTreeSourceColumn.getColumn().setResizable(true);
    referencedTreeSourceColumn.getColumn().setText(SOURCE_LABEL);
    referencedTreeSourceColumn.getColumn().setWidth(WIDTH);
    referencedTreeSourceColumn.setLabelProvider(
            new DelegatingStyledCellLabelProvider(new MappingLabelProvider(MappingLabelProvider.SOURCE)));

    TreeViewerColumn referencedTreeTargetColumn = new TreeViewerColumn(referencedTree.getViewer(), SWT.NONE);
    referencedTreeTargetColumn.getColumn().setResizable(true);
    referencedTreeTargetColumn.getColumn().setText(TARGET_LABEL);
    referencedTreeTargetColumn.getColumn().setWidth(WIDTH);
    referencedTreeTargetColumn.setLabelProvider(
            new DelegatingStyledCellLabelProvider(new MappingLabelProvider(MappingLabelProvider.TARGET)));

    referencedTree.getViewer().getControl().addFocusListener(new FocusListener() {

        public void focusLost(FocusEvent e) {
            selectionProvider.setSelectionProviderDelegate(null);
        }

        public void focusGained(FocusEvent e) {
            selectionProvider.setSelectionProviderDelegate(referencedTree.getViewer());
        }
    });
    menu = menuManager.createContextMenu(referencedTree.getViewer().getControl());
    menus.add(menu);
    referencedTree.getViewer().getControl().setMenu(menu);

    mappingBaseCombo.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            final IEditorPart activeEditor = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
                    .getActivePage().getActiveEditor();
            if (activeEditor != null && editorPartListener != null) {
                editorPartListener.setInput(activeEditor);
            }
        }
    });

    editorPartListener = new EditorPartListener(referencingTree.getViewer(), referencedTree.getViewer());
    for (IWorkbenchWindow window : PlatformUI.getWorkbench().getWorkbenchWindows()) {
        for (IWorkbenchPage page : window.getPages()) {
            final IEditorPart activeEditor = page.getActiveEditor();
            if (activeEditor != null) {
                editorPartListener.setInput(activeEditor);
            }
            page.addPartListener(editorPartListener);
        }
        window.addPageListener(editorPartListener);
    }
    PlatformUI.getWorkbench().addWindowListener(editorPartListener);

    sashForm.setWeights(new int[] { 1, 1 });
}

From source file:org.eclipse.mylyn.docs.intent.mapping.ide.ui.view.MappingView.java

License:Open Source License

/**
 * Adds the report {@link TabItem} to the given body {@link TabFolder}.
 * //from w ww  .  ja va  2  s.  c  om
 * @param bodyTabFolder
 *            the body {@link TabFolder}
 * @param mappingBaseCombo
 *            the mapping base {@link ComboViewer}
 */
private void addReportTabItem(TabFolder bodyTabFolder, ComboViewer mappingBaseCombo) {
    TabItem selectionTabItem = new TabItem(bodyTabFolder, SWT.NONE);
    selectionTabItem.setText("Report");

    Composite treeComposite = new Composite(bodyTabFolder, SWT.NONE);
    selectionTabItem.setControl(treeComposite);
    treeComposite.setLayout(new FillLayout(SWT.HORIZONTAL));

    final FilteredTree reportTree = new FilteredTree(treeComposite, SWT.MULTI | SWT.BORDER, new PatternFilter(),
            false);
    reportTree.getViewer().getTree().addListener(SWT.KeyDown, new MappingKeyUpListener());
    reportTree.getViewer().getTree().addListener(SWT.MouseDoubleClick,
            new ShowLocationDoubleClickListener(reportTree.getViewer().getTree()));
    reportTree.getViewer().setContentProvider(new SyncronizationLocationContentProvider());

    reportTree.getViewer().getTree().setHeaderVisible(true);
    TreeViewerColumn linkTreeSourceColumn = new TreeViewerColumn(reportTree.getViewer(), SWT.NONE);
    linkTreeSourceColumn.getColumn().setResizable(true);
    linkTreeSourceColumn.getColumn().setText(SOURCE_LABEL);
    linkTreeSourceColumn.getColumn().setWidth(WIDTH);
    linkTreeSourceColumn.setLabelProvider(
            new DelegatingStyledCellLabelProvider(new MappingLabelProvider(MappingLabelProvider.SOURCE)));

    TreeViewerColumn linkTreeTargetColumn = new TreeViewerColumn(reportTree.getViewer(), SWT.NONE);
    linkTreeTargetColumn.getColumn().setResizable(true);
    linkTreeTargetColumn.getColumn().setText(TARGET_LABEL);
    linkTreeTargetColumn.getColumn().setWidth(WIDTH);
    linkTreeTargetColumn.setLabelProvider(
            new DelegatingStyledCellLabelProvider(new MappingLabelProvider(MappingLabelProvider.TARGET)));

    reportTree.getViewer().getControl().addFocusListener(new FocusListener() {

        public void focusLost(FocusEvent e) {
            selectionProvider.setSelectionProviderDelegate(null);
        }

        public void focusGained(FocusEvent e) {
            selectionProvider.setSelectionProviderDelegate(reportTree.getViewer());
        }
    });
    final Menu menu = menuManager.createContextMenu(reportTree.getViewer().getControl());
    menus.add(menu);
    reportTree.getViewer().getControl().setMenu(menu);

    mappingBaseCombo.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            final IBase base = (IBase) ((IStructuredSelection) event.getSelection()).getFirstElement();
            reportTree.getViewer().setInput(base);
        }
    });

}

From source file:org.eclipse.mylyn.internal.builds.ui.history.BuildHistoryPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    viewer = new TreeViewer(parent, SWT.FULL_SELECTION);
    Tree tree = viewer.getTree();/*from  ww w  .  j  av  a2s . c  om*/
    tree.setHeaderVisible(true);

    TreeViewerColumn buildViewerColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    buildViewerColumn
            .setLabelProvider(new DecoratingStyledCellLabelProvider(new BuildLabelProvider(true), null, null));
    TreeColumn buildColumn = buildViewerColumn.getColumn();
    buildColumn.setText("ID");
    buildColumn.setWidth(70);
    buildColumn.setData(AbstractColumnViewerSupport.KEY_COLUMN_CAN_HIDE, false);

    TreeViewerColumn timeViewerColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    timeViewerColumn.setLabelProvider(new BuildTimeLabelProvider());
    TreeColumn timeColumn = timeViewerColumn.getColumn();
    timeColumn.setText("Time");
    timeColumn.setWidth(140);

    TreeViewerColumn durationViewerColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    durationViewerColumn.setLabelProvider(new BuildDurationLabelProvider());
    TreeColumn durationColumn = durationViewerColumn.getColumn();
    durationColumn.setText("Duration");
    durationColumn.setWidth(70);

    TreeViewerColumn summaryViewerColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    summaryViewerColumn.setLabelProvider(new BuildSummaryLabelProvider());
    TreeColumn summaryColumn = summaryViewerColumn.getColumn();
    summaryColumn.setText("Summary");
    summaryColumn.setWidth(220);

    contentProvider = new BuildHistoryContentProvider();
    viewer.setContentProvider(contentProvider);

    viewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            Object item = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (item instanceof IBuild) {
                IBuild build = (IBuild) item;
                OpenHandler.fetchAndOpen(getSite().getPage(), build);
            }
        }
    });
}

From source file:org.eclipse.mylyn.internal.builds.ui.view.BuildsView.java

License:Open Source License

protected void createViewer(Composite parent) {
    //      Composite composite = new Composite(parent, SWT.NONE);
    //      TreeColumnLayout treeColumnLayout = new TreeColumnLayout();
    //      composite.setLayout(treeColumnLayout);

    viewer = new TreeViewer(parent, SWT.FULL_SELECTION);
    Tree tree = viewer.getTree();/*www .ja va2s  . c o  m*/
    tree.setHeaderVisible(true);

    TreeViewerColumn buildViewerColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    buildViewerColumn.setLabelProvider(new DecoratingStyledCellLabelProvider(new BuildLabelProvider(true),
            PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator(), null));
    TreeColumn buildColumn = buildViewerColumn.getColumn();
    buildColumn.setText("Build");
    buildColumn.setWidth(220);
    buildColumn.setData(AbstractColumnViewerSupport.KEY_COLUMN_CAN_HIDE, false);
    //treeColumnLayout.setColumnData(buildColumn, new ColumnWeightData(20, 50));

    TreeViewerColumn summaryViewerColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    summaryViewerColumn.setLabelProvider(new BuildSummaryLabelProvider());
    TreeColumn summaryColumn = summaryViewerColumn.getColumn();
    summaryColumn.setText("Summary");
    summaryColumn.setWidth(220);
    //treeColumnLayout.setColumnData(summaryColumn, new ColumnWeightData(60, 200));

    TreeViewerColumn lastBuiltViewerColumn = new TreeViewerColumn(viewer, SWT.RIGHT);
    lastBuiltViewerColumn.setLabelProvider(new RelativeBuildTimeLabelProvider());
    TreeColumn lastBuiltColumn = lastBuiltViewerColumn.getColumn();
    lastBuiltColumn.setText("Last Built");
    lastBuiltColumn.setWidth(50);
    //treeColumnLayout.setColumnData(lastBuiltColumn, new ColumnWeightData(20, 50));

    contentProvider = new BuildContentProvider();
    contentProvider.setSelectedOnly(true);
    viewer.setContentProvider(contentProvider);

    viewer.addOpenListener(new IOpenListener() {
        public void open(OpenEvent event) {
            Object element = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (element instanceof IBuildElement) {
                OpenHandler.open(getSite().getPage(), Collections.singletonList((IBuildElement) element));
            }
        }
    });
}