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

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

Introduction

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

Prototype

public Object getElement() 

Source Link

Document

Get the element this row represents.

Usage

From source file:de.walware.statet.r.internal.ui.dataeditor.RDataLabelProvider.java

License:Open Source License

@Override
public void update(final ViewerCell cell) {
    Image image;/*from   w  w w . j  a v a  2 s  .  co  m*/
    final StyledString text = new StyledString();
    final Object element = cell.getElement();
    if (element instanceof RDataTableContentDescription) {
        final RDataTableContentDescription description = (RDataTableContentDescription) element;
        if (description.getRElementStruct() instanceof ICombinedRElement) {
            fRLabelProvider.update(cell, (IModelElement) description.getRElementStruct());
            super.update(cell);
            return;
        }
        switch (description.getRElementStruct().getRObjectType()) {
        case RObject.TYPE_VECTOR:
            image = RUI.getImage(RUI.IMG_OBJ_VECTOR);
            break;
        case RObject.TYPE_ARRAY:
            image = RUI.getImage(RUI.IMG_OBJ_VECTOR);
            break;
        case RObject.TYPE_DATAFRAME:
            image = RUI.getImage(RUI.IMG_OBJ_VECTOR);
            break;
        default:
            image = null;
            break;
        }
        text.append(description.getElementName().toString());
    } else if (element instanceof IRDataTableVariable) {
        final IRDataTableVariable variable = (IRDataTableVariable) element;
        image = getImage(variable);
        text.append(variable.getName());

        if (element instanceof RDataTableColumn) {
            final RDataTableColumn column = (RDataTableColumn) variable;
            text.append(" : ", StyledString.DECORATIONS_STYLER); //$NON-NLS-1$
            final List<String> classNames = column.getClassNames();
            text.append(classNames.get(0), StyledString.DECORATIONS_STYLER);
            for (int i = 1; i < classNames.size(); i++) {
                text.append(", ", StyledString.DECORATIONS_STYLER); //$NON-NLS-1$
                text.append(classNames.get(i), StyledString.DECORATIONS_STYLER);
            }
            if (!classNames.contains(RDataUtil.getStoreClass(column.getDataStore()))) {
                text.append(" (", StyledString.DECORATIONS_STYLER); //$NON-NLS-1$
                text.append(RDataUtil.getStoreAbbr(column.getDataStore()), StyledString.DECORATIONS_STYLER);
                text.append(")", StyledString.DECORATIONS_STYLER); //$NON-NLS-1$
            }
        }
    } else if (element instanceof VariablePropertyItem) {
        final VariablePropertyItem item = (VariablePropertyItem) element;
        image = null;
        text.append(item.getName());
        final int count = item.getCount();
        if (count >= 0) {
            text.append(" (", StyledString.COUNTER_STYLER); //$NON-NLS-1$
            text.append(Integer.toString(count), StyledString.COUNTER_STYLER);
            text.append(")", StyledString.COUNTER_STYLER); //$NON-NLS-1$
        }
    } else {
        image = null;
        text.append(element.toString());
    }

    cell.setText(text.getString());
    cell.setStyleRanges(text.getStyleRanges());
    cell.setImage(image);

    super.update(cell);
}

From source file:de.walware.statet.r.internal.ui.datafilterview.ColumnLabelProvider.java

License:Open Source License

@Override
public void update(final ViewerCell cell) {
    final Object data = fColumn.getDefaultFormat().modelToDisplayValue(cell.getElement());
    cell.setFont((data instanceof InfoString) ? getInfoFont() : null);
    cell.setText(data.toString());//from   www. j  av  a2 s .  c o  m
}

From source file:de.walware.statet.r.internal.ui.pkgmanager.PkgTab.java

License:Open Source License

