List of usage examples for org.eclipse.jface.viewers ViewerCell setImage
public void setImage(Image image)
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; }