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: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}.
 * /*from   w  w w .j  a v a 2 s.  c  o m*/
 * @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 v  a  2s.c  o m
 * @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();//w  w w. j  a  va2 s . c o m
    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();/*from  www .  j a  v  a2  s .c  om*/
    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));
            }
        }
    });
}

From source file:org.eclipse.mylyn.internal.reviews.ui.views.ReviewExplorer.java

License:Open Source License

void updateColumn(TreeViewer viewer, final TableColumnProvider provider) {
    TreeColumn column = null;//from   w w w  .  ja v a 2  s .c o  m
    TreeViewerColumn viewerColumn = new TreeViewerColumn(viewer, SWT.NONE);
    final DelegatingStyledCellLabelProvider styledLabelProvider = new DelegatingStyledCellLabelProvider(
            provider) {
        @Override
        public String getToolTipText(Object element) {
            //For some reason tooltips are not delegated..
            return provider.getToolTipText(element);
        };
    };
    viewerColumn.setLabelProvider(styledLabelProvider);
    column = viewerColumn.getColumn();
    column.setText(provider.getTitle());
    if (!provider.isFillAvailable()) {
        column.setWidth(provider.getMinimumSize());
    } else {
        int width = viewer.getTree().getClientArea().width;
        if (!viewer.getTree().getVerticalBar().isVisible()) {
            width -= viewer.getTree().getVerticalBar().getSize().x;
        }
        int allWidths = 0;
        for (TableColumnProvider provider2 : currentProvider.getColumnProviders()) {
            if (provider2 != provider) {
                allWidths += provider2.getMinimumSize();
            }
        }
        column.setWidth((width - allWidths));
    }
    TableLayout layout = (TableLayout) viewer.getTree().getLayout();
    layout.addColumnData(new ColumnWeightData(provider.getWeight(), provider.getMinimumSize()));
}

From source file:org.eclipse.mylyn.internal.team.ui.history.TaskHistoryPage.java

License:Open Source License

@Override
public void createControl(Composite parent) {
    viewer = new TreeViewer(parent, SWT.FULL_SELECTION);
    Tree tree = viewer.getTree();/* w w w  .ja  v a 2s.co  m*/
    tree.setHeaderVisible(true);

    TreeViewerColumn authorViewerColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    authorViewerColumn.setLabelProvider(new AuthorLabelProvider());
    TreeColumn authorColumn = authorViewerColumn.getColumn();
    authorColumn.setText(Messages.TaskHistoryPage_Author_Column_Label);
    authorColumn.setWidth(120);
    authorColumn.setData(AbstractColumnViewerSupport.KEY_COLUMN_CAN_HIDE, false);

    TreeViewerColumn timeViewerColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    timeViewerColumn.setLabelProvider(new TimeLabelProvider());
    TreeColumn timeColumn = timeViewerColumn.getColumn();
    timeColumn.setText(Messages.TaskHistoryPage_Time_Column_Label);
    timeColumn.setWidth(140);

    TreeViewerColumn fieldViewerColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    fieldViewerColumn.setLabelProvider(new FieldLabelProvider());
    TreeColumn fieldColumn = fieldViewerColumn.getColumn();
    fieldColumn.setText(Messages.TaskHistoryPage_Field_Column_Label);
    fieldColumn.setWidth(120);

    TreeViewerColumn removedViewerColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    removedViewerColumn.setLabelProvider(new RemovedLabelProvider());
    TreeColumn remmovedColumn = removedViewerColumn.getColumn();
    remmovedColumn.setText(Messages.TaskHistoryPage_Removed_Column_Label);
    remmovedColumn.setWidth(120);

    TreeViewerColumn addedViewerColumn = new TreeViewerColumn(viewer, SWT.LEFT);
    addedViewerColumn.setLabelProvider(new AddedLabelProvider());
    TreeColumn addedColumn = addedViewerColumn.getColumn();
    addedColumn.setText(Messages.TaskHistoryPage_Added_Column_Label);
    addedColumn.setWidth(120);

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

    viewer.addDoubleClickListener(new IDoubleClickListener() {
        public void doubleClick(DoubleClickEvent event) {
            Object item = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (item instanceof TaskRevision) {
                final TaskRevision revision = (TaskRevision) item;
                final TaskHistory history = (TaskHistory) viewer.getInput();

                CompareConfiguration configuration = new CompareConfiguration();
                configuration.setProperty(CompareConfiguration.IGNORE_WHITESPACE, Boolean.valueOf(true));
                configuration.setLeftEditable(false);
                configuration.setLeftLabel(Messages.TaskHistoryPage_Old_Value_Label);
                configuration.setRightEditable(false);
                configuration.setRightLabel(Messages.TaskHistoryPage_New_Value_Label);
                CompareEditorInput editorInput = new CompareEditorInput(configuration) {
                    @Override
                    protected Object prepareInput(IProgressMonitor monitor)
                            throws InvocationTargetException, InterruptedException {
                        try {
                            AbstractRepositoryConnector connector = TasksUiPlugin.getRepositoryManager()
                                    .getRepositoryConnector(history.getTask().getConnectorKind());
                            TaskData newData = connector.getTaskData(history.getRepository(),
                                    history.getTask().getTaskId(), monitor);
                            TaskData oldData = TasksUiInternal.computeTaskData(newData, history,
                                    revision.getId(), monitor);
                            return new TaskDataDiffNode(Differencer.CHANGE, oldData, newData);
                        } catch (CoreException e) {
                            throw new InvocationTargetException(e);
                        }
                    }
                };
                CompareUI.openCompareEditor(editorInput);
            }
        }
    });
}

