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

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

Introduction

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

Prototype

public TreeColumn getColumn() 

Source Link

Usage

From source file:org.eclipse.emf.ecoretools.legacy.properties.internal.sections.EAnnotationPropertySection.java

License:Open Source License

private void createMapEntryViewer(Composite parent, GridData layoutData) {
    mapEntryViewer = createTreeViewer(parent, layoutData);

    final TextCellEditor textCellEditor = new TextCellEditor(mapEntryViewer.getTree());
    TreeViewerColumn columnKey = new TreeViewerColumn(mapEntryViewer, SWT.NONE);
    columnKey.getColumn().setResizable(true);
    columnKey.getColumn().setMoveable(true);
    columnKey.getColumn().setWidth(200);
    columnKey.getColumn().setText(Messages.EAnnotationPropertySection_Key);
    columnKey.setLabelProvider(new ColumnLabelProvider() {

        private ILabelProvider labelProvider = getLabelProvider();

        /**/*from w w w  . j a v  a2  s.  co  m*/
         * @see org.eclipse.jface.viewers.ColumnLabelProvider#getText(java.lang.Object)
         */
        @Override
        public String getText(Object element) {
            if (element instanceof Entry) {
                return (((Entry<?, ?>) element).getKey() != null) ? ((Entry<?, ?>) element).getKey().toString()
                        : Messages.EAnnotationPropertySection_Null;
            }
            return Messages.EAnnotationPropertySection_Unknown;
        }

        /**
         * @see org.eclipse.jface.viewers.ColumnLabelProvider#getImage(java.lang.Object)
         */
        @Override
        public Image getImage(Object element) {
            return labelProvider.getImage(element);
        }

        /**
         * @see org.eclipse.jface.viewers.BaseLabelProvider#dispose()
         */
        @Override
        public void dispose() {
            labelProvider.dispose();
            super.dispose();
        }

    });
    columnKey.setEditingSupport(new EditingSupport(eAnnotationViewer) {

        @Override
        protected boolean canEdit(Object element) {
            if (false == element instanceof Entry) {
                return false;
            }
            return true;
        }

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

        @Override
        protected Object getValue(Object element) {
            if (false == element instanceof Entry) {
                return ""; //$NON-NLS-1$
            }
            return ((((Entry<?, ?>) element).getKey() == null) ? "" : ((Entry<?, ?>) element).getKey()); //$NON-NLS-1$
        }

        @Override
        protected void setValue(Object element, Object value) {
            if (false == element instanceof Entry) {
                return;
            }
            final String text = value.toString();
            if (currentEAnnotation != null && currentEAnnotation.getDetails().get(text) != null) {
                return;
            }
            final Entry<?, ?> entry = (Entry<?, ?>) element;
            getEditingDomain().getCommandStack()
                    .execute(new EMFRecordingChangeCommand(getEObject().eResource()) {

                        @Override
                        protected void doExecute() {
                            currentEAnnotation.getDetails().put(text, entry.getValue().toString());
                            currentEAnnotation.getDetails().remove(entry);
                        }
                    });

            mapEntryViewer.refresh();
        }

    });

    TreeViewerColumn columnValue = new TreeViewerColumn(mapEntryViewer, SWT.NONE);
    columnValue.getColumn().setResizable(true);
    columnValue.getColumn().setMoveable(true);
    columnValue.getColumn().setWidth(200);
    columnValue.getColumn().setText(Messages.EAnnotationPropertySection_Value);
    columnValue.setLabelProvider(new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            if (false == element instanceof Entry) {
                return ""; //$NON-NLS-1$
            }
            return ((((Entry<?, ?>) element).getValue() == null) ? "" //$NON-NLS-1$
                    : ((Entry<?, ?>) element).getValue().toString());
        }

    });

    final DialogCellEditor dialogCellEditor = new ExtendedDialogCellEditor(mapEntryViewer.getTree(),
            getLabelProvider()) {

        @Override
        protected Object openDialogBox(Control cellEditorWindow) {
            MultiLineInputDialog dialog = new MultiLineInputDialog(cellEditorWindow.getShell(),
                    Messages.EAnnotationPropertySection_EntryValue, null, getCurrentEntryValue(), null);
            dialog.open();

            return dialog.getValue();
        }

        private String getCurrentEntryValue() {
            if (currentEntry == null) {
                return ""; //$NON-NLS-1$
            }
            return currentEntry.getValue().toString();
        }
    };
    columnValue.setEditingSupport(new EditingSupport(eAnnotationViewer) {

        @Override
        protected boolean canEdit(Object element) {
            if (false == element instanceof Entry) {
                return false;
            }
            return true;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return dialogCellEditor;
        }

        @Override
        protected Object getValue(Object element) {
            if (false == element instanceof Entry) {
                return ""; //$NON-NLS-1$
            }
            return ((((Entry<?, ?>) element).getValue() == null) ? "" : ((Entry<?, ?>) element).getValue()); //$NON-NLS-1$
        }

        @Override
        protected void setValue(Object element, Object value) {
            if (false == element instanceof Entry) {
                return;
            }
            final String text = value.toString();
            @SuppressWarnings("unchecked")
            final Entry<?, String> entry = (Entry<?, String>) element;
            getEditingDomain().getCommandStack()
                    .execute(new EMFRecordingChangeCommand(getEObject().eResource()) {

                        @Override
                        protected void doExecute() {
                            entry.setValue(text);
                        }
                    });

            mapEntryViewer.update(element, null);
        }

    });

    mapEntryViewer.setContentProvider(new ViewerContentProvider());
    mapEntryViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            if (false == event.getSelection() instanceof IStructuredSelection) {
                currentEntry = null;
                return;
            }
            Object selection = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (false == selection instanceof Entry) {
                currentEntry = null;
                return;
            }
            currentEntry = (Entry<?, ?>) selection;
        }

    });
}

