Example usage for org.eclipse.jface.viewers ViewerCell setForeground

List of usage examples for org.eclipse.jface.viewers ViewerCell setForeground

Introduction

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

Prototype

public void setForeground(Color foreground) 

Source Link

Document

Set the foreground color of the cell.

Usage

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.
 * //from  www  .j a  va2  s . c  om
 * @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.oomph.setup.ui.IndexManagerDialog.java

License:Open Source License

@Override
protected void createUI(Composite parent) {
    indexViewer = new TableViewer(parent, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
    indexViewer.getTable().setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
    indexViewer.setContentProvider(new IStructuredContentProvider() {
        public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
            // Do nothing.
        }/*from  w  ww  .jav a  2s . c  om*/

        public void dispose() {
            // Do nothing.
        }

        public Object[] getElements(Object inputElement) {
            return indexChoices.entrySet().toArray();
        }
    });

    final ColumnViewerInformationControlToolTipSupport columnViewerInformationControlToolTipSupport = new ColumnViewerInformationControlToolTipSupport(
            indexViewer, new LocationListener() {
                public void changing(LocationEvent event) {
                }

                public void changed(LocationEvent event) {
                }
            });

    class MyLabelProvider extends CellLabelProvider implements ILabelProvider {
        private final Color gray = indexViewer.getTable().getDisplay().getSystemColor(SWT.COLOR_DARK_GRAY);

        private final Font normalFont = indexViewer.getTable().getFont();

        private final Font italicFont = ExtendedFontRegistry.INSTANCE.getFont(normalFont,
                IItemFontProvider.ITALIC_FONT);

        private final Font boldFont = ExtendedFontRegistry.INSTANCE.getFont(normalFont,
                IItemFontProvider.BOLD_FONT);

        public String getText(Object element) {
            return asMapEntry(element).getValue();
        }

        public Image getImage(Object element) {
            return SetupUIPlugin.INSTANCE.getSWTImage("full/obj16/Index");
        }

        @Override
        public String getToolTipText(Object element) {
            URI indexLocation = asMapEntry(element).getKey();
            Map<URI, String> indexNames = indexManager.getIndexNames(true);

            StringBuilder result = new StringBuilder();

            String nameLine = "<divs style='white-space:nowrap;'><b>name</b>:&nbsp;"
                    + indexNames.get(indexLocation) + "</div>\n";
            result.append(nameLine);

            String locationLine = "<div style='white-space:nowrap;'><b>location</b>:&nbsp;" + indexLocation
                    + "</div>\n";
            result.append(locationLine);

            String availabilityLine = "<div style='white-space:nowrap;'><b>availability</b>:&nbsp;"
                    + (indexAvailability == null ? "Unknown"
                            : indexAvailability.get(indexLocation) ? "Available" : "Unavailable")
                    + "</div><br/><br/>\n";
            result.append(availabilityLine);

            try {
                AbstractHoverInformationControlManager hoverInformationControlManager = ReflectUtil.getValue(
                        "hoverInformationControlManager", columnViewerInformationControlToolTipSupport);
                int max = Math.max(nameLine.length(), locationLine.length());
                hoverInformationControlManager.setSizeConstraints(max, 6, false, false);
            } catch (Throwable throwable) {
                // Ignore.
            }

            return result.toString();
        }

        @Override
        public void update(ViewerCell cell) {
            Object element = cell.getElement();
            cell.setImage(getImage(element));
            URI indexLocation = asMapEntry(element).getKey();
            if (!originalIndexChoices.containsKey(indexLocation)) {
                cell.setForeground(gray);
            }

            if (indexLocation.equals(originalIndexLocation)) {
                cell.setFont(boldFont);
            } else if (indexAvailability != null && !indexAvailability.get(indexLocation)) {
                cell.setFont(italicFont);
            } else {
                cell.setFont(normalFont);
            }

            cell.setText(getText(element) + "  ");
        }
    }

    final ILabelProvider labelProvider = new MyLabelProvider();
    indexViewer.setLabelProvider(labelProvider);

    final TableViewerFocusCellManager focusCellManager = new TableViewerFocusCellManager(indexViewer,
            new FocusCellOwnerDrawHighlighter(indexViewer));

    indexViewer.addSelectionChangedListener(new ISelectionChangedListener() {
        public void selectionChanged(SelectionChangedEvent event) {
            focusCellManager.getFocusCell();
            updateEnablement();
        }
    });

    indexViewer.setInput(indexManager);

    TextCellEditor textCellEditor = new TextCellEditor(indexViewer.getTable(), SWT.BORDER);
    indexViewer.setCellEditors(new CellEditor[] { textCellEditor });
    indexViewer.setColumnProperties(new String[] { "label" });

    ColumnViewerEditorActivationStrategy editorActivationStrategy = new ColumnViewerEditorActivationStrategy(
            indexViewer) {
        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
                    || event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.keyCode == SWT.F2;
        }
    };

    TableViewerEditor.create(indexViewer, focusCellManager, editorActivationStrategy,
            ColumnViewerEditor.KEYBOARD_ACTIVATION);
    indexViewer.setCellModifier(new ICellModifier() {
        public void modify(Object element, String property, Object value) {
            asMapEntry(((TableItem) element).getData()).setValue((String) value);
            indexViewer.refresh(true);
        }

        public Object getValue(Object element, String property) {
            return labelProvider.getText(element).trim();
        }

        public boolean canModify(Object element, String property) {
            return true;
        }
    });

    if (!indexChoices.isEmpty()) {
        indexViewer.setSelection(new StructuredSelection(indexChoices.entrySet().iterator().next()));
    }
}