From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.dialogs.NewAnomalyInputDialog.java

License:Open Source License

/**
 * Configures the dialog form and creates form content. Clients should override this method.
 * /*w ww.  jav  a 2s .  c o m*/
 * @param mform
 *            the dialog form
 */
@Override
protected void createFormContent(final IManagedForm mform) {

    final FormToolkit toolkit = mform.getToolkit();
    final ScrolledForm sform = mform.getForm();
    sform.setExpandVertical(true);
    final Composite composite = sform.getBody();
    final GridLayout layout = new GridLayout(4, false);
    composite.setLayout(layout);
    GridData textGridData = null;

    //Basic parameters section
    final Section basicSection = toolkit.createSection(composite, Section.DESCRIPTION
            | ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
    final GridData basicSectionGridData = new GridData(GridData.FILL, GridData.FILL, true, false);
    basicSectionGridData.horizontalSpan = 4;
    basicSection.setLayoutData(basicSectionGridData);
    basicSection.setText(R4EUIConstants.BASIC_PARAMS_HEADER);
    basicSection.setDescription(BASIC_PARAMS_HEADER_MSG);
    basicSection.addExpansionListener(new ExpansionAdapter() {
        @Override
        public void expansionStateChanged(ExpansionEvent e) {
            getShell().setSize(getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT));
        }
    });

    final Composite basicSectionClient = toolkit.createComposite(basicSection);
    basicSectionClient.setLayout(layout);
    basicSection.setClient(basicSectionClient);

    //Anomaly Title
    Label label = toolkit.createLabel(basicSectionClient, R4EUIConstants.ANOMALY_TITLE_LABEL_VALUE);
    label.setToolTipText(R4EUIConstants.ANOMALY_TITLE_TOOLTIP);
    label.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false));
    fAnomalyTitleInputTextField = toolkit.createText(basicSectionClient, "", SWT.SINGLE | SWT.BORDER);
    textGridData = new GridData(GridData.FILL, GridData.FILL, true, false);
    textGridData.horizontalSpan = 3;
    fAnomalyTitleInputTextField.setToolTipText(R4EUIConstants.ANOMALY_TITLE_TOOLTIP);
    fAnomalyTitleInputTextField.setLayoutData(textGridData);
    fAnomalyTitleInputTextField.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            // ignore
            if (fAnomalyTitleInputTextField.getText().length() > 0
                    && fAnomalyDescriptionInputTextField.getText().length() > 0) {
                getButton(IDialogConstants.OK_ID).setEnabled(true);
            } else {
                getButton(IDialogConstants.OK_ID).setEnabled(false);
            }
        }
    });

    //Anomaly Description
    label = toolkit.createLabel(basicSectionClient, R4EUIConstants.ANOMALY_DESCRIPTION_LABEL_VALUE);
    label.setToolTipText(R4EUIConstants.ANOMALY_DESCRIPTION_TOOLTIP);
    label.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false));
    fAnomalyDescriptionInputTextField = toolkit.createText(basicSectionClient, "",
            SWT.MULTI | SWT.V_SCROLL | SWT.BORDER);
    textGridData = new GridData(GridData.FILL, GridData.FILL, true, false);
    textGridData.horizontalSpan = 3;
    textGridData.heightHint = fAnomalyTitleInputTextField.getLineHeight() * 7;
    fAnomalyDescriptionInputTextField.setToolTipText(R4EUIConstants.ANOMALY_DESCRIPTION_TOOLTIP);
    fAnomalyDescriptionInputTextField.setLayoutData(textGridData);
    fAnomalyDescriptionInputTextField.addModifyListener(new ModifyListener() {
        public void modifyText(ModifyEvent e) {
            // ignore
            if (fAnomalyTitleInputTextField.getText().length() > 0
                    && fAnomalyDescriptionInputTextField.getText().length() > 0) {
                getButton(IDialogConstants.OK_ID).setEnabled(true);
            } else {
                getButton(IDialogConstants.OK_ID).setEnabled(false);
            }
        }
    });

    //Extra parameters section
    final Section extraSection = toolkit.createSection(composite,
            Section.DESCRIPTION | ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
    final GridData extraSectionGridData = new GridData(GridData.FILL, GridData.FILL, true, true);
    extraSectionGridData.horizontalSpan = 4;
    extraSection.setLayoutData(extraSectionGridData);
    extraSection.setText(R4EUIConstants.EXTRA_PARAMS_HEADER);
    extraSection.setDescription(EXTRA_PARAMS_HEADER_MSG);
    extraSection.addExpansionListener(new ExpansionAdapter() {
        @Override
        public void expansionStateChanged(ExpansionEvent e) {
            getShell().setSize(getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT));
        }
    });

    final Composite extraSectionClient = toolkit.createComposite(extraSection);
    extraSectionClient.setLayout(layout);
    extraSection.setClient(extraSectionClient);

    //Anomaly Class
    label = toolkit.createLabel(extraSectionClient, R4EUIConstants.CLASS_LABEL);
    label.setToolTipText(R4EUIConstants.ANOMALY_CLASS_TOOLTIP);
    label.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false));

    fAnomalyClass = new CCombo(extraSectionClient, SWT.BORDER | SWT.READ_ONLY);
    fAnomalyClass.setItems(UIUtils.getClasses());
    int count = UIUtils.getClasses().length;
    fAnomalyClass.setVisibleItemCount(count);
    textGridData = new GridData(GridData.FILL, GridData.FILL, true, false);
    textGridData.horizontalSpan = 3;
    fAnomalyClass.setToolTipText(R4EUIConstants.ANOMALY_CLASS_TOOLTIP);
    fAnomalyClass.setLayoutData(textGridData);

    //Anomaly Rank    
    label = toolkit.createLabel(extraSectionClient, R4EUIConstants.RANK_LABEL);
    label.setToolTipText(R4EUIConstants.ANOMALY_RANK_TOOLTIP);
    label.setLayoutData(new GridData(GridData.BEGINNING, GridData.BEGINNING, false, false));

    fAnomalyRank = new CCombo(extraSectionClient, SWT.BORDER | SWT.READ_ONLY);
    fAnomalyRank.setItems(UIUtils.getRanks());
    textGridData = new GridData(GridData.FILL, GridData.FILL, true, false);
    textGridData.horizontalSpan = 3;
    fAnomalyRank.setToolTipText(R4EUIConstants.ANOMALY_CLASS_TOOLTIP);
    fAnomalyRank.setLayoutData(textGridData);

    //Assigned To
    label = toolkit.createLabel(extraSectionClient, R4EUIConstants.ASSIGNED_TO_LABEL);
    textGridData = new GridData(GridData.FILL, GridData.FILL, false, false);
    textGridData.horizontalSpan = 1;
    label.setLayoutData(textGridData);

    fAssignedToCombo = new CCombo(extraSectionClient, SWT.BORDER | SWT.READ_ONLY);
    final String[] participants = R4EUIModelController.getActiveReview().getParticipantIDs()
            .toArray(new String[R4EUIModelController.getActiveReview().getParticipantIDs().size()]);
    fAssignedToCombo.removeAll();
    fAssignedToCombo.add("");
    for (String participant : participants) {
        fAssignedToCombo.add(participant);
    }
    textGridData = new GridData(GridData.FILL, GridData.FILL, true, false);
    textGridData.horizontalSpan = 3;
    fAssignedToCombo.setToolTipText(R4EUIConstants.ASSIGNED_TO_TOOLTIP);
    fAssignedToCombo.setLayoutData(textGridData);

    //Due Date
    toolkit.setBorderStyle(SWT.NULL);
    label = toolkit.createLabel(extraSectionClient, R4EUIConstants.DUE_DATE_LABEL);
    textGridData = new GridData(SWT.FILL, SWT.CENTER, false, false);
    textGridData.horizontalSpan = 1;
    label.setLayoutData(textGridData);

    final Composite dateComposite = toolkit.createComposite(extraSectionClient);
    textGridData = new GridData(SWT.FILL, SWT.CENTER, true, true);
    textGridData.horizontalSpan = 3;
    dateComposite.setToolTipText(R4EUIConstants.ANOMALY_DUE_DATE_TOOLTIP);
    dateComposite.setLayoutData(textGridData);
    dateComposite.setLayout(new GridLayout(2, false));

    fDateText = toolkit.createText(dateComposite, "", SWT.READ_ONLY);
    fDateText.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false));
    fDateText.setEditable(false);
    toolkit.setBorderStyle(SWT.BORDER);

    final Composite dateButtonComposite = toolkit.createComposite(dateComposite);
    textGridData = new GridData(SWT.FILL, SWT.CENTER, true, true);
    textGridData.horizontalSpan = 1;
    dateButtonComposite.setToolTipText(R4EUIConstants.ANOMALY_DUE_DATE_TOOLTIP);
    dateButtonComposite.setLayoutData(textGridData);
    dateButtonComposite.setLayout(new GridLayout(2, false));

    final Button calendarButton = toolkit.createButton(dateButtonComposite, R4EUIConstants.UPDATE_LABEL,
            SWT.NONE);
    calendarButton.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false));
    calendarButton.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            final ICalendarDialog dialog = R4EUIDialogFactory.getInstance().getCalendarDialog();
            final int result = dialog.open();
            if (result == Window.OK) {
                final SimpleDateFormat dateFormat = new SimpleDateFormat(R4EUIConstants.SIMPLE_DATE_FORMAT);
                Date dialogDate = dialog.getDate();
                String dialogDateStr = dateFormat.format(dialogDate);
                Calendar cal = Calendar.getInstance();
                cal.setTime(new Date());
                cal.add(Calendar.DAY_OF_YEAR, -1);
                if (dialogDate.after(cal.getTime())) {
                    fDateText.setText(dialogDateStr);
                    fAnomalyDueDateValue = dialogDate;
                } else {
                    UIUtils.displayPastDateError(dialogDate, dialogDateStr);
                }
            }
        }

        public void widgetDefaultSelected(SelectionEvent e) { // $codepro.audit.disable emptyMethod
            // No implementation needed
        }
    });

    final Button clearButton = toolkit.createButton(dateButtonComposite, R4EUIConstants.CLEAR_LABEL, SWT.NONE);
    clearButton.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false));
    clearButton.addSelectionListener(new SelectionListener() {
        public void widgetSelected(SelectionEvent e) {
            fDateText.setText("");
            fAnomalyDueDateValue = null;
        }

        public void widgetDefaultSelected(SelectionEvent e) { // $codepro.audit.disable emptyMethod
            // No implementation needed
        }
    });

    //Rule Tree
    label = toolkit.createLabel(extraSectionClient, ADD_RULE_DIALOG_VALUE);
    textGridData = new GridData(GridData.FILL, GridData.FILL, true, false);
    textGridData.horizontalSpan = 4;
    label.setLayoutData(textGridData);

    fRuleTreeViewer = new TreeViewer(extraSectionClient,
            SWT.FULL_SELECTION | SWT.BORDER | SWT.READ_ONLY | SWT.H_SCROLL | SWT.V_SCROLL);
    fRuleTreeViewer.setContentProvider(new ReviewNavigatorContentProvider());
    fRuleTreeViewer.getTree().setHeaderVisible(true);
    ColumnViewerToolTipSupport.enableFor(fRuleTreeViewer, ToolTip.NO_RECREATE);
    final TreeViewerColumn elementColumn = new TreeViewerColumn(fRuleTreeViewer, SWT.NONE);
    elementColumn.getColumn().setText("Rule Tree");
    elementColumn.getColumn().setWidth(DEFAULT_ELEMENT_COLUMN_WIDTH);
    elementColumn.setLabelProvider(new ReviewNavigatorLabelProvider() {
        @Override
        public String getToolTipText(Object element) {
            if (element instanceof R4EUIRule) {
                return ((R4EUIRule) element).getRule().getDescription();
            }
            return null;
        }

        @Override
        public void update(ViewerCell cell) {
            final IR4EUIModelElement element = (IR4EUIModelElement) cell.getElement();
            if (element instanceof R4EUIRuleSet && !element.isOpen()) {
                cell.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_RED));
            } else {
                cell.setForeground(getShell().getDisplay().getSystemColor(SWT.COLOR_BLACK));
            }
            cell.setText(element.getName());
            cell.setImage(element.getImage(element.getImageLocation()));
        }
    });

    final TreeViewerColumn titleColumn = new TreeViewerColumn(fRuleTreeViewer, SWT.NONE);
    titleColumn.getColumn().setText(R4EUIConstants.TITLE_LABEL);
    titleColumn.getColumn().setWidth(DEFAULT_TREE_COLUMN_WIDTH);
    titleColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof R4EUIRule) {
                return ((R4EUIRule) element).getRule().getTitle();
            }
            return null;
        }

        @Override
        public String getToolTipText(Object element) {
            if (element instanceof R4EUIRule) {
                return ((R4EUIRule) element).getRule().getDescription();
            }
            return null;
        }

        @Override
        public Point getToolTipShift(Object object) {
            return new Point(R4EUIConstants.TOOLTIP_DISPLAY_OFFSET_X, R4EUIConstants.TOOLTIP_DISPLAY_OFFSET_Y);
        }

        @Override
        public int getToolTipDisplayDelayTime(Object object) {
            return R4EUIConstants.TOOLTIP_DISPLAY_DELAY;
        }

        @Override
        public int getToolTipTimeDisplayed(Object object) {
            return R4EUIConstants.TOOLTIP_DISPLAY_TIME;
        }

        @Override
        public void update(ViewerCell cell) {
            final Object element = cell.getElement();
            if (element instanceof R4EUIRule) {
                cell.setText(((R4EUIRule) element).getRule().getTitle());
            } else {
                cell.setText(null);
            }
        }
    });

    final TreeViewerColumn classColumn = new TreeViewerColumn(fRuleTreeViewer, SWT.NONE);
    classColumn.getColumn().setText(R4EUIConstants.CLASS_LABEL);
    classColumn.getColumn().setWidth(DEFAULT_TREE_COLUMN_WIDTH);
    classColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof R4EUIRule) {
                return UIUtils.getClassStr(((R4EUIRule) element).getRule().getClass_());
            }
            return null;
        }

        @Override
        public String getToolTipText(Object element) {
            if (element instanceof R4EUIRule) {
                return ((R4EUIRule) element).getRule().getDescription();
            }
            return null;
        }

        @Override
        public Point getToolTipShift(Object object) {
            return new Point(R4EUIConstants.TOOLTIP_DISPLAY_OFFSET_X, R4EUIConstants.TOOLTIP_DISPLAY_OFFSET_Y);
        }

        @Override
        public int getToolTipDisplayDelayTime(Object object) {
            return R4EUIConstants.TOOLTIP_DISPLAY_DELAY;
        }

        @Override
        public int getToolTipTimeDisplayed(Object object) {
            return R4EUIConstants.TOOLTIP_DISPLAY_TIME;
        }

        @Override
        public void update(ViewerCell cell) {
            final Object element = cell.getElement();
            if (element instanceof R4EUIRule) {
                cell.setText(UIUtils.getClassStr(((R4EUIRule) element).getRule().getClass_()));
            } else {
                cell.setText(null);
            }
        }
    });

    final TreeViewerColumn rankColumn = new TreeViewerColumn(fRuleTreeViewer, SWT.NONE);
    rankColumn.getColumn().setText(R4EUIConstants.RANK_LABEL);
    rankColumn.getColumn().setWidth(DEFAULT_TREE_COLUMN_WIDTH);
    rankColumn.setLabelProvider(new ColumnLabelProvider() {
        @Override
        public String getText(Object element) {
            if (element instanceof R4EUIRule) {
                return UIUtils.getRankStr(((R4EUIRule) element).getRule().getRank());
            }
            return null;
        }

        @Override
        public String getToolTipText(Object element) {
            if (element instanceof R4EUIRule) {
                return ((R4EUIRule) element).getRule().getDescription();
            }
            return null;
        }

        @Override
        public Point getToolTipShift(Object object) {
            return new Point(R4EUIConstants.TOOLTIP_DISPLAY_OFFSET_X, R4EUIConstants.TOOLTIP_DISPLAY_OFFSET_Y);
        }

        @Override
        public int getToolTipDisplayDelayTime(Object object) {
            return R4EUIConstants.TOOLTIP_DISPLAY_DELAY;
        }

        @Override
        public int getToolTipTimeDisplayed(Object object) {
            return R4EUIConstants.TOOLTIP_DISPLAY_TIME;
        }

        @Override
        public void update(ViewerCell cell) {
            final Object element = cell.getElement();
            if (element instanceof R4EUIRule) {
                cell.setText(UIUtils.getRankStr(((R4EUIRule) element).getRule().getRank()));
            } else {
                cell.setText(null);
            }
        }
    });

    fRuleTreeViewer.setInput(R4EUIModelController.getRootElement());

    fRuleTreeViewer.addFilter(new ViewerFilter() {
        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            //Only display rule sets that are included in the parent review group
            if (element instanceof R4EUIRuleSet || element instanceof R4EUIRuleArea
                    || element instanceof R4EUIRuleViolation || element instanceof R4EUIRule) {
                //Get parent RuleSet
                IR4EUIModelElement parentRuleSetElement = (IR4EUIModelElement) element;
                while (!(parentRuleSetElement instanceof R4EUIRuleSet)
                        && null != parentRuleSetElement.getParent()) {
                    if (!parentRuleSetElement.isEnabled()) {
                        return false;
                    }
                    parentRuleSetElement = parentRuleSetElement.getParent();
                }
                //If the current review group contains a reference to this Rule Set, display it
                if ((((R4EUIReviewGroup) R4EUIModelController.getActiveReview().getParent()).getRuleSets()
                        .contains(parentRuleSetElement))) {
                    if (!parentRuleSetElement.isOpen()) {
                        try {
                            ((R4EUIRuleSet) parentRuleSetElement).openReadOnly();
                            fOpenRuleSets.add((R4EUIRuleSet) parentRuleSetElement);
                        } catch (ResourceHandlingException e) {
                            R4EUIPlugin.Ftracer
                                    .traceError("Exception: " + e.toString() + " (" + e.getMessage() + ")");
                            R4EUIPlugin.getDefault().logError("Exception: " + e.toString(), e);
                        } catch (CompatibilityException e) {
                            R4EUIPlugin.Ftracer
                                    .traceError("Exception: " + e.toString() + " (" + e.getMessage() + ")");
                            R4EUIPlugin.getDefault().logError("Exception: " + e.toString(), e);
                        }
                    }
                    return true;
                }
            }
            return false;
        }
    });
    fRuleTreeViewer.expandAll();
    fRuleTreeViewer.refresh();

    textGridData = new GridData(GridData.FILL, GridData.FILL, true, true);
    textGridData.horizontalSpan = 4;
    fRuleTreeViewer.getTree().setLayoutData(textGridData);
    fRuleTreeViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            //Only Rules are selectable
            if (event.getSelection() instanceof IStructuredSelection) {
                if (null == ((IStructuredSelection) event.getSelection()).getFirstElement()) {
                    return;
                }
                if (((IStructuredSelection) event.getSelection()).getFirstElement() instanceof R4EUIRule) {
                    final R4EUIRule rule = (R4EUIRule) ((IStructuredSelection) event.getSelection())
                            .getFirstElement();
                    if (!rule.equals(fSelectedRule)) { //toggle selection
                        fAnomalyTitleInputTextField.setText(rule.getRule().getTitle());
                        fAnomalyDescriptionInputTextField.setText(rule.getRule().getDescription());
                        fAnomalyClass.select(rule.getRule().getClass_().getValue());
                        fAnomalyRank.select(rule.getRule().getRank().getValue());
                        fAnomalyClass.setEnabled(false);
                        fAnomalyRank.setEnabled(false);
                        fAnomalyTitleInputTextField.setEnabled(false);
                        fSelectedRule = rule;
                        fRuleId = buildRuleId();
                        return;
                    }
                }
            }
            fRuleTreeViewer.setSelection(null);
            fAnomalyClass.setEnabled(true);
            fAnomalyRank.setEnabled(true);
            fAnomalyTitleInputTextField.setEnabled(true);
            fSelectedRule = null;
        }
    });

    //Set default focus
    fAnomalyTitleInputTextField.setFocus();
}