private Composite createTable(final Composite parent) {
    final Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayout(LayoutUtil.createCompositeGrid(2));

    {//from ww w .j a va 2 s . co  m
        final Label label = new Label(composite, SWT.NONE);
        label.setText("Packages:");
        label.setLayoutData(new GridData(SWT.FILL, SWT.BOTTOM, true, false));
    }
    {
        fToolBar = new ToolBarManager(SWT.HORIZONTAL | SWT.FLAT);
        final ToolBar toolBar = fToolBar.createControl(composite);
        toolBar.setLayoutData(new GridData(SWT.END, SWT.FILL, true, false));
    }

    final TableComposite viewer = new TableComposite(composite,
            SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION | SWT.VIRTUAL);
    fPkgTable = viewer;
    viewer.viewer.setUseHashlookup(true);
    viewer.table.setHeaderVisible(true);
    {
        final GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1);
        gd.heightHint = LayoutUtil.hintHeight(viewer.table, 15);
        gd.widthHint = fDialog.hintWidthInChars(40);
        viewer.setLayoutData(gd);
    }
    ColumnViewerToolTipSupport.enableFor(viewer.viewer, ToolTip.NO_RECREATE);
    {
        final TableViewerColumn column = viewer.addColumn("Name", SWT.LEFT, new ColumnWeightData(50));
        column.setLabelProvider(new CellLabelProvider() {
            @Override
            public void update(final ViewerCell cell) {
                final String name = (String) cell.getElement();
                cell.setImage(RUI.getImage((fPkgSet.getInstalled().containsByName(name)) ? RUI.IMG_OBJ_R_PACKAGE
                        : RUI.IMG_OBJ_R_PACKAGE_NOTA));
                cell.setText(name);
            }

            @Override
            public String getToolTipText(final Object element) {
                final String name = (String) element;
                final IRPkgInfoAndData v = fPkgSet.getInstalled().getFirstByName(name);
                if (v != null) {
                    return v.getTitle();
                }
                return null;
            }
        });
    }

    return composite;
}

From source file:de.walware.statet.r.internal.ui.pkgmanager.PkgTab.java

License:Open Source License

private void createDetailTable(final Composite parent) {
    {//  w  w  w . ja v  a 2 s  .com
        final Label label = new Label(parent, SWT.NONE);
        label.setText("&Versions:");
        label.setLayoutData(new GridData(SWT.FILL, SWT.BOTTOM, true, false));
    }
    { // for layout
        final Label label = new Label(parent, SWT.NONE);
        final GridData gd = new GridData(SWT.FILL, SWT.FILL, false, false);
        gd.heightHint = fToolBar.getControl().computeSize(SWT.DEFAULT, SWT.DEFAULT).y;
        label.setLayoutData(gd);
    }

    final TreeComposite composite = new TreeComposite(parent, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION);
    fDetailTable = composite;
    {
        final GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1);
        gd.heightHint = LayoutUtil.hintHeight(composite.tree, 6);
        gd.widthHint = fDialog.hintWidthInChars(40);
        composite.setLayoutData(gd);
    }

    composite.viewer.setContentProvider(new DetailGroup.ContentProvider(2) {
        {
            fGroups[AVAIL] = new DetailGroup(AVAIL, "Available");
            fGroups[INST] = new DetailGroup(INST, "Installed");
        }

        @Override
        public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) {
            if (newInput instanceof String) {
                final String name = (String) newInput;
                fGroups[AVAIL].setList(fPkgSet.getAvailable().getByName(name));
                fGroups[INST].setList(fPkgSet.getInstalled().getByName(name));
            } else {
                fGroups[AVAIL].clearList();
                fGroups[INST].clearList();
            }
        }
    });
    composite.viewer.setComparer(new IElementComparer() {
        @Override
        public int hashCode(final Object element) {
            if (element instanceof IRPkgData) {
                return element.hashCode() + ((IRPkgData) element).getRepoId().hashCode();
            }
            return element.hashCode();
        }

        @Override
        public boolean equals(final Object a, final Object b) {
            if (a == b) {
                return true;
            }
            if (!a.equals(b)) {
                return false;
            }
            if (a instanceof IRPkgData) {
                return ((IRPkgData) a).getRepoId().equals(((IRPkgData) b).getRepoId());
            }
            return false;
        }
    });
    composite.viewer.setAutoExpandLevel(TreeViewer.ALL_LEVELS);

    {
        final TreeViewerColumn column = composite.addColumn("Repository/Library", SWT.LEFT,
                new ColumnWeightData(50, fDialog.hintWidthInChars(20), true));
        column.setLabelProvider(new CellLabelProvider() {
            @Override
            public void update(final ViewerCell cell) {
                final Object element = cell.getElement();
                if (element instanceof DetailGroup) {
                    cell.setText(((DetailGroup) element).getLabel());
                    return;
                } else if (element instanceof IRPkgInfo) {
                    final IRLibraryLocation location = ((IRPkgInfo) element).getLibraryLocation();
                    cell.setText(REnvLabelProvider.getSafeLabel(location));
                    return;
                } else if (element instanceof IRPkgData) {
                    final IRPkgData pkg = (IRPkgData) element;
                    if (pkg.getRepoId() != null) {
                        final RRepo repo = RPkgUtil.getRepoById(fDialog.fRepoTab.getAvailableRepos(),
                                pkg.getRepoId());
                        if (repo != null) {
                            cell.setText(repo.getName());
                            return;
                        }
                    }
                    cell.setText("-");
                    return;
                }
                throw new IllegalStateException();
            }
        });
    }
    {
        final TreeViewerColumn column = composite.addColumn("Version", SWT.LEFT,
                new ColumnPixelData(fDialog.hintWidthInChars(VERSION_CHARS), true, true));
        column.setLabelProvider(new CellLabelProvider() {
            @Override
            public void update(final ViewerCell cell) {
                final Object element = cell.getElement();
                if (element instanceof IRPkgData) {
                    cell.setText(((IRPkgData) element).getVersion().toString());
                    return;
                }
                cell.setText(""); //$NON-NLS-1$
            }

            @Override
            public String getToolTipText(final Object element) {
                return (element instanceof IRPkgData) ? getDetailToolTipText((IRPkgData) element) : null;
            }
        });
    }

    ColumnViewerToolTipSupport.enableFor(composite.viewer);

    composite.viewer.setInput(RPkgManagerDialog.NO_INPUT);
}

