List of usage examples for org.eclipse.jface.viewers ViewerCell setStyleRanges
public void setStyleRanges(StyleRange[] styleRanges)
From source file:de.byteholder.geoclipse.mapprovider.DialogMPProfile.java
License:Open Source License
/** * create columns for the tree viewer/*w ww . j a v a 2s . c o m*/ * * @param pixelConverter */ private void createUI116ViewerColumns(final TreeColumnLayout treeLayout, final PixelConverter pixelConverter) { TreeViewerColumn tvc; TreeColumn tc; /* * column: map provider */ tvc = new TreeViewerColumn(_treeViewer, SWT.LEAD); tc = tvc.getColumn(); tc.setText(Messages.Dialog_MapProfile_Column_MapProvider); tc.setToolTipText(Messages.Dialog_MapProfile_Column_MapProvider_Tooltip); tvc.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(final ViewerCell cell) { final StyledString styledString = new StyledString(); final Object element = cell.getElement(); if (element instanceof TVIMapProvider) { final MPWrapper mpWrapper = ((TVIMapProvider) element).getMapProviderWrapper(); final MP mapProvider = mpWrapper.getMP(); styledString.append(mapProvider.getName()); cell.setImage(mpWrapper.isDisplayedInMap() ? _imageMap : _imagePlaceholder); } else if (element instanceof TVIWmsLayer) { final MtLayer mtLayer = ((TVIWmsLayer) element).getMtLayer(); styledString.append(mtLayer.getGeoLayer().getTitle()); styledString.append(" (", StyledString.QUALIFIER_STYLER);//$NON-NLS-1$ styledString.append(mtLayer.getGeoLayer().getName(), StyledString.QUALIFIER_STYLER); styledString.append(")", StyledString.QUALIFIER_STYLER);//$NON-NLS-1$ cell.setImage(mtLayer.isDisplayedInMap() ? _imageLayer : _imagePlaceholder); } else { styledString.append(element.toString()); } cell.setText(styledString.getString()); cell.setStyleRanges(styledString.getStyleRanges()); } }); treeLayout.setColumnData(tc, new ColumnWeightData(100, true)); /* * column: is visible */ tvc = new TreeViewerColumn(_treeViewer, SWT.LEAD); tc = tvc.getColumn(); tc.setText(Messages.Dialog_MapProfile_Column_IsVisible); tc.setToolTipText(Messages.Dialog_MapProfile_Column_IsVisible_Tooltip); tvc.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(final ViewerCell cell) { final Object element = cell.getElement(); if (element instanceof TVIMapProvider) { final MPWrapper mpWrapper = ((TVIMapProvider) element).getMapProviderWrapper(); cell.setText(Boolean.toString(mpWrapper.isDisplayedInMap())); } else if (element instanceof TVIWmsLayer) { final MtLayer mtLayer = ((TVIWmsLayer) element).getMtLayer(); cell.setText(Boolean.toString(mtLayer.isDisplayedInMap())); } else { cell.setText(UI.EMPTY_STRING); } } }); tvc.setEditingSupport(new EditingSupport(_treeViewer) { private final CheckboxCellEditor fCellEditor = new CheckboxCellEditor(_treeViewer.getTree()); @Override protected boolean canEdit(final Object element) { if (element instanceof TVIMapProvider) { final TVIMapProvider tvi = (TVIMapProvider) element; final MP mapProvider = tvi.getMapProviderWrapper().getMP(); if (mapProvider instanceof MPWms) { // wms can be toggled when at least one layer is displayed return canWmsBeDisplayed((MPWms) mapProvider); } } return true; } @Override protected CellEditor getCellEditor(final Object element) { return fCellEditor; } @Override protected Object getValue(final Object element) { if (element instanceof TVIMapProvider) { final MPWrapper mpWrapper = ((TVIMapProvider) element).getMapProviderWrapper(); return mpWrapper.isDisplayedInMap(); } else if (element instanceof TVIWmsLayer) { final MtLayer mtLayer = ((TVIWmsLayer) element).getMtLayer(); return mtLayer.isDisplayedInMap(); } return null; } @Override protected void setValue(final Object element, final Object value) { final boolean isChecked = ((Boolean) value); if (element instanceof TVIMapProvider) { final MPWrapper mpWrapper = ((TVIMapProvider) element).getMapProviderWrapper(); mpWrapper.setIsDisplayedInMap(isChecked); if (isChecked) { /* * remove parent tiles from loading cache because they can have loading * errors (from their children) which prevents them to be loaded again */ _mpProfile.resetParentTiles(); } enableProfileMapButton(); } else if (element instanceof TVIWmsLayer) { final TVIWmsLayer tviLayer = (TVIWmsLayer) element; final MtLayer mtLayer = tviLayer.getMtLayer(); mtLayer.setIsDisplayedInMap(isChecked); updateMVMapProvider(tviLayer); } // update viewer getViewer().update(element, null); updateLiveView(); } }); treeLayout.setColumnData(tc, new ColumnPixelData(pixelConverter.convertWidthInCharsToPixels(10))); /* * column: alpha */ tvc = new TreeViewerColumn(_treeViewer, SWT.LEAD); tc = tvc.getColumn(); tc.setText(Messages.Dialog_MapProfile_Column_Alpha); tc.setToolTipText(Messages.Dialog_MapProfile_Column_Alpha_Tooltip); tvc.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(final ViewerCell cell) { final Object element = cell.getElement(); if (element instanceof TVIMapProvider) { final MPWrapper mpWrapper = ((TVIMapProvider) element).getMapProviderWrapper(); cell.setText(Integer.toString(mpWrapper.getAlpha())); } else { cell.setText(UI.EMPTY_STRING); } } }); treeLayout.setColumnData(tc, new ColumnPixelData(pixelConverter.convertWidthInCharsToPixels(10))); /* * column: brightness */ tvc = new TreeViewerColumn(_treeViewer, SWT.LEAD); tc = tvc.getColumn(); tc.setText(Messages.Dialog_MapProfile_Column_Brightness); tc.setToolTipText(Messages.Dialog_MapProfile_Column_Brightness_Tooltip); tvc.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(final ViewerCell cell) { final Object element = cell.getElement(); if (element instanceof TVIMapProvider) { final MPWrapper mpWrapper = ((TVIMapProvider) element).getMapProviderWrapper(); cell.setText(mpWrapper.isBrightnessForNextMp() ? Integer.toString(mpWrapper.getBrightnessValueForNextMp()) : UI.EMPTY_STRING); } else { cell.setText(UI.EMPTY_STRING); } } }); treeLayout.setColumnData(tc, new ColumnPixelData(pixelConverter.convertWidthInCharsToPixels(10))); /* * column: empty to prevent scrolling to the right when the right column is selected */ tvc = new TreeViewerColumn(_treeViewer, SWT.LEAD); tvc.setLabelProvider(new CellLabelProvider() { @Override public void update(final ViewerCell cell) { /* * !!! label provider is necessary to prevent a NPE !!! */ } }); tc = tvc.getColumn(); treeLayout.setColumnData(tc, new ColumnPixelData(pixelConverter.convertWidthInCharsToPixels(4))); }
From source file:de.instanttouch.ui.scaffolding.swt.viewer.lazy.SnakeLazyTableViewer.java
License:Open Source License
private void handleSelectMarker(ViewerCell cell, String converted, SnakeMarker marker) { List<StyleRange> ranges = new ArrayList<StyleRange>(); SnakeHighlightMarker selector = (SnakeHighlightMarker) marker; String colorStr = selector.getForegroundColor(); Color textColor = SnakeSwtUtils.createFromHexString(colorStr); String backColorStr = selector.getBackgroundColor(); Color markerBackground = SnakeSwtUtils.createFromHexString(backColorStr); StringTokenizer tokenizer = new StringTokenizer(converted); while (tokenizer.hasMoreTokens()) { String token = tokenizer.nextToken(); if (selector.match(token)) { int index = converted.indexOf(token); if (index >= 0) { int fontStyle = SWT.NORMAL; if (selector.getFontStyle() == eFontStyle.bold) { fontStyle = SWT.BOLD; } else if (selector.getFontStyle() == eFontStyle.italic) { fontStyle = SWT.ITALIC; }/*w w w . ja va 2 s . com*/ FontData fontData = new FontData(selector.getFontFamily(), selector.getFontSize(), fontStyle); Font font = new Font(getControl().getDisplay(), fontData); StyleRange myStyledRange = new StyleRange(index, token.length(), textColor, markerBackground, fontStyle); myStyledRange.font = font; ranges.add(myStyledRange); } } } if (ranges.size() > 0) { StyleRange[] collected = new StyleRange[ranges.size()]; for (int i = 0; i < ranges.size(); i++) { StyleRange range = ranges.get(i); collected[i] = range; } cell.setStyleRanges(collected); } }
From source file:de.walware.docmlet.tex.ui.TexLabelProvider.java
License:Open Source License
@Override public void update(final ViewerCell cell) { final Object cellElement = cell.getElement(); if (cellElement instanceof IModelElement) { final IModelElement element = (IModelElement) cellElement; cell.setImage(getImage(element)); final StyledString styledText = getStyledText(element); cell.setText(styledText.getString()); cell.setStyleRanges(styledText.getStyleRanges()); super.update(cell); } else {// ww w . ja v a 2 s .co m cell.setImage(null); cell.setText(cellElement.toString()); cell.setStyleRanges(null); super.update(cell); } }
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;/* www . j a va 2 s . c om*/ 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.pkgmanager.PkgTab.java
License:Open Source License
private void createDetailRef(final Composite parent, final int type) { {//w w w . j ava 2 s. c o 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
protected void update(final ViewerCell cell, final RRepo repo) { final StyledString sb = new StyledString(repo.getName()); sb.append(" - ", StyledString.QUALIFIER_STYLER); //$NON-NLS-1$ sb.append(repo.getURL(), StyledString.QUALIFIER_STYLER); cell.setText(sb.getString());//from ww w . j av a 2s.c o m cell.setStyleRanges(sb.getStyleRanges()); }
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 ww w .j a v a 2 s. com*/ cell.setText(text.getString()); cell.setStyleRanges(text.getStyleRanges()); super.update(cell); }
From source file:de.walware.statet.r.ui.RLabelProvider.java
License:Open Source License
@Override public void update(final ViewerCell cell) { final Object element = cell.getElement(); final IModelElement modelElement = LTKUtil.getModelElement(element); if (element instanceof IElementPartition) { update(cell, (IElementPartition) element, modelElement); super.update(cell); } else if (modelElement != null) { update(cell, modelElement);//from w ww . j a v a 2s .co m super.update(cell); } else { cell.setImage(null); cell.setText(element.toString()); cell.setStyleRanges(null); super.update(cell); } }
From source file:de.walware.statet.r.ui.RLabelProvider.java
License:Open Source License
public void update(final ViewerCell cell, final IModelElement element) { Image image = null;// ww w . j av a2 s. c o m StyledString styledText = null; if (element instanceof ICombinedRElement) { final ICombinedRElement combined = (ICombinedRElement) element; if (combined.getRObjectType() == RObject.TYPE_REFERENCE) { final RObject realObject = ((RReference) element).getResolvedRObject(); if (realObject instanceof ICombinedRElement) { image = getImage((ICombinedRElement) realObject); styledText = getStyledText((ICombinedRElement) realObject, combined.getElementName(), null); } } } if (image == null) { image = getImage(element); } cell.setImage(image); if (styledText == null) { styledText = getStyledText(element); } if (styledText != null) { cell.setText(styledText.getString()); cell.setStyleRanges(styledText.getStyleRanges()); } else { cell.setText(getText(element)); cell.setStyleRanges(null); } }
From source file:de.walware.statet.r.ui.RLabelProvider.java
License:Open Source License
public void update(final ViewerCell cell, final IElementPartition partition, final IModelElement element) { cell.setImage(WaDebugImages.getImageRegistry().get(WaDebugImages.OBJ_VARIABLE_PARTITION)); final StyledString text = new StyledString(); text.append("["); //$NON-NLS-1$ text.append(Long.toString((partition.getPartitionStart() + 1))); text.append(" ... "); //$NON-NLS-1$ text.append(Long.toString(partition.getPartitionStart() + partition.getPartitionLength())); text.append("]"); //$NON-NLS-1$ if (element instanceof RList) { final RList rList = (RList) element; String label = rList.getName(partition.getPartitionStart()); if (label != null) { text.append(" "); //$NON-NLS-1$ text.append(label, StyledString.QUALIFIER_STYLER); text.append(" ... ", StyledString.QUALIFIER_STYLER); //$NON-NLS-1$ label = rList.getName(partition.getPartitionStart() + (partition.getPartitionLength() - 1)); if (label != null) { text.append(label, StyledString.QUALIFIER_STYLER); }/*ww w . ja va 2 s . c o m*/ } } cell.setText(text.getString()); cell.setStyleRanges(text.getStyleRanges()); }