From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.navigator.ReviewNavigatorTreeViewer.java

License:Open Source License

/**
 * Method createElementsColumn./*w  w  w. j  a v a 2  s  .  c om*/
 */
public void createElementsColumn() {
    if (null == fElementColumn) {
        final DecoratingCellLabelProvider provider = new DecoratingCellLabelProvider(
                new ReviewNavigatorLabelProvider(), new ReviewNavigatorDecorator());
        fElementColumn = new TreeViewerColumn(this, SWT.NONE);
        fElementColumn.setLabelProvider(provider);
        fElementColumn.getColumn().setMoveable(false);
        fElementColumn.getColumn().setResizable(true);

        fElementColumn.getColumn().addListener(SWT.Selection, new Listener() {
            public void handleEvent(Event event) {
                if (!isDefaultDisplay()) {
                    fTreeTableComparator.setColumnName(R4EUIConstants.ELEMENTS_LABEL_NAME);
                    getTree().setSortDirection(fTreeTableComparator.getDirection());
                    getTree().setSortColumn(fElementColumn.getColumn());
                    refresh();
                }
            }
        });
    }
}

From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.navigator.ReviewNavigatorTreeViewer.java

License:Open Source License

/**
 * Method createPathColumn.//from ww  w  . jav a2 s.c o  m
 */