From source file:de.walware.statet.r.internal.ui.pkgmanager.PkgTab.java

License:Open Source License

private void createDetailRef(final Composite parent, final int type) {
    {//from  www .  j  a va2s. co m
        final Label label = new Label(parent, SWT.NONE);
        label.setText((type == 0) ? "Dependencies:" : "Reverse:");
        label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
    }

    final TreeViewer viewer = new TreeViewer(parent, (SWT.BORDER | SWT.SINGLE));
    if (type == 0) {
        fDetailDepTable = viewer;
    } else {
        fDetailRevTable = viewer;
    }
    {
        final GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1);
        gd.heightHint = LayoutUtil.hintHeight(viewer.getTree(), 12);
        gd.widthHint = fDialog.hintWidthInChars(20);
        viewer.getControl().setLayoutData(gd);
    }

    viewer.setContentProvider(new DetailGroup.ContentProvider(5) {
        private static final int DEPENDS = 0;
        private static final int IMPORTS = 1;
        private static final int LINKINGTO = 2;
        private static final int SUGGESTS = 3;
        private static final int ENHANCES = 4;
        {
            fGroups[DEPENDS] = new DetailGroup(0, "Depends");
            fGroups[IMPORTS] = new DetailGroup(1, "Imports");
            fGroups[LINKINGTO] = new DetailGroup(2, "Linking To");
            fGroups[SUGGESTS] = new DetailGroup(3, "Suggests");
            fGroups[ENHANCES] = new DetailGroup(4, "Enhances");
        }

        @Override
        public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) {
            if (newInput instanceof IRPkgData) {
                final IRPkgData pkg = (IRPkgData) newInput;
                fGroups[DEPENDS].setList(pkg.getDepends());
                fGroups[IMPORTS].setList(pkg.getImports());
                fGroups[LINKINGTO].setList(pkg.getLinkingTo());
                fGroups[SUGGESTS].setList(pkg.getSuggests());
                fGroups[ENHANCES].setList(pkg.getEnhances());
            } else {
                fGroups[DEPENDS].clearList();
                fGroups[IMPORTS].clearList();
                fGroups[LINKINGTO].clearList();
                fGroups[SUGGESTS].clearList();
                fGroups[ENHANCES].clearList();
            }
        }
    });
    viewer.setAutoExpandLevel(TreeViewer.ALL_LEVELS);

    viewer.setLabelProvider(new StyledCellLabelProvider() {
        @Override
        public void update(final ViewerCell cell) {
            final Object element = cell.getElement();
            if (element instanceof DetailGroup) {
                cell.setText(((DetailGroup) element).getLabel());
                cell.setStyleRanges(null);
                return;
            } else if (element instanceof IRPkg) {
                final IRPkg pkg = (IRPkg) element;
                final StyledString text = new StyledString();
                text.append(pkg.getName());
                final String version = pkg.getVersion().toString();
                if (!version.isEmpty()) {
                    text.append(" (", StyledString.QUALIFIER_STYLER); //$NON-NLS-1$
                    text.append(version, StyledString.QUALIFIER_STYLER);
                    text.append(")", StyledString.QUALIFIER_STYLER); //$NON-NLS-1$
                }
                cell.setText(text.getString());
                cell.setStyleRanges(text.getStyleRanges());
                return;
            }
            throw new IllegalStateException();
        }
    });

    viewer.setInput(NO_INPUT);

    viewer.addDoubleClickListener(new IDoubleClickListener() {
        @Override
        public void doubleClick(final DoubleClickEvent event) {
            final Object element = ((IStructuredSelection) event.getSelection()).getFirstElement();
            if (element instanceof IRPkg) {
                showPkg(((IRPkg) element).getName());
            }
        }
    });
}

From source file:de.walware.statet.r.internal.ui.pkgmanager.RRepoLabelProvider.java

License:Open Source License

@Override
public void update(final ViewerCell cell) {
    final RRepo repo = (RRepo) cell.getElement();

    update(cell, repo);//w  ww  .ja  va  2 s  . c  o  m

    super.update(cell);
}