From source file:org.eclipse.papyrus.infra.gmfdiag.dnd.preferences.DropStrategyLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    Object element = cell.getElement();

    if (element instanceof DropStrategy) {
        DropStrategy strategy = (DropStrategy) element;
        if (cell.getColumnIndex() == DropStrategyEditor.LABEL_COLUMN) {
            cell.setImage(strategy.getImage());

            int foreground;

            if (DropStrategyManager.instance.isActive(strategy)) {
                foreground = SWT.COLOR_BLACK;
            } else {
                foreground = SWT.COLOR_GRAY;
            }//from  w w  w .  j av a  2 s . co m
            cell.setForeground(Display.getCurrent().getSystemColor(foreground));
            cell.setText(strategy.getLabel());
        }
    }
}

From source file:org.eclipse.ptp.internal.rm.jaxb.control.ui.providers.ViewerDataCellLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    int index = cell.getColumnIndex();
    Object element = cell.getElement();
    Color color = getBackground(element, index);
    if (color != null) {
        cell.setBackground(color);/*w ww.  j  ava  2  s  .  co  m*/
    }
    color = getForeground(element, index);
    if (color != null) {
        cell.setForeground(color);
    } else {
        /*
         * If foreground color is not specified, then we use the edit status of the
         * cell to determine the color. We save the default foreground color to use
         * when the cell is editable.
         */
        if (foregroundColor == null) {
            foregroundColor = cell.getForeground();
        }
        if (!canEdit(element)) {
            cell.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_DARK_GRAY));
        } else {
            cell.setForeground(foregroundColor);
        }
    }
    Font font = getFont(element, index);
    if (font != null) {
        cell.setFont(font);
    }
    Image img = getColumnImage(element, index);
    if (img != null) {
        cell.setImage(img);
    }
    cell.setText(getColumnText(element, index));
}

