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

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

Introduction

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

Prototype

public void setImage(Image image) 

Source Link

Document

Set the Image for the cell.

Usage

From source file:uk.ac.stfc.isis.ibex.ui.tables.DataboundCellLabelProvider.java

License:Open Source License

@Override
public void update(ViewerCell cell) {
    TRow row = getRow(cell);
    cell.setText(stringFromRow(row));
    cell.setImage(imageFromRow(row));
}

From source file:ummisco.gama.ui.viewers.csv.CSVLabelProvider.java

/**
 * @see org.eclipse.jface.viewers.StyledCellLabelProvider#update(org.eclipse.jface.viewers.ViewerCell)
 *//*from w  w  w.ja  va 2s.c  o  m*/
@Override
public void update(final ViewerCell cell) {
    final CSVRow element = (CSVRow) cell.getElement();
    final int index = cell.getColumnIndex();
    final String columnText = getColumnText(element, index);
    cell.setText(columnText);
    cell.setImage(null);
    if (searchText != null && searchText.length() > 0) {
        final int intRangesCorrectSize[] = SearchResultStyle.getSearchTermOccurrences(searchText, columnText);
        final List<StyleRange> styleRange = new ArrayList<StyleRange>();
        for (int i = 0; i < intRangesCorrectSize.length / 2; i++) {
            final StyleRange myStyleRange = new StyleRange(0, 0, null, searchColor);
            myStyleRange.start = intRangesCorrectSize[i];
            myStyleRange.length = intRangesCorrectSize[++i];
            styleRange.add(myStyleRange);
        }
        cell.setStyleRanges(styleRange.toArray(new StyleRange[styleRange.size()]));
    } else {
        cell.setStyleRanges(null);
    }

    super.update(cell);
}

From source file:v9t9.gui.client.swt.shells.modules.ModuleSelector.java

License:Open Source License

/**
 * @param moduleManager//from w w w . j a  v a 2 s  . c o m
 */