From source file:de.walware.statet.r.internal.ui.pkgmanager.RViewLabelProvider.java

License:Open Source License

@Override
public void update(final ViewerCell cell) {
    final Object element = cell.getElement();
    if (element instanceof IRView) {
        final IRView view = (IRView) element;
        cell.setText(view.getName());//from w  ww  .  ja v a2s .co  m
        return;
    }
    cell.setText(""); //$NON-NLS-1$
}

From source file:de.walware.statet.r.internal.ui.pkgmanager.StatusLabelProvider.java

License:Open Source License

@Override
public void update(final ViewerCell cell) {
    final Object element = cell.getElement();
    if (element instanceof IStatus) {
        final IStatus status = (IStatus) element;
        cell.setImage(getImage(status));
        cell.setText(status.getMessage());
    } else {// ww w.  java 2  s.  c o m
        throw new IllegalArgumentException();
    }
}

From source file:de.walware.statet.r.internal.ui.pkgmanager.SummaryPage.java

License:Open Source License

@Override
public void createControl(final Composite parent) {
    initializeDialogUnits(parent);//from   ww w.j  a v  a  2s .c  o  m

    final Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    composite.setLayout(LayoutUtil.createContentGrid(1));

    {
        final Label label = new Label(composite, SWT.NONE);
        label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
        label.setText("Packages to install:");
    }

    fTable = new TableComposite(composite,
            SWT.BORDER | SWT.V_SCROLL | SWT.MULTI | SWT.FULL_SELECTION | SWT.VIRTUAL);
    fTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
    fTable.viewer.setContentProvider(ArrayContentProvider.getInstance());
    {
        final TableViewerColumn column = fTable.addColumn("Name", SWT.LEFT, new ColumnWeightData(60, true));
        column.setLabelProvider(new CellLabelProvider() {
            @Override
            public void update(final ViewerCell cell) {
                final RPkgAction action = (RPkgAction) cell.getElement();
                cell.setText(action.getPkg().getName());
            }
        });
    }
    {
        final TableViewerColumn column = fTable.addColumn("", SWT.LEFT,
                new ColumnPixelData(LayoutUtil.hintColWidth(fTable.table, 10), true, true));
        column.setLabelProvider(new CellLabelProvider() {
            @Override
            public void update(final ViewerCell cell) {
                final RPkgAction action = (RPkgAction) cell.getElement();
                cell.setText(fResolver.getReason(action.getPkg()));
            }
        });
    }
    {
        final TableViewerColumn column = fTable.addColumn("Version", SWT.LEFT,
                new ColumnPixelData(LayoutUtil.hintColWidth(fTable.table, 10), true, true));
        column.setLabelProvider(new CellLabelProvider() {
            @Override
            public void update(final ViewerCell cell) {
                final RPkgAction action = (RPkgAction) cell.getElement();
                cell.setText(action.getPkg().getVersion().toString());
            }
        });
    }
    {
        final TableViewerColumn column = fTable.addColumn("From", SWT.LEFT, new ColumnWeightData(40, true));
        column.setLabelProvider(new CellLabelProvider() {
            @Override
            public void update(final ViewerCell cell) {
                final RPkgAction action = (RPkgAction) cell.getElement();
                final RRepo repo = fPkgManager.getRepo(action.getRepoId());
                if (repo.getPkgType() != null) {
                    final StringBuilder sb = new StringBuilder(repo.getName());
                    sb.append(" (");
                    sb.append(repo.getPkgType().getLabel());
                    sb.append(")");
                    cell.setText(sb.toString());
                } else {
                    cell.setText(repo.getName());
                }
            }
        });
    }
    {
        final TableViewerColumn column = fTable.addColumn("To", SWT.LEFT, new ColumnWeightData(40, true));
        column.setLabelProvider(new CellLabelProvider() {
            @Override
            public void update(final ViewerCell cell) {
                cell.setText(
                        REnvLabelProvider.getSafeLabel(((RPkgAction) cell.getElement()).getLibraryLocation()));
            }
        });
    }
    fTable.table.setHeaderVisible(true);
    fTable.table.setLinesVisible(true);

    Dialog.applyDialogFont(composite);
    setControl(composite);
}

From source file:de.walware.statet.r.internal.ui.rhelp.RHelpLabelProvider.java

License:Open Source License

@Override
public void update(final ViewerCell cell) {
    final Object element = cell.getElement();
    final Image image = getImage(element);
    final StyledString text = getStyledText(element);

    cell.setImage(image);/*from  w w w.j a  v a2  s  . c o  m*/
    cell.setText(text.getString());
    cell.setStyleRanges(text.getStyleRanges());

    super.update(cell);
}