From source file:org.eclipse.rcptt.verifications.tree.ui.VerificationTreeLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    if (cell.getElement() instanceof Row) {
        Row row = (Row) cell.getElement();
        int ind = cell.getColumnIndex();

        if (row.getValues().size() > ind) {
            Cell cellValue = row.getValues().get(ind);
            ItemData cellData = cellValue.getData();

            if (ignoreStyle) {
                cell.setStyleRanges(null);
                cell.setText(cellData.getText());
            } else {
                StyleRange[] ranges = RangeUtils.fromEMF(cellValue.getStyle(), cell.getItem().getDisplay());

                if (skipStyledText) {
                    cell.setStyleRanges(null);
                    cell.setText(StyleRangeUtils.getNonStyledText(ranges, cellData.getText()));
                } else {
                    cell.setStyleRanges(ranges);
                    cell.setText(cellData.getText());
                }//  w w w  .j  av  a2 s  .  co  m
            }
            cell.setBackground(
                    RangeUtils.colorFromEMF(cellData.getBackgroundColor(), cell.getItem().getDisplay()));
            cell.setForeground(
                    RangeUtils.colorFromEMF(cellData.getForegroundColor(), cell.getItem().getDisplay()));
            if (drawIcons) {
                String imgPath = TreeVerificationUtils.getDecoratedImagePath(cellData.getImage());
                if (images.containsKey(imgPath)) {
                    cell.setImage(images.get(imgPath));
                }
            } else {
                cell.setImage(null);
            }
        }
    }
}

From source file:org.eclipse.scada.ca.ui.importer.wizard.DiffEntryLabelProvider.java

License:Open Source License

@Override
public void update(final ViewerCell cell) {
    final Object ele = cell.getElement();

    if (ele instanceof DiffEntry) {
        final DiffEntry entry = (DiffEntry) ele;

        final int idx = cell.getColumnIndex();
        switch (idx) {
        case 0://from   ww  w .  j a v a  2 s. c  o m
            cell.setText(entry.getFactoryId());
            break;

        case 1:
            cell.setText(entry.getConfigurationId());
            break;

        case 2:
            cell.setText(entry.getOperation().toString());
            break;

        case 3:
            cell.setText(formatData(entry.getAddedOrUpdatedData(), MAX_STR_LENGTH));
            break;

        case 4:
            cell.setText(formatData(entry.getOldData(), MAX_STR_LENGTH));
            break;
        }
    }

    else if (ele instanceof DiffSubEntry) {
        final DiffSubEntry entry = (DiffSubEntry) ele;

        final int idx = cell.getColumnIndex();

        final boolean isEqual = equals(entry.getNewValue(), entry.getOldValue());
        if (isEqual) {
            cell.setForeground(this.equalFgColor);
        }

        switch (idx) {
        case 0:
            break;

        case 1:
            cell.setText(entry.getKey());
            break;

        case 2:
            break;

        case 3:
            cell.setText(entry.getNewValue());
            break;

        case 4:
            cell.setText(entry.getOldValue());
            break;
        }
    }
}

From source file:org.eclipse.scada.da.ui.summary.explorer.NameLabelProviderImpl.java

License:Open Source License

@Override
public void update(final ViewerCell cell) {
    final Object element = cell.getElement();
    if (element instanceof TreeNode) {
        final TreeNode node = (TreeNode) element;
        cell.setText(node.getName());//from   w  w  w. j  a v a2 s. com

        final CurrentStyle style = node.getStyle();
        cell.setImage(style.image);
        cell.setFont(style.font);
        cell.setForeground(style.foreground);
        cell.setBackground(style.background);
    }
}

From source file:org.eclipse.scada.da.ui.widgets.realtime.ItemCellLabelProvider.java

License:Open Source License

private void updateListEntry(final ListEntry listEntry, final ViewerCell cell) {
    cell.setFont(listEntry.getFont());/*from  w  ww  .j  a  va2 s . c om*/
    cell.setForeground(listEntry.getForeground());
    cell.setBackground(listEntry.getBackground());

    switch (cell.getColumnIndex()) {
    case 0:
        cell.setImage(listEntry.getImage());
        cell.setText(listEntry.getDataItem().getItem().getId());
        break;
    case 1:
        if (listEntry.getSubscriptionError() != null) {
            cell.setText(String.format("%s (%s)", listEntry.getSubscriptionState(), //$NON-NLS-1$
                    listEntry.getSubscriptionError().getMessage()));
        } else {
            cell.setText(listEntry.getSubscriptionState().name());
        }
        break;
    case 2:
        if (listEntry.getValue() != null) {
            cell.setText(listEntry.getValue().getType().name());
        }
        break;
    case 3:
        if (listEntry.getValue() != null) {
            cell.setText(listEntry.getValue().asString("<null>")); //$NON-NLS-1$
        }
        break;
    case 4:
        if (listEntry.getItemValue() != null) {
            final Calendar timestamp = listEntry.getItemValue().getTimestamp();
            if (timestamp != null) {
                cell.setText(formatTimestamp(timestamp));
            } else {
                cell.setText(null);
            }
        }
        break;
    default:
        break;
    }
}