From source file:org.eclipse.emf.ecoretools.legacy.properties.internal.sections.EAnnotationPropertySection.java

License:Open Source License

private void createEAnnotationViewer(Composite parent, GridData layoutData) {
    eAnnotationViewer = createTreeViewer(parent, layoutData);

    final TextCellEditor textCellEditor = new TextCellEditor(eAnnotationViewer.getTree());
    TreeViewerColumn columnName = new TreeViewerColumn(eAnnotationViewer, SWT.NONE);
    columnName.getColumn().setResizable(true);
    columnName.getColumn().setMoveable(true);
    columnName.getColumn().setWidth(200);
    columnName.getColumn().setText(Messages.EAnnotationPropertySection_Source);
    columnName.setLabelProvider(new ColumnLabelProvider() {

        private ILabelProvider labelProvider = getLabelProvider();

        /**/*from w ww .j av a2 s .  c  o  m*/
         * @see org.eclipse.jface.viewers.ColumnLabelProvider#getText(java.lang.Object)
         */
        @Override
        public String getText(Object element) {
            if (element instanceof EAnnotation) {
                return ((EAnnotation) element).getSource();
            }
            return Messages.EAnnotationPropertySection_Unknown;
        }

        /**
         * @see org.eclipse.jface.viewers.ColumnLabelProvider#getImage(java.lang.Object)
         */
        @Override
        public Image getImage(Object element) {
            return labelProvider.getImage(element);
        }

        /**
         * @see org.eclipse.jface.viewers.BaseLabelProvider#dispose()
         */
        @Override
        public void dispose() {
            labelProvider.dispose();
            super.dispose();
        }

    });
    columnName.setEditingSupport(new EditingSupport(eAnnotationViewer) {

        @Override
        protected boolean canEdit(Object element) {
            if (false == element instanceof EAnnotation) {
                return false;
            }
            return true;
        }

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

        @Override
        protected Object getValue(Object element) {
            if (false == element instanceof EAnnotation) {
                return ""; //$NON-NLS-1$
            }
            return ((((EAnnotation) element).getSource() == null) ? "" : ((EAnnotation) element).getSource()); //$NON-NLS-1$
        }

        @Override
        protected void setValue(Object element, Object value) {
            if (false == element instanceof EAnnotation) {
                return;
            }
            final String text = value.toString();
            if (((EModelElement) getEObject()).getEAnnotation(text) != null) {
                return;
            }
            final EAnnotation eAnnotation = (EAnnotation) element;
            getEditingDomain().getCommandStack()
                    .execute(new EMFRecordingChangeCommand(getEObject().eResource()) {

                        @Override
                        protected void doExecute() {
                            eAnnotation.setSource(text);
                        }
                    });

            eAnnotationViewer.update(element, null);
        }

    });

    TreeViewerColumn columnEReference = new TreeViewerColumn(eAnnotationViewer, SWT.NONE);
    columnEReference.getColumn().setResizable(true);
    columnEReference.getColumn().setMoveable(true);
    columnEReference.getColumn().setWidth(200);
    columnEReference.getColumn().setText(Messages.EAnnotationPropertySection_References);
    columnEReference.setLabelProvider(new ColumnLabelProvider() {

        private ILabelProvider labelProvider = getLabelProvider();

        /**
         * @see org.eclipse.jface.viewers.ColumnLabelProvider#getText(java.lang.Object)
         */
        @Override
        public String getText(Object element) {
            if (false == element instanceof EAnnotation) {
                return ""; //$NON-NLS-1$
            }
            String content = ""; //$NON-NLS-1$
            for (EObject eObject : ((EAnnotation) element).getReferences()) {
                content = labelProvider.getText(eObject) + ", " + content; //$NON-NLS-1$
            }

            return content;
        }

        /**
         * @see org.eclipse.jface.viewers.BaseLabelProvider#dispose()
         */
        @Override
        public void dispose() {
            labelProvider.dispose();
            super.dispose();
        }

    });

    final DialogCellEditor dialogCellEditor = new ExtendedDialogCellEditor(eAnnotationViewer.getTree(),
            getLabelProvider()) {

        @Override
        protected Object openDialogBox(Control cellEditorWindow) {
            FeatureEditorDialog dialog = new FeatureEditorDialog(cellEditorWindow.getShell(), labelProvider,
                    currentEAnnotation, EcorePackage.Literals.EANNOTATION__REFERENCES,
                    Messages.EAnnotationPropertySection_ChooseReferences, getPotentialReferences());
            dialog.open();

            return dialog.getResult();
        }

        private List<?> getPotentialReferences() {
            List<EObject> potentialMatches = new ArrayList<EObject>();
            if (currentEAnnotation.eResource() == null) {
                return Collections.emptyList();
            }
            for (Iterator<EObject> it = currentEAnnotation.eResource().getAllContents(); it.hasNext();) {
                potentialMatches.add(it.next());
            }

            return potentialMatches;
        }
    };
    columnEReference.setEditingSupport(new EditingSupport(eAnnotationViewer) {

        private ILabelProvider labelProvider = getLabelProvider();

        @Override
        protected boolean canEdit(Object element) {
            if (false == element instanceof EAnnotation) {
                return false;
            }
            return true;
        }

        @Override
        protected CellEditor getCellEditor(Object element) {
            return dialogCellEditor;
        }

        @Override
        protected Object getValue(Object element) {
            if (false == element instanceof EAnnotation) {
                return ""; //$NON-NLS-1$
            }
            String content = ""; //$NON-NLS-1$
            for (EObject eObject : ((EAnnotation) element).getReferences()) {
                content = labelProvider.getText(eObject) + ", " + content; //$NON-NLS-1$
            }

            return content;
        }

        @Override
        protected void setValue(Object element, final Object value) {
            if (false == element instanceof EAnnotation || value == null) {
                return;
            }
            final EAnnotation eAnnotation = (EAnnotation) element;
            getEditingDomain().getCommandStack()
                    .execute(new EMFRecordingChangeCommand(getEObject().eResource()) {

                        @Override
                        protected void doExecute() {
                            if (value instanceof List) {
                                eAnnotation.getReferences().clear();
                                @SuppressWarnings("unchecked")
                                List<EObject> eObjectValues = (List<EObject>) value;
                                eAnnotation.getReferences().addAll(eObjectValues);
                            }
                        }
                    });

            eAnnotationViewer.update(element, null);
        }

    });

    eAnnotationViewer.setContentProvider(new ViewerContentProvider());
    eAnnotationViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            if (false == event.getSelection() instanceof IStructuredSelection) {
                currentEAnnotation = null;
                return;
            }
            Object selection = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (false == selection instanceof EAnnotation) {
                currentEAnnotation = null;
                return;
            }
            currentEAnnotation = (EAnnotation) selection;
            mapEntryViewer.setInput(getMapEntries());
        }

    });
}

