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.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  a  2 s .  c  o  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();

        /**/*w w w. j a v a 2  s. co 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.client.ui.views.historybrowserview.HistoryBrowserView.java

License:Open Source License

/**
 * {@inheritDoc}//from ww  w .  j ava  2s  . c o  m
 */
@Override
public void createPartControl(Composite parent) {
    GridLayoutFactory.fillDefaults().applyTo(parent);
    this.parent = parent;

    noProjectHint = new Label(parent, SWT.WRAP);
    GridDataFactory.fillDefaults().align(SWT.CENTER, SWT.CENTER).grab(true, true).applyTo(noProjectHint);
    noProjectHint.setText("Please call 'Show history' from the context menu of an element in the navigator.");

    viewer = new TreeViewerWithModelElementSelectionProvider(parent, SWT.NONE);

    MenuManager menuMgr = new MenuManager();
    menuMgr.add(new Separator("additions"));
    getSite().registerContextMenu(menuMgr, viewer);
    Control control = viewer.getControl();
    Menu menu = menuMgr.createContextMenu(control);
    control.setMenu(menu);
    getSite().registerContextMenu(menuMgr, viewer);

    getSite().setSelectionProvider(viewer);

    GridDataFactory.fillDefaults().grab(true, true).applyTo(viewer.getControl());
    ColumnViewerToolTipSupport.enableFor(viewer);
    viewer.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {
            if (event.getSelection() instanceof IStructuredSelection) {
                Object element = ((IStructuredSelection) event.getSelection()).getFirstElement();
                if (element instanceof EObject) {
                    WorkspaceManager.getObserverBus().notify(OpenModelElementObserver.class)
                            .openModelElement((EObject) element);
                    // ElementOpenerHelper.openModelElement((EObject) node.getValue(), VIEW_ID);
                }
            }

        }
    });

    changesColumn = new TreeViewerColumn(viewer, SWT.NONE);
    changesColumn.getColumn().setText("Changes");
    changesColumn.getColumn().setWidth(400);

    logColumn = new TreeViewerColumn(viewer, SWT.NONE);
    logColumn.getColumn().setText("Commit information");
    logColumn.getColumn().setWidth(300);

    Tree tree = viewer.getTree();
    tree.setHeaderVisible(true);

    hookToobar();
}

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);//w w  w.ja v  a2 s .c  o m
    column.getColumn().setWidth(width);
    return column;
}

From source file:org.eclipse.epp.internal.mpc.ui.wizards.FeatureSelectionWizardPage.java

License:Open Source License

public void createControl(Composite parent) {
    Composite container = new Composite(parent, SWT.NULL);
    GridLayoutFactory.fillDefaults().numColumns(1).applyTo(container);

    Composite treeContainer = new Composite(container, SWT.NULL);
    GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.FILL).applyTo(treeContainer);

    TreeColumnLayout columnLayout = new TreeColumnLayout();
    treeContainer.setLayout(columnLayout);

    viewer = new CheckboxTreeViewer(treeContainer,
            SWT.MULTI | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);

    viewer.setUseHashlookup(true);/*from w  w  w . j  ava  2  s .  c om*/
    viewer.setComparator(new ViewerComparator() {
        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            if (e1 == e2) {
                return 0;
            }
            String s1;
            String s2;
            if (e1 instanceof CatalogItemEntry) {
                s1 = ((CatalogItemEntry) e1).getItem().getName();
                s2 = ((CatalogItemEntry) e2).getItem().getName();
            } else {
                s1 = ((FeatureEntry) e1).getFeatureDescriptor().getName();
                s2 = ((FeatureEntry) e2).getFeatureDescriptor().getName();
            }
            int i = s1.compareToIgnoreCase(s2);
            if (i == 0) {
                i = s1.compareTo(s2);
                if (i == 0) {
                    i = new Integer(System.identityHashCode(e1)).compareTo(System.identityHashCode(e2));
                }
            }
            return i;
        }
    });
    viewer.setContentProvider(new ContentProvider());
    viewer.setInput(getWizard().getSelectionModel());
    viewer.addCheckStateListener(new ICheckStateListener() {
        public void checkStateChanged(CheckStateChangedEvent event) {
            if (event.getElement() instanceof CatalogItemEntry) {
                CatalogItemEntry entry = (CatalogItemEntry) event.getElement();
                for (FeatureEntry child : entry.getChildren()) {
                    child.setChecked(event.getChecked());
                }
            } else if (event.getElement() instanceof FeatureEntry) {
                ((FeatureEntry) event.getElement()).setChecked(event.getChecked());
            }
            computeCheckedViewerState();
            updateMessage();
            setPageComplete(computePageComplete());
        }
    });

    column = new TreeViewerColumn(viewer, SWT.NONE);
    column.setLabelProvider(new DelegatingStyledCellLabelProvider(new LabelProvider()));
    columnLayout.setColumnData(column.getColumn(), new ColumnWeightData(100, 100, true));

    detailsControl = new Group(container, SWT.SHADOW_IN);
    detailsControl.setText(Messages.FeatureSelectionWizardPage_details);
    GridDataFactory.fillDefaults().grab(true, false).hint(SWT.DEFAULT, 300).exclude(true)
            .applyTo(detailsControl);
    GridLayoutFactory.fillDefaults().applyTo(detailsControl);
    detailStatusText = new Text(detailsControl, SWT.MULTI | SWT.READ_ONLY | SWT.WRAP | SWT.V_SCROLL);
    GridDataFactory.fillDefaults().grab(true, true).applyTo(detailStatusText);

    setControl(container);
    Dialog.applyDialogFont(container);
    MarketplaceClientUi.setDefaultHelp(getControl());
}

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);//from  www.  j a va 2  s  .co m
        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;//w ww.ja  v a2 s. co  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 ww  w . jav a 2 s  .com
        final int columnIndex = i;
        column.getColumn().addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {
                updateTableSorting(columnIndex);
            }
        });
    }
}