private void createPathColumn() {
    if (null == fPathColumn) {
        fPathColumn = new TreeViewerColumn(this, SWT.NONE);
        fPathColumn.getColumn().setText(R4EUIConstants.PATH_LABEL);
        fTreeColumnLayout.setColumnData(fPathColumn.getColumn(), new ColumnWeightData(0, true));
        fPathColumn.getColumn().setMoveable(true);
        fPathColumn.getColumn().setResizable(true);
        fPathColumn.setLabelProvider(new ColumnLabelProvider() {
            @Override
            public String getText(Object aElement) {
                if (aElement instanceof R4EUIFileContext) {
                    //First try target file version
                    R4EFileVersion version = ((R4EUIFileContext) aElement).getTargetFileVersion();
                    if (null != version) {
                        return UIUtils.getProjectPath(version);
                    } else {
                        //Try base file version
                        version = ((R4EUIFileContext) aElement).getBaseFileVersion();
                        if (null != version) {
                            return UIUtils.getProjectPath(version);
                        } else {
                            return INVALID_PATH;
                        }
                    }
                } else {
                    return null;
                }
            }

            @Override
            public String getToolTipText(Object aElement) {
                final StringBuffer buffer = new StringBuffer();
                if (aElement instanceof R4EUIFileContext) {
                    final R4EFileVersion targetVersion = ((R4EUIFileContext) aElement).getTargetFileVersion();
                    final R4EFileVersion baseVersion = ((R4EUIFileContext) aElement).getBaseFileVersion();
                    buffer.append(R4EUIConstants.FILE_LABEL);
                    if (null != targetVersion) {
                        buffer.append(UIUtils.getProjectPath(targetVersion));
                    } else if (null != baseVersion) {
                        buffer.append(UIUtils.getProjectPath(baseVersion));
                    } else {
                        buffer.append(INVALID_PATH);
                    }
                    buffer.append(R4EUIConstants.LINE_FEED);
                    buffer.append(VERSION_TARGET_LABEL);
                    if (null == targetVersion) {
                        buffer.append(R4EUIConstants.NO_VERSION_PROPERTY_MESSAGE);
                    } else {
                        buffer.append(targetVersion.getVersionID());
                    }
                    buffer.append(R4EUIConstants.LINE_FEED);
                    buffer.append(VERSION_BASE_LABEL);
                    if (null == baseVersion) {
                        buffer.append(R4EUIConstants.NO_VERSION_PROPERTY_MESSAGE);
                    } else {
                        buffer.append(baseVersion.getVersionID());
                    }
                    return buffer.toString();
                }
                return null;
            }

            @Override
            public Point getToolTipShift(Object object) {
                return new Point(R4EUIConstants.TOOLTIP_DISPLAY_OFFSET_X,
                        R4EUIConstants.TOOLTIP_DISPLAY_OFFSET_Y);
            }

            @Override
            public int getToolTipDisplayDelayTime(Object object) {
                return R4EUIConstants.TOOLTIP_DISPLAY_DELAY;
            }

            @Override
            public int getToolTipTimeDisplayed(Object object) {
                return R4EUIConstants.TOOLTIP_DISPLAY_TIME;
            }

            @Override
            public void update(ViewerCell cell) {
                final Object element = cell.getElement();
                if (element instanceof R4EUIFileContext) {
                    //First try target file version
                    R4EFileVersion version = ((R4EUIFileContext) element).getTargetFileVersion();
                    if (null != version) {
                        cell.setText(UIUtils.getProjectPath(version));
                    } else {
                        //Try base file version
                        version = ((R4EUIFileContext) element).getBaseFileVersion();
                        if (null != version) {
                            cell.setText(UIUtils.getProjectPath(version));
                        } else {
                            cell.setText(INVALID_PATH);
                        }
                    }
                } else {
                    cell.setText(null);
                }
            }
        });

        fPathColumn.getColumn().addListener(SWT.Selection, new Listener() {
            public void handleEvent(Event event) {
                fTreeTableComparator.setColumnName(R4EUIConstants.PATH_LABEL);
                getTree().setSortDirection(fTreeTableComparator.getDirection());
                getTree().setSortColumn(fPathColumn.getColumn());
                refresh();
            }
        });
    }
}