From source file:org.eclipse.emf.emfstore.internal.client.ui.views.historybrowserview.HistoryBrowserView.java

License:Open Source License

private TreeViewerColumn createColumn(String label, int width) {
    final TreeViewerColumn column = new TreeViewerColumn(viewer, SWT.MULTI);
    column.getColumn().setText(label);
    column.getColumn().setWidth(width);//from  ww  w. j a  va 2 s  .  co  m
    return column;
}

From source file:org.eclipse.equinox.internal.p2.importexport.internal.wizard.AbstractPage.java

License:Open Source License

private void createColumns(TreeViewer treeViewer) {
    String[] titles = { Messages.Column_Name, Messages.Column_Version, Messages.Column_Id };
    for (int i = 0; i < titles.length; i++) {
        TreeViewerColumn column = new TreeViewerColumn(treeViewer, SWT.NONE);
        column.getColumn().setText(titles[i]);
        column.getColumn().setResizable(true);
        column.getColumn().setMoveable(true);
        if (Messages.Column_Name.equals(titles[i]))
            updateTableSorting(i);/*  w  w  w .j av a2s .com*/
        final int columnIndex = i;
        column.getColumn().addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                updateTableSorting(columnIndex);
            }
        });
    }
}

From source file:org.eclipse.equinox.internal.p2.ui.dialogs.RemediationGroup.java