protected TreeViewer createTable() {
    final TreeViewer viewer = new TreeViewer(this, SWT.READ_ONLY | SWT.BORDER | SWT.FULL_SELECTION);

    moduleImageResizer = new ILazyImageAdjuster() {

        @Override
        public Image adjustImage(Object element, URI imageURI, Image image) {
            //final boolean moduleLoadable = module == null || isModuleLoadable(module);
            //final String imageKey = imageURI.toString() + (moduleLoadable ? "" : "?grey");

            Rectangle bounds = image.getBounds();
            int sz = Math.max(bounds.width, bounds.height);

            if (sz > MAX) {
                sz = MAX;

                Image scaled = ImageUtils.scaleImage(getDisplay(), image, new Point(MAX, MAX), true, true);
                image.dispose();

                //               if (!moduleLoadable) {
                //                  Image grey = ImageUtils.convertToGreyscale(display, scaled);
                //                  scaled.dispose();
                //                  scaled = grey;
                //               }

                image = scaled;
            }
            return image;
        }
    };

    try {
        builtinImagesURI = machine.getRomPathFileLocator()
                .resolveInsideURI(machine.getModel().getDataURL().toURI(), "images/");
        logger.info("builtinImagesURI = " + builtinImagesURI);
    } catch (URISyntaxException e3) {
        logger.error("Failed to load stock module image", e3);
    }

    stockModuleImage = loadStockImage("stock_module_missing.png");

    lazyImageLoader = new LazyImageLoader(viewer, executor, stockModuleImage);

    modulesListImage = EmulatorGuiData.loadImage(getDisplay(), "icons/module_list.png");
    noModuleImage = ImageUtils.scaleImage(getDisplay(),
            EmulatorGuiData.loadImage(getDisplay(), "icons/stock_no_module.png"), new Point(MAX, MAX));

    viewer.setUseHashlookup(true);
    viewer.setComparer(new IElementComparer() {

        @Override
        public int hashCode(Object element) {
            return element.hashCode();
        }

        @Override
        public boolean equals(Object a, Object b) {
            return a == b || a.equals(b);
        }
    });

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

    GridDataFactory.fillDefaults().grab(true, true).applyTo(tree);

    FontDescriptor desc = FontUtils
            .getFontDescriptor(JFaceResources.getFontRegistry().getBold(JFaceResources.DIALOG_FONT));
    tableFont = desc.createFont(getDisplay());
    tree.setFont(tableFont);

    nameColumn = new TreeColumn(tree, SWT.LEFT);
    nameColumn.setText("Name");

    final ModuleContentProvider contentProvider = new ModuleContentProvider();
    viewer.setContentProvider(contentProvider);

    CellLabelProvider cellLabelProvider = new CellLabelProvider() {

        @Override
        public void update(ViewerCell cell) {
            if (cell.getElement() instanceof URI) {
                URI uri = (URI) cell.getElement();
                String text = machine.getRomPathFileLocator().splitFileName(uri).second;

                cell.setText(text);
                cell.setImage(getModuleListImage());
            } else if (cell.getElement() instanceof IModule) {
                IModule module = (IModule) cell.getElement();
                cell.setText(module.getName());
                ModuleInfo info = module.getInfo();
                cell.setForeground(isModuleLoadable(module) ? null
                        : viewer.getControl().getDisplay().getSystemColor(SWT.COLOR_TITLE_INACTIVE_FOREGROUND));
                cell.setImage(getOrLoadModuleImage(module, module, info != null ? info.getImagePath() : null));
            } else {
                cell.setText(String.valueOf(cell.getElement()));
                cell.setImage(getNoModuleImage());
            }
        }
    };

    viewer.setLabelProvider(cellLabelProvider);

    viewer.setColumnProperties(NAME_PROPERTY_ARRAY);

    viewer.setComparator(new ViewerComparator() {
        /* (non-Javadoc)
         * @see org.eclipse.jface.viewers.ViewerComparator#isSorterProperty(java.lang.Object, java.lang.String)
         */
        @Override
        public boolean isSorterProperty(Object element, String property) {
            return "name".equals(property);
        }

        @Override
        public int compare(Viewer viewer, Object e1, Object e2) {
            if (!sortModules)
                return 0;

            if (e1 instanceof IModule && e2 instanceof IModule) {
                IModule mod1 = (IModule) e1;
                IModule mod2 = (IModule) e2;
                boolean l1 = isModuleLoadable(mod1);
                boolean l2 = isModuleLoadable(mod2);
                if (l1 == l2)
                    return sortDirection * mod1.getName().toLowerCase().compareTo(mod2.getName().toLowerCase());
                else if (l1)
                    return -1;
                else
                    return 1;
            } else if (e1 instanceof IModule) {
                return 1;
            }
            /* else if (e2 instanceof IModule) */ {
                return -1;
            }
        }
    });

    selectedModule = null;

    addIterativeSearch(viewer, tree);

    sortModules = dialogSettings.getBoolean(SORT_ENABLED);
    sortDirection = dialogSettings.getInt(SORT_DIRECTION);

    moduleMap = new LinkedHashMap<URI, Collection<IModule>>();

    revertModules();
    viewer.setInput(new ModuleInput("No module", moduleMap));
    viewer.expandToLevel(3);

    viewer.setSelection(new StructuredSelection(moduleManager.getLoadedModules()), true);

    tree.addKeyListener(new KeyAdapter() {
        /* (non-Javadoc)
         * @see org.eclipse.swt.events.KeyAdapter#keyPressed(org.eclipse.swt.events.KeyEvent)
         */
        @Override
        public void keyPressed(KeyEvent e) {
            if (e.keyCode == '\r' || e.keyCode == '\n') {
                switchModule(false);
                e.doit = false;
            } else if (e.keyCode == SWT.ARROW_LEFT) {
                if (selectedModule != null) {
                    viewer.setSelection(new StructuredSelection(contentProvider.getParent(selectedModule)));
                }
            }
        }
    });

    TreeViewerColumn nameViewerColumn = new TreeViewerColumn(viewer, nameColumn);
    nameViewerColumn.setLabelProvider(cellLabelProvider);

    editingSupport = new ModuleNameEditingSupport(viewer, dirtyModuleLists);
    nameViewerColumn.setEditingSupport(editingSupport);

    addDisposeListener(new DisposeListener() {

        @Override
        public void widgetDisposed(DisposeEvent e) {
            for (Image image : stockImages.values())
                image.dispose();
            stockImages.clear();
            if (modulesListImage != null)
                modulesListImage.dispose();
            if (noModuleImage != null)
                noModuleImage.dispose();

            if (tableFont != null)
                tableFont.dispose();
            /*for (Image image : loadedImages.values()) {
               image.dispose();
            }*/
        }
    });

    lazyImageLoader.addListener(new ILazyImageLoadedListener() {

        @Override
        public void imageLoaded(Object element, URI imageURI, Image image) {
            if (element != null)
                viewerUpdater.post(element);
        }
    });

    return viewer;
}