From source file:org.eclipse.mylyn.reviews.r4e.ui.internal.navigator.ReviewNavigatorTreeViewer.java

License:Open Source License

/**
 * Method createAssignmentColumn.//  ww w . j a  v a  2 s  . co  m
 */
private void createAssignmentColumn() {
    if (null == fAssignColumn) {
        fAssignColumn = new TreeViewerColumn(this, SWT.NONE);
        fAssignColumn.getColumn().setText(R4EUIConstants.ASSIGNED_TO_LABEL2);
        fTreeColumnLayout.setColumnData(fAssignColumn.getColumn(), new ColumnWeightData(0, true));
        fAssignColumn.getColumn().setMoveable(true);
        fAssignColumn.getColumn().setResizable(true);
        fAssignColumn.setLabelProvider(new ColumnLabelProvider() {
            @Override
            public String getText(Object element) {
                if (element instanceof R4EUIReviewItem) {
                    return UIUtils
                            .formatAssignedParticipants(((R4EUIReviewItem) element).getItem().getAssignedTo());
                } else if (element instanceof R4EUIFileContext) {
                    return UIUtils.formatAssignedParticipants(
                            ((R4EUIFileContext) element).getFileContext().getAssignedTo());
                }
                return null;
            }

            @Override
            public String getToolTipText(Object element) {
                return null;
            }

            @Override
            public Point getToolTipShift(Object object) {
                return new Point(R4EUIConstants.TOOLTIP_DISPLAY_OFFSET_X,
                        R4EUIConstants.TOOLTIP_DISPLAY_OFFSET_Y);
            }

            @Override
            public int getToolTipDisplayDelayTime(Object object) {
                return R4EUIConstants.TOOLTIP_DISPLAY_DELAY;
            }

            @Override
            public int getToolTipTimeDisplayed(Object object) {
                return 0;
            }

            @Override
            public void update(ViewerCell cell) {
                final Object element = cell.getElement();
                if (element instanceof R4EUIReviewItem) {
                    cell.setText(UIUtils
                            .formatAssignedParticipants(((R4EUIReviewItem) element).getItem().getAssignedTo()));
                } else if (element instanceof R4EUIFileContext) {
                    cell.setText(UIUtils.formatAssignedParticipants(
                            ((R4EUIFileContext) element).getFileContext().getAssignedTo()));
                } else {
                    cell.setText(null);
                }
            }
        });

        fAssignColumn.getColumn().addListener(SWT.Selection, new Listener() {
            public void handleEvent(Event event) {
                fTreeTableComparator.setColumnName(R4EUIConstants.ASSIGNED_TO_LABEL2);
                getTree().setSortDirection(fTreeTableComparator.getDirection());
                getTree().setSortColumn(fAssignColumn.getColumn());
                refresh();
            }
        });
    }
}