License:Open Source License

public void createRemediationControl(Composite container) {
    remediationComposite = new Composite(container, SWT.NONE);
    remediationComposite.setLayout(new GridLayout());
    Listener solutionslistener;//from   w w  w. j  av  a2  s . c o m

    Label descriptionLabel = new Label(remediationComposite, SWT.NONE);
    descriptionLabel.setText(ProvUIMessages.RemediationPage_SubDescription);

    solutionslistener = new Listener() {
        public void handleEvent(Event e) {
            Button btn = (Button) e.widget;
            Remedy remedy = (btn.getData() == null ? null : (Remedy) btn.getData());
            checkboxes.get(ALLOWPARTIALINSTALL_INDEX)
                    .setSelection(remedy != null && remedy.getConfig().allowPartialInstall);
            checkboxes.get(ALLOWDIFFERENTVERSION_INDEX)
                    .setSelection(remedy != null && remedy.getConfig().allowDifferentVersion);
            checkboxes.get(ALLOWINSTALLEDUPDATE_INDEX)
                    .setSelection(remedy != null && remedy.getConfig().allowInstalledUpdate);
            checkboxes.get(ALLOWINSTALLEDREMOVAL_INDEX)
                    .setSelection(remedy != null && remedy.getConfig().allowInstalledRemoval);
            for (Iterator<Button> iterator = checkboxes.iterator(); iterator.hasNext();) {
                Button btn1 = iterator.next();
                btn1.setVisible(true);
            }
            if (btn == buildMyOwnSolution && btn.getSelection()) {
                checkBoxesComposite.setVisible(true);
                ((GridData) checkBoxesComposite.getLayoutData()).exclude = false;
            } else {
                checkBoxesComposite.setVisible(false);
                ((GridData) checkBoxesComposite.getLayoutData()).exclude = true;
            }
            currentRemedy = searchRemedyMatchingUserChoices();
            refreshResultComposite();
            remediationComposite.layout(false);
        }
    };

    bestBeingInstalledRelaxedButton = new Button(remediationComposite, SWT.RADIO);
    bestBeingInstalledRelaxedButton.setText(ProvUIMessages.RemediationPage_BestSolutionBeingInstalledRelaxed);
    bestBeingInstalledRelaxedButton.addListener(SWT.Selection, solutionslistener);

    bestInstalledRelaxedButton = new Button(remediationComposite, SWT.RADIO);
    bestInstalledRelaxedButton.setText(ProvUIMessages.RemediationPage_BestSolutionInstallationRelaxed);
    bestInstalledRelaxedButton.addListener(SWT.Selection, solutionslistener);

    buildMyOwnSolution = new Button(remediationComposite, SWT.RADIO);
    buildMyOwnSolution.setText(ProvUIMessages.RemediationPage_BestSolutionBuilt);
    buildMyOwnSolution.addListener(SWT.Selection, solutionslistener);

    Listener checkboxListener = new Listener() {
        public void handleEvent(Event e) {
            currentRemedy = searchRemedyMatchingUserChoices();
            refreshResultComposite();
        }
    };
    checkBoxesComposite = new Composite(remediationComposite, SWT.NONE);
    checkBoxesComposite.setLayout(new GridLayout(1, false));
    GridData data = new GridData();
    data.exclude = false;
    data.horizontalAlignment = SWT.FILL;
    checkBoxesComposite.setLayoutData(data);

    GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false);
    gd.horizontalIndent = 30;
    Iterator<String> iter = CONSTRAINTS.keySet().iterator();
    while (iter.hasNext()) {
        String key = iter.next();
        String[] values = CONSTRAINTS.get(key);
        for (String value : values) {
            Button checkBtn = new Button(checkBoxesComposite, SWT.CHECK);
            checkBtn.setText(value);
            checkBtn.setData(value);
            checkBtn.setLayoutData(gd);
            checkBtn.addListener(SWT.Selection, checkboxListener);
            checkboxes.add(checkBtn);
        }

    }

    resultComposite = new Composite(remediationComposite, SWT.NONE);
    // GridLayoutFactory.fillDefaults().numColumns(1).applyTo(resultComposite);
    switchRemediationLayout = new StackLayout();
    resultComposite.setLayout(switchRemediationLayout);
    GridData data1 = new GridData(GridData.FILL_BOTH);
    resultComposite.setLayoutData(data1);

    resultErrorComposite = new Composite(resultComposite, SWT.NONE);
    resultErrorComposite.setLayout(new GridLayout());
    resultErrorComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    resultNotFoundComposite = new Composite(resultComposite, SWT.NONE);
    resultNotFoundComposite.setLayout(new GridLayout());
    Label resultNotFoundLabel = new Label(resultNotFoundComposite, SWT.NONE);
    resultNotFoundLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
    resultNotFoundLabel.setText(ProvUIMessages.RemediationPage_NoSolutionFound);

    resultFoundComposite = new Composite(resultComposite, SWT.NONE);
    resultFoundComposite.setLayout(new GridLayout());

    Group insideFoundComposite = new Group(resultFoundComposite, SWT.NONE);
    insideFoundComposite.setText(ProvUIMessages.RemediationPage_SolutionDetails);
    GridLayout gridLayout = new GridLayout();
    gridLayout.marginWidth = 0;
    gridLayout.marginHeight = 0;
    insideFoundComposite.setLayout(gridLayout);
    insideFoundComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));

    treeViewer = new TreeViewer(insideFoundComposite, SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION);
    ColumnViewerToolTipSupport.enableFor(treeViewer);
    data = new GridData(GridData.FILL_BOTH);
    Tree tree = treeViewer.getTree();
    tree.setLayoutData(data);
    tree.setHeaderVisible(true);
    TreeViewerColumn nameColumn = new TreeViewerColumn(treeViewer, SWT.LEFT);
    nameColumn.getColumn().setText(ProvUIMessages.ProvUI_NameColumnTitle);
    nameColumn.getColumn().setWidth(400);
    nameColumn.getColumn().setMoveable(true);
    nameColumn.getColumn().addSelectionListener(columnChangeListener(0));
    nameColumn.setLabelProvider(new ColumnLabelProvider() {
        public String getText(Object element) {
            if (element instanceof RemedyElementCategory)
                return ((RemedyElementCategory) element).getName();
            if (element instanceof RemedyIUDetail) {
                RemedyIUDetail iu = (RemedyIUDetail) element;
                String label = iu.getIu().getProperty(IInstallableUnit.PROP_NAME, null);
                if (label == null)
                    label = iu.getIu().getId();
                return label;
            }
            return super.getText(element);
        }

        public Image getImage(Object element) {
            if (element instanceof RemedyElementCategory) {
                RemedyElementCategory category = (RemedyElementCategory) element;
                if (category.getName().equals(ProvUIMessages.RemedyCategoryAdded))
                    return ProvUIImages.getImage(ProvUIImages.IMG_ADDED);
                if (category.getName().equals(ProvUIMessages.RemedyCategoryChanged))
                    return ProvUIImages.getImage(ProvUIImages.IMG_CHANGED);
                if (category.getName().equals(ProvUIMessages.RemedyCategoryNotAdded))
                    return ProvUIImages.getImage(ProvUIImages.IMG_NOTADDED);
                if (category.getName().equals(ProvUIMessages.RemedyCategoryRemoved))
                    return ProvUIImages.getImage(ProvUIImages.IMG_REMOVED);
            } else if (element instanceof RemedyIUDetail) {
                RemedyIUDetail iuDetail = (RemedyIUDetail) element;
                int status = compare(iuDetail);
                if (compare(iuDetail.getBeingInstalledVersion(), iuDetail.getRequestedVersion()) < 0
                        && containerPage != null && containerPage.getWizard() instanceof UpdateWizard) {
                    Image img = ProvUIImages.getImage(ProvUIImages.IMG_UPGRADED_IU);
                    ImageDescriptor overlay = ProvUIActivator.getDefault().getImageRegistry()
                            .getDescriptor(ProvUIImages.IMG_INFO);
                    String decoratedImageId = ProvUIImages.IMG_UPGRADED_IU.concat(ProvUIImages.IMG_INFO);
                    if (ProvUIActivator.getDefault().getImageRegistry().get(decoratedImageId) == null) {
                        DecorationOverlayIcon decoratedImage = new DecorationOverlayIcon(img, overlay,
                                IDecoration.BOTTOM_RIGHT);
                        ProvUIActivator.getDefault().getImageRegistry().put(decoratedImageId, decoratedImage);
                    }
                    Image decoratedImg = ProvUIActivator.getDefault().getImageRegistry().get(decoratedImageId);
                    return decoratedImg;
                }

                if (status < 0)
                    return ProvUIImages.getImage(ProvUIImages.IMG_DOWNGRADED_IU);
                if (status > 0)
                    return ProvUIImages.getImage(ProvUIImages.IMG_UPGRADED_IU);
                return ProvUIImages.getImage(ProvUIImages.IMG_IU);
            }
            return super.getImage(element);
        }

        public String getToolTipText(Object element) {
            if (element instanceof RemedyIUDetail) {
                RemedyIUDetail iuDetail = (RemedyIUDetail) element;
                String toolTipText = ""; //$NON-NLS-1$
                List<String> versions = new ArrayList<String>();
                if (iuDetail.getInstalledVersion() != null)
                    versions.add(ProvUIMessages.RemedyElementInstalledVersion
                            + iuDetail.getInstalledVersion().toString());
                if (iuDetail.getRequestedVersion() != null)
                    versions.add(ProvUIMessages.RemedyElementRequestedVersion
                            + iuDetail.getRequestedVersion().toString());
                if (iuDetail.getBeingInstalledVersion() != null)
                    versions.add(ProvUIMessages.RemedyElementBeingInstalledVersion
                            + iuDetail.getBeingInstalledVersion().toString());
                for (Iterator<String> iterator = versions.iterator(); iterator.hasNext();) {
                    String version = iterator.next();
                    toolTipText += (toolTipText == "" ? "" : "\n") + version; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
                }
                if (containerPage != null && containerPage.getWizard() instanceof UpdateWizard
                        && compare(iuDetail.getBeingInstalledVersion(), iuDetail.getRequestedVersion()) < 0)
                    toolTipText = ProvUIMessages.RemedyElementNotHighestVersion + "\n\n" + toolTipText; //$NON-NLS-1$
                return toolTipText;
            }
            return super.getToolTipText(element);
        }

        private int compare(Version versionA, Version versionB) {
            if (versionA != null && versionB != null)
                return versionA.compareTo(versionB);
            return 0;
        }

        private int compare(RemedyIUDetail iuDetail) {
            if (iuDetail.getStatus() == RemedyIUDetail.STATUS_ADDED && iuDetail.getRequestedVersion() != null
                    && iuDetail.getBeingInstalledVersion() != null) {
                return compare(iuDetail.getBeingInstalledVersion(), iuDetail.getRequestedVersion());
            }
            if (iuDetail.getStatus() == RemedyIUDetail.STATUS_CHANGED && iuDetail.getInstalledVersion() != null
                    && iuDetail.getBeingInstalledVersion() != null) {
                return compare(iuDetail.getBeingInstalledVersion(), iuDetail.getInstalledVersion());
            }
            return 0;
        }
    });
    TreeViewerColumn versionColumn = new TreeViewerColumn(treeViewer, SWT.LEFT);
    versionColumn.getColumn().setText(ProvUIMessages.ProvUI_VersionColumnTitle);
    versionColumn.getColumn().setWidth(200);
    versionColumn.getColumn().addSelectionListener(columnChangeListener(1));
    versionColumn.setLabelProvider(new ColumnLabelProvider() {
        public String getText(Object element) {
            if (element instanceof RemedyIUDetail) {
                RemedyIUDetail iu = (RemedyIUDetail) element;
                if (iu.getBeingInstalledVersion() != null)
                    return iu.getBeingInstalledVersion().toString();
            }
            return ""; //$NON-NLS-1$
        }
    });
    TreeViewerColumn idColumn = new TreeViewerColumn(treeViewer, SWT.LEFT);
    idColumn.getColumn().setText(ProvUIMessages.ProvUI_IdColumnTitle);
    idColumn.getColumn().setWidth(200);
    idColumn.getColumn().addSelectionListener(columnChangeListener(2));

    idColumn.setLabelProvider(new ColumnLabelProvider() {
        public String getText(Object element) {
            if (element instanceof RemedyIUDetail) {
                RemedyIUDetail iu = (RemedyIUDetail) element;
                return iu.getIu().getId();
            }
            return ""; //$NON-NLS-1$
        }
    });

    treeComparator = new TreeViewerComparator();
    treeViewer.setComparator(treeComparator);
    treeViewer.setContentProvider(new RemedyContentProvider());
    treeViewer.setAutoExpandLevel(2);
    iuDetailsGroup = new IUDetailsGroup(resultErrorComposite, treeViewer, 500, true);
}