From source file:org.eclipse.gemoc.execution.concurrent.ccsljavaengine.ui.views.step.LogicalStepsView.java

License:Open Source License

private void createColumns() {
    TreeColumn column1 = new TreeColumn(_viewer.getTree(), SWT.LEFT);
    column1.setText("Logical Steps/MSEs");
    TreeViewerColumn viewerColumn1 = new TreeViewerColumn(_viewer, column1);
    _column1LabelProvider = new ColumnLabelProvider() {

        @Override/*  w w w . ja  va2  s .  c  o m*/
        public String getText(Object element) {
            if (element instanceof Step) {
                Step<?> ls = (Step<?>) element;
                return StepHelper.getStepName(ls);
            } else if (element instanceof MSEOccurrence) {
                MSEOccurrence event = (MSEOccurrence) element;
                if (event.getMse() != null)
                    return event.getMse().getName();
                else
                    return "No EOperation";
            }
            return super.getText(element);
        }

        @Override
        public Image getImage(Object element) {
            if (element instanceof Step) {
                Step<?> ls = (Step<?>) element;
                if (_currentEngine != null && ls == _currentEngine.getSelectedLogicalStep()) {
                    return SharedIcons.getSharedImage(SharedIcons.LOGICALSTEP_RUNNING_ICON);
                } else {
                    return SharedIcons.getSharedImage(SharedIcons.LOGICALSTEP_ICON);
                }
            } else if (element instanceof MSEOccurrence) {
                return SharedIcons.getSharedImage(SharedIcons.VISIBLE_EVENT_ICON);
            }
            return null;
        }

        @Override
        public Color getBackground(Object element) {
            final Color res;

            if (element instanceof MSEOccurrence) {
                MSE mse = ((MSEOccurrence) element).getMse();
                if (mse != null && _eventsToPresent.contains(EcoreUtil.getURI(mse)))
                    res = _representedEventColor;
                else
                    res = super.getBackground(element);

            } else {
                res = super.getBackground(element);
            }

            return res;
        }

    };
    viewerColumn1.setLabelProvider(_column1LabelProvider);

    TreeColumn column2 = new TreeColumn(_viewer.getTree(), SWT.LEFT);
    column2.setText("DSA");
    TreeViewerColumn viewerColumn2 = new TreeViewerColumn(_viewer, column2);
    _column2LabelProvider = new ColumnLabelProvider() {

        @Override
        public String getText(Object element) {
            if (element instanceof MSEOccurrence) {
                MSE mse = ((MSEOccurrence) element).getMse();
                if (mse != null)
                    return "   " + ViewUtils.eventToString(mse);
                else
                    return "    (no MSE)";

            }
            return "";
        }

        @Override
        public Color getBackground(Object element) {
            final Color res;

            if (element instanceof MSEOccurrence) {
                MSE mse = ((MSEOccurrence) element).getMse();
                if (mse != null && _eventsToPresent.contains(EcoreUtil.getURI(mse)))
                    res = _representedEventColor;
                else
                    res = super.getBackground(element);

            } else {
                res = super.getBackground(element);
            }

            return res;
        }

    };
    viewerColumn2.setLabelProvider(_column2LabelProvider);
}

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);//ww w .j  a v  a  2s . com
    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;
}