From source file:org.eclipse.scada.ide.hd.hdsspy.editors.EntryLabelProvider.java

License:Open Source License

@Override
public void update(final ViewerCell cell) {
    final ArchiveEntry entry = (ArchiveEntry) cell.getElement();

    if (cell.getColumnIndex() == 0) {
        if (entry.isHeartbeat()) {
            if (entry.isDeleted()) {
                cell.setImage(this.resourceManager
                        .createImageWithDefault(Activator.getImageDescriptor("icons/heart-empty.png")));
            } else {
                cell.setImage(this.resourceManager
                        .createImageWithDefault(Activator.getImageDescriptor("icons/heart.png")));
            }//w ww  .j a va2 s.  c  o m
        }
    }

    if (entry.isDeleted()) {
        cell.setForeground(this.resourceManager.createColor(new RGB(128, 128, 128)));
    } else if (entry.isError()) {
        cell.setForeground(this.resourceManager.createColor(new RGB(255, 0, 0)));
    }

    switch (cell.getColumnIndex()) {
    case 0:
        cell.setText(DATE_FORMAT.format(entry.getTimestamp()));
        break;
    case 1:
        cell.setText("" + entry.getValue());
        break;
    case 2:
        cell.setText(makeCheck(entry.isError()));
        break;
    case 3:
        cell.setText(makeCheck(entry.isManual()));
        break;
    case 4:
        cell.setText(makeCheck(entry.isDeleted()));
        break;
    case 5:
        cell.setText(makeCheck(entry.isHeartbeat()));
        break;
    }
}

From source file:org.eclipse.wazaabi.engine.swt.commons.views.collections.ColumnManager.java

License:Open Source License