From source file:org.eclipse.equinox.internal.p2.ui.sdk.scheduler.migration.AbstractPage_c.java

License:Open Source License

private void createColumns(TreeViewer treeViewer) {
    String[] titles = { ProvUIMessages.Column_Name, ProvUIMessages.Column_Version, ProvUIMessages.Column_Id };
    for (int i = 0; i < titles.length; i++) {
        TreeViewerColumn column = new TreeViewerColumn(treeViewer, SWT.NONE);
        column.getColumn().setText(titles[i]);
        column.getColumn().setResizable(true);
        column.getColumn().setMoveable(true);
        if (ProvUIMessages.Column_Name.equals(titles[i]))
            updateTableSorting(i);/*from   w ww .ja  v a 2 s . c  om*/
        final int columnIndex = i;
        column.getColumn().addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                updateTableSorting(columnIndex);
            }
        });
    }
}

From source file:org.eclipse.gyrex.admin.ui.internal.widgets.AdminPageWithTree.java

License:Open Source License

protected FilteredTree createTree(final Composite parent) {
    final FilteredTree filteredTree = new FilteredTree(parent, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI,
            createPatternFilter(), true);

    treeViewer = filteredTree.getViewer();
    treeViewer.getTree().setHeaderVisible(true);
    treeViewer.getTree().setData(RWT.MARKUP_ENABLED, Boolean.TRUE);

    final TableLayout layout = new TableLayout();
    treeViewer.getTree().setLayout(layout);
    treeViewer.setUseHashlookup(true);//w  w  w .  ja  v a 2 s.c o m
    treeViewer.setContentProvider(createContentProvider());
    final SortableColumnsComparator comparator = new SortableColumnsComparator();
    treeViewer.setComparator(comparator);
    treeViewer.addOpenListener(new IOpenListener() {
        @Override
        public void open(final OpenEvent event) {
            openSelectedElement();
        }
    });
    treeViewer.setLabelProvider(new ColumnLabelProvider() {
        private static final long serialVersionUID = 1L;

        @Override
        public Image getImage(final Object element) {
            return getElementImage(element, NO_COLUMN);
        }

        @Override
        public String getText(final Object element) {
            return StringUtils.trimToEmpty(getElementLabel(element, NO_COLUMN));
        }
    });

    // create columns
    final int columns = getNumberOfColumns();
    for (int i = 0; i < columns; i++) {
        final int column = i;
        final TreeViewerColumn viewerColumn = new TreeViewerColumn(treeViewer, SWT.LEFT);
        viewerColumn.getColumn().setText(getColumnLabel(column));
        viewerColumn.setLabelProvider(new ColumnLabelProvider() {
            /** serialVersionUID */
            private static final long serialVersionUID = 1L;

            @Override
            public Image getImage(final Object element) {
                return getElementImage(element, column);
            }

            @Override
            public String getText(final Object element) {
                return StringUtils.trimToEmpty(getElementLabel(element, column));
            }
        });

        final ColumnLayoutData layoutData = getColumnLayoutData(column);
        if (layoutData != null) {
            layout.addColumnData(layoutData);
        }

        if (isColumnSortable(column)) {
            viewerColumn.getColumn()
                    .addSelectionListener(new ChangeSortColumnListener(comparator, column, viewerColumn));
            if (treeViewer.getTree().getSortColumn() == null) {
                // make the fist sortable column the active sort column
                treeViewer.getTree().setSortColumn(viewerColumn.getColumn());
                treeViewer.getTree().setSortDirection(comparator.isReverse() ? SWT.UP : SWT.DOWN);
            }
        }
    }

    return filteredTree;
}

From source file:org.eclipse.jface.snippets.viewers.Snippet026TreeViewerTabEditing.java

License:Open Source License

public Snippet026TreeViewerTabEditing(final Shell shell) {
    Button b = new Button(shell, SWT.PUSH);
    b.setText("Remove column");
    final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
    v.getTree().setLinesVisible(true);//from   w ww .  j a v  a2s. c  om
    v.getTree().setHeaderVisible(true);
    b.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            if (v.getTree().getColumnCount() > 1) {
                v.getTree().getColumn(1).dispose();
            }
        }

    });

    TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(v,
            new FocusCellOwnerDrawHighlighter(v));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) {
        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.keyCode == SWT.CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

    int feature = ColumnViewerEditor.TABBING_HORIZONTAL | ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR
            | ColumnViewerEditor.TABBING_VERTICAL | ColumnViewerEditor.KEYBOARD_ACTIVATION;

    TreeViewerEditor.create(v, focusCellManager, actSupport, feature);
    final TextCellEditor textCellEditor = new TextCellEditor(v.getTree());

    String[] columLabels = { "Column 1", "Column 2", "Column 3" };
    String[] labelPrefix = { "Column 1 => ", "Column 2 => ", "Column 3 => " };

    for (int i = 0; i < columLabels.length; i++) {
        TreeViewerColumn column = new TreeViewerColumn(v, SWT.NONE);
        column.getColumn().setWidth(200);
        column.getColumn().setMoveable(true);
        column.getColumn().setText(columLabels[i]);
        column.setLabelProvider(createColumnLabelProvider(labelPrefix[i]));
        column.setEditingSupport(createEditingSupportFor(v, textCellEditor));
    }
    v.setContentProvider(new MyContentProvider());
    v.setInput(createModel());
}

From source file:org.eclipse.jface.snippets.viewers.Snippet043TreeViewerKeyboardEditing.java

License:Open Source License

public Snippet043TreeViewerKeyboardEditing(final Shell shell) {
    Button b = new Button(shell, SWT.PUSH);
    b.setText("Press Tab, or click here to edit first child element");
    final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
    b.addSelectionListener(new SelectionAdapter() {

        @Override/*from w  ww.  ja v a 2  s  .c o  m*/
        public void widgetSelected(SelectionEvent e) {
            MyModel root = (MyModel) v.getInput();
            TreePath path = new TreePath(
                    new Object[] { root, root.child.get(1), root.child.get(1).child.get(0) });
            v.editElement(path, 0);
        }

    });

    TreeViewerColumn viewerColumn = new TreeViewerColumn(v, SWT.NONE);
    viewerColumn.getColumn().setWidth(300);
    viewerColumn.setLabelProvider(new ColumnLabelProvider());
    viewerColumn.setEditingSupport(new EditingSupport(v) {

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

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

        @Override
        protected CellEditor getCellEditor(Object element) {
            return new TextCellEditor((Composite) getViewer().getControl());
        }

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

    TreeViewerFocusCellManager focusCellManager = new TreeViewerFocusCellManager(v,
            new FocusCellOwnerDrawHighlighter(v));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) {
        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && event.keyCode == SWT.CR)
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

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

    v.setContentProvider(new MyContentProvider());
    v.setInput(createModel());
}

From source file:org.eclipse.jface.snippets.viewers.Snippet048TreeViewerTabWithCheckboxFor3_3.java

License:Open Source License

public Snippet048TreeViewerTabWithCheckboxFor3_3(final Shell shell) {
    final TreeViewer v = new TreeViewer(shell, SWT.BORDER | SWT.FULL_SELECTION);
    v.getTree().setLinesVisible(true);//from w ww .ja v a2 s.c om
    v.getTree().setHeaderVisible(true);

    final TreeViewerFocusCellManager mgr = new TreeViewerFocusCellManager(v,
            new FocusCellOwnerDrawHighlighter(v));
    ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(v) {
        @Override
        protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
            return event.eventType == ColumnViewerEditorActivationEvent.TRAVERSAL
                    || event.eventType == ColumnViewerEditorActivationEvent.MOUSE_DOUBLE_CLICK_SELECTION
                    || (event.eventType == ColumnViewerEditorActivationEvent.KEY_PRESSED
                            && (event.keyCode == SWT.CR || event.character == ' '))
                    || event.eventType == ColumnViewerEditorActivationEvent.PROGRAMMATIC;
        }
    };

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        @Override
        protected Object getValue(Object element) {
            return Boolean.valueOf(((MyModel) element).bool);
        }

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

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

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

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

    });
}