protected void createViewerColumn(final org.eclipse.swt.widgets.Widget w,
        final AbstractColumnDescriptor columnDescriptor, final int columnIndex) {

    ViewerColumn viewerColumn = null;//from  w  ww  .  java  2 s  .  c  o  m
    if (w instanceof org.eclipse.swt.widgets.Tree) {
        viewerColumn = new TreeViewerColumn((TreeViewer) collectionView.getViewer(),
                getSWTColumnHeaderStyle(columnDescriptor));

        // TODO : not supported yet
        // viewerColumn.getColumn().setMoveable(true);

        final TreeColumn column = ((TreeViewerColumn) viewerColumn).getColumn();

        column.setText(columnDescriptor.getLabel() != null ? columnDescriptor.getLabel() : "");//$NON-NLS-1$

        if (getSWTWidget() instanceof org.eclipse.swt.widgets.Composite
                && ((org.eclipse.swt.widgets.Composite) getSWTWidget())
                        .getLayout() instanceof AbstractColumnLayout) {
            ColumnLayoutData columnLayoutData = null;
            if (columnDescriptor.eClass() == CoreCollectionsStylesPackage.Literals.COLUMN_DESCRIPTOR)
                columnLayoutData = new ColumnPixelData(((ColumnDescriptor) columnDescriptor).getWidth(),
                        columnDescriptor.isResizable());
            else if (columnDescriptor
                    .eClass() == CoreCollectionsStylesPackage.Literals.WEIGHTED_COLUMN_DESCRIPTOR)
                columnLayoutData = new ColumnWeightData(
                        ((WeightedColumnDescriptor) columnDescriptor).getWeight(),
                        ((WeightedColumnDescriptor) columnDescriptor).getMinimumWidth(),
                        columnDescriptor.isResizable());
            ((AbstractColumnLayout) ((org.eclipse.swt.widgets.Composite) getSWTWidget()).getLayout())
                    .setColumnData(column, columnLayoutData);
        }

    } else if (w instanceof org.eclipse.swt.widgets.Table) {
        viewerColumn = new TableViewerColumn((TableViewer) collectionView.getViewer(),
                getSWTColumnHeaderStyle(columnDescriptor));

        // TODO : not supported yet
        // viewerColumn.getColumn().setMoveable(true);

        ((TableViewerColumn) viewerColumn).getColumn()
                .setText(columnDescriptor.getLabel() != null ? columnDescriptor.getLabel() : "");//$NON-NLS-1$

        final TableColumn column = ((TableViewerColumn) viewerColumn).getColumn();

        column.setText(columnDescriptor.getLabel() != null ? columnDescriptor.getLabel() : "");//$NON-NLS-1$

        if (getSWTWidget() instanceof org.eclipse.swt.widgets.Composite
                && ((org.eclipse.swt.widgets.Composite) getSWTWidget())
                        .getLayout() instanceof AbstractColumnLayout) {
            ColumnLayoutData columnLayoutData = null;
            if (columnDescriptor.eClass() == CoreCollectionsStylesPackage.Literals.COLUMN_DESCRIPTOR)
                columnLayoutData = new ColumnPixelData(((ColumnDescriptor) columnDescriptor).getWidth(),
                        columnDescriptor.isResizable());
            else if (columnDescriptor
                    .eClass() == CoreCollectionsStylesPackage.Literals.WEIGHTED_COLUMN_DESCRIPTOR)
                columnLayoutData = new ColumnWeightData(
                        ((WeightedColumnDescriptor) columnDescriptor).getWeight(),
                        ((WeightedColumnDescriptor) columnDescriptor).getMinimumWidth(),
                        columnDescriptor.isResizable());
            ((AbstractColumnLayout) ((org.eclipse.swt.widgets.Composite) getSWTWidget()).getLayout())
                    .setColumnData(column, columnLayoutData);
        }

    }
    if (viewerColumn != null) {
        if (collectionView.getLabelProvider() instanceof PathSelectorLabelProvider) {
            final PathSelectorLabelProvider labelProvider = (PathSelectorLabelProvider) collectionView
                    .getLabelProvider();
            viewerColumn.setLabelProvider(new ColumnLabelProvider() {

                public String getText(Object element) {
                    return labelProvider.getColumnText(element, columnIndex);
                }

                public Image getImage(Object element) {
                    return labelProvider.getColumnImage(element, columnIndex);
                }

            });
        } else if (collectionView.getLabelProvider() instanceof DynamicLabelProvider) {
            final DynamicLabelProvider labelProvider = (DynamicLabelProvider) collectionView.getLabelProvider();
            viewerColumn.setLabelProvider(new StyledCellLabelProvider() {

                @Override
                public void update(ViewerCell cell) {
                    final Object element = cell.getElement();
                    final int columnIndex = cell.getColumnIndex();
                    final Display display = cell.getControl().getDisplay();
                    cell.setText(labelProvider.getColumnText(element, columnIndex));
                    cell.setImage(labelProvider.getColumnImage(element, columnIndex));
                    final Color foreground = labelProvider.getForegroundColor(element, columnIndex, display);
                    if (foreground != null)
                        cell.setForeground(foreground);
                    final Color background = labelProvider.getBackgroundColor(element, columnIndex, display);
                    if (background != null)
                        cell.setBackground(background);
                    final Font font = labelProvider.getFont(element, columnIndex, display, cell.getFont());
                    if (font != null)
                        cell.setFont(font);
                    super.update(cell);
                }
            });
        } else
            viewerColumn.setLabelProvider(new ColumnLabelProvider() {

                public String getText(Object element) {
                    return element != null ? element.toString() : ""; //$NON-NLS-1$
                }

            });
        if (columnDescriptor.getEditingSupport() != null) {
            DynamicEditingSupport dynamicEditingSupport = new DynamicEditingSupport(this, columnDescriptor);
            dynamicEditingSupports.put(columnDescriptor, dynamicEditingSupport);
            viewerColumn.setEditingSupport(dynamicEditingSupport);
        }
    }

}