List of usage examples for org.eclipse.jface.viewers ViewerCell setStyleRanges
public void setStyleRanges(StyleRange[] styleRanges)
From source file:org.csstudio.display.pvtable.ui.PVTableCellLabelProviderWithChangeIndicator.java
License:Open Source License
@Override public void update(final ViewerCell cell) { final String text = cell.getText(); final PVTableItem item = (PVTableItem) cell.getElement(); if (item.isChanged()) cell.setStyleRanges(new StyleRange[] { new StyleRange(0, text.length(), null, changed_background) }); else/*from www. ja v a 2 s .c o m*/ cell.setStyleRanges(null); super.update(cell); }
From source file:org.eclipse.ant.internal.ui.model.AntModelLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { Object obj = cell.getElement(); StyledString str = getStyledText(obj); cell.setText(str.toString());// w w w.java 2 s. c o m cell.setStyleRanges(str.getStyleRanges()); cell.setImage(getImage(obj)); }
From source file:org.eclipse.babel.tapiji.tools.core.ui.widgets.provider.ResKeyTreeLabelProvider.java
License:Open Source License
private void updateCell(ViewerCell cell) { Object element = cell.getElement(); int columnIndex = cell.getColumnIndex(); if (isSearchEnabled(element)) { if (isMatchingToPattern(element, columnIndex)) { List<StyleRange> styleRanges = new ArrayList<StyleRange>(); FilterInfo filterInfo = (FilterInfo) ((IValuedKeyTreeNode) element).getInfo(); if (columnIndex > 0) { for (Region reg : filterInfo.getFoundInLocaleRanges(locales.get(columnIndex - 1))) { styleRanges/*w w w. j a v a2s . com*/ .add(new StyleRange(reg.getOffset(), reg.getLength(), black, info_color, SWT.BOLD)); } } else { // check if the pattern has been found within the key // section if (filterInfo.isFoundInKey()) { for (Region reg : filterInfo.getKeyOccurrences()) { StyleRange sr = new StyleRange(reg.getOffset(), reg.getLength(), black, info_color, SWT.BOLD); styleRanges.add(sr); } } } cell.setStyleRanges(styleRanges.toArray(new StyleRange[styleRanges.size()])); } else { cell.setForeground(gray); } } else if (columnIndex == 0) { super.update(cell); } }
From source file:org.eclipse.e4.tools.emf.ui.internal.common.component.dialogs.AbstractIconDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite comp = (Composite) super.createDialogArea(parent); getShell().setText(getShellTitle()); setTitle(getDialogTitle());/*from w w w . j ava 2 s . com*/ setMessage(getDialogMessage()); Composite container = new Composite(comp, SWT.NONE); container.setLayoutData(new GridData(GridData.FILL_BOTH)); container.setLayout(new GridLayout(2, false)); Label l = new Label(container, SWT.NONE); l.setText(Messages.AbstractIconDialog_IconName); final Text t = new Text(container, SWT.BORDER | SWT.SEARCH | SWT.ICON_SEARCH); t.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); new Label(container, SWT.NONE); viewer = new TableViewer(container); GridData gd = new GridData(GridData.FILL_BOTH); viewer.getControl().setLayoutData(gd); viewer.setContentProvider(new ObservableListContentProvider()); viewer.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { IFile file = (IFile) cell.getElement(); StyledString styledString = new StyledString(file.getProjectRelativePath().toString(), null); Image img = icons.get(file); if (img == null) { InputStream in = null; try { in = file.getContents(); img = new Image(cell.getControl().getDisplay(), in); icons.put(file, img); } catch (CoreException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (in != null) { try { in.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } String bundle = getBundle(file); if (bundle != null) { styledString.append(" - " + bundle, StyledString.DECORATIONS_STYLER); //$NON-NLS-1$ } cell.setImage(img); cell.setText(styledString.getString()); cell.setStyleRanges(styledString.getStyleRanges()); } }); final WritableList list = new WritableList(); viewer.setInput(list); viewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { okPressed(); } }); t.addModifyListener(new ModifyListener() { private IconMatchCallback callback; private Timer timer = new Timer(true); private TimerTask task; public void modifyText(ModifyEvent e) { if (callback != null) { callback.cancel = true; } if (task != null) { task.cancel(); } list.clear(); clearImages(); callback = new IconMatchCallback(list); task = new SearchThread(callback, t.getText(), project); timer.schedule(task, 500); } }); getShell().addDisposeListener(new DisposeListener() { public void widgetDisposed(DisposeEvent e) { clearImages(); } }); return comp; }
From source file:org.eclipse.e4.tools.emf.ui.internal.common.component.dialogs.AbstractIconDialogWithHardcodedScope.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite comp = (Composite) super.createDialogArea(parent); getShell().setText(getShellTitle()); setTitle(getDialogTitle());/* www. j av a 2 s. com*/ setMessage(getDialogMessage()); String bundleFilter = (String) context.get("bundle"); if (E.notEmpty(bundleFilter)) { setMessage("Filtering by bundle " + bundleFilter); //$NON-NLS-1$ } Composite container = new Composite(comp, SWT.NONE); container.setLayoutData(new GridData(GridData.FILL_BOTH)); container.setLayout(new GridLayout(2, false)); Composite compOptions = new Composite(container, SWT.NONE); compOptions.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1)); compOptions.setLayout(new RowLayout()); if (E.isEmpty(bundleFilter)) { Button btnProject = new Button(compOptions, SWT.RADIO); btnProject.setText("Project"); btnProject.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { searchScope = ResourceSearchScope.PROJECT; textSearch.notifyListeners(SWT.Modify, new Event()); } }); btnProject.setSelection(true); Button btnWorkspace = new Button(compOptions, SWT.RADIO); btnWorkspace.setText("Workspace"); btnWorkspace.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { searchScope = ResourceSearchScope.WORKSPACE; textSearch.notifyListeners(SWT.Modify, new Event()); } }); btnWorkspace.setSelection(searchScope == ResourceSearchScope.WORKSPACE); btnProject.setSelection(searchScope == ResourceSearchScope.PROJECT); } else { searchScope = ResourceSearchScope.WORKSPACE; } Label l = new Label(container, SWT.NONE); l.setText(Messages.AbstractIconDialog_IconName); textSearch = new Text(container, SWT.BORDER | SWT.SEARCH | SWT.ICON_SEARCH); textSearch.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); new Label(container, SWT.NONE); viewer = new TableViewer(container, SWT.FULL_SELECTION | SWT.BORDER); GridData gd = new GridData(GridData.FILL_BOTH); viewer.getControl().setLayoutData(gd); viewer.setContentProvider(new ObservableListContentProvider()); viewer.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { IFile file = (IFile) cell.getElement(); StyledString styledString = new StyledString(file.getProjectRelativePath().toString(), null); Image img = icons.get(file); if (img == null) { InputStream in = null; try { in = file.getContents(); img = new Image(cell.getControl().getDisplay(), in); icons.put(file, img); } catch (CoreException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { if (in != null) { try { in.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } String bundle = getBundle(file); if (bundle != null) { styledString.append(" - " + bundle, StyledString.DECORATIONS_STYLER); //$NON-NLS-1$ } cell.setImage(img); cell.setText(styledString.getString()); cell.setStyleRanges(styledString.getStyleRanges()); } }); final WritableList list = new WritableList(); viewer.setInput(list); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { okPressed(); } }); textSearch.addModifyListener(new ModifyListener() { private IconMatchCallback callback; private Timer timer = new Timer(true); private TimerTask task; @Override public void modifyText(ModifyEvent e) { if (callback != null) { callback.cancel = true; } if (task != null) { task.cancel(); } list.clear(); clearImages(); callback = new IconMatchCallback(list); task = new SearchThread(callback, textSearch.getText(), project, context, searchScope); timer.schedule(task, 500); } }); getShell().addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { clearImages(); } }); textSearch.notifyListeners(SWT.Modify, new Event()); return comp; }
From source file:org.eclipse.e4.tools.emf.ui.internal.common.component.dialogs.AbstractIconDialogWithScopeAndFilter.java
License:Open Source License
@Override protected void rebuildViewer() { super.rebuildViewer(); getViewer().getTable().setHeaderVisible(true); ((GridData) getViewer().getTable().getLayoutData()).minimumHeight = 100; TableViewerColumn colIcon = new TableViewerColumn(getViewer(), SWT.NONE); colIcon.getColumn().setText(Messages.AbstractIconDialogWithScopeAndFilter_icon); TableViewerColumn colText = new TableViewerColumn(getViewer(), SWT.NONE); colText.getColumn().setText(Messages.AbstractIconDialogWithScopeAndFilter_details); // resize the row height using a MeasureItem listener getViewer().getTable().addListener(SWT.MeasureItem, new Listener() { @Override/* www . j a va 2s .c o m*/ public void handleEvent(Event event) { // height cannot be per row so simply set event.height = maxDisplayedImageSize; } }); colIcon.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { IFile file; if (cell.getElement() instanceof ContributionData) { file = new ContributionDataFile((ContributionData) cell.getElement()); } else if (cell.getElement() instanceof Entry) { file = ((Entry) cell.getElement()).file; } else { file = (IFile) cell.getElement(); } Image img = icons.get(file); if (img == null) { InputStream in = null; try { in = file.getContents(); img = new Image(cell.getControl().getDisplay(), in); icons.put(file, img); } catch (Exception e) { // e.printStackTrace(); return; } finally { if (in != null) { try { in.close(); } catch (IOException e) { // TODO Auto-generated catch block // e.printStackTrace(); } } } } // scale image if larger then max height // also remember max width for column resizing if (img != null) { double scale1 = ((double) maxDisplayedImageSize) / img.getImageData().height; double scale2 = ((double) maxDisplayedImageSize) / img.getImageData().width; if (scale2 < scale1) { scale1 = scale2; } if (scale1 < 1) { int width = (int) (img.getImageData().width * scale1); if (width == 0) width = 1; int height = (int) (img.getImageData().height * scale1); if (height == 0) height = 1; Image img2 = new Image(img.getDevice(), img.getImageData().scaledTo(width, height)); img.dispose(); img = img2; icons.put(file, img); } int width = AbstractIconDialogWithScopeAndFilter.this.getViewer().getTable().getColumn(0) .getWidth(); if (img.getImageData().width > width) { AbstractIconDialogWithScopeAndFilter.this.getViewer().getTable().getColumn(0) .setWidth(img.getImageData().width); } int height = img.getImageData().height; if (height > maxImageHeight) { maxImageHeight = height; } } cell.setImage(img); } }); colIcon.getColumn().setWidth(30); colText.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { IFile file; String installLocation = null; if (cell.getElement() instanceof ContributionData) { ContributionData contributionData = (ContributionData) cell.getElement(); file = new ContributionDataFile(contributionData); installLocation = contributionData.installLocation; } else if (cell.getElement() instanceof Entry) { file = ((Entry) cell.getElement()).file; installLocation = ((Entry) cell.getElement()).installLocation; } else { file = (IFile) cell.getElement(); } StyledString styledString = new StyledString(file.getProjectRelativePath().toString(), null); String bundle = FilteredContributionDialog.getBundle(file); if (bundle != null) { styledString.append(" - " + bundle, StyledString.DECORATIONS_STYLER); //$NON-NLS-1$ } else if (installLocation != null) { styledString.append(" - " + installLocation, StyledString.DECORATIONS_STYLER); //$NON-NLS-1$ } cell.setText(styledString.getString()); cell.setStyleRanges(styledString.getStyleRanges()); } }); colText.getColumn().setWidth(400); getShell().addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { clearImages(); } }); }
From source file:org.eclipse.e4.tools.emf.ui.internal.common.component.dialogs.AbstractIdDialog.java
License:Open Source License
protected IBaseLabelProvider getLabelProvider() { return new StyledCellLabelProvider() { @Override//w ww . ja v a 2 s. co m public void update(ViewerCell cell) { ElementClass el = (ElementClass) cell.getElement(); String elementId = (el.getElementId() != null && el.getElementId().trim().length() > 0) ? el.getElementId() : "(Id missing)"; //$NON-NLS-1$ StyledString str = new StyledString(elementId); String infoString = getListItemInformation(el); if (infoString != null && infoString.trim().length() > 0) str.append(" - " + getListItemInformation(el), StyledString.DECORATIONS_STYLER); //$NON-NLS-1$ cell.setText(str.getString()); cell.setStyleRanges(str.getStyleRanges()); } }; }
From source file:org.eclipse.e4.tools.emf.ui.internal.common.component.dialogs.FilteredContributionDialog.java
License:Open Source License
protected void rebuildViewer() { viewerList = new WritableList(); TableViewer oldViewer = viewer;//from w ww . j ava2 s . co m viewer = new TableViewer(compOptions, SWT.FULL_SELECTION | SWT.BORDER); if (oldViewer != null) { viewer.getTable().moveAbove(oldViewer.getTable()); oldViewer.getTable().dispose(); } GridData gd = new GridData(GridData.FILL_BOTH); viewer.getControl().setLayoutData(gd); viewer.setContentProvider(new ObservableListContentProvider()); viewer.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { ContributionData data; if (cell.getElement() instanceof ContributionData) { data = (ContributionData) cell.getElement(); } else if (cell.getElement() instanceof ContributionDataFile) { data = ((ContributionDataFile) cell.getElement()).getContributionData(); } else { return; } StyledString styledString = new StyledString(); if (data.className != null) { styledString.append(data.className, null); } if (data.bundleName != null) { styledString.append(" - " + data.bundleName, StyledString.DECORATIONS_STYLER); //$NON-NLS-1$ } else if (data.installLocation != null) { styledString.append(" - " + data.installLocation, StyledString.DECORATIONS_STYLER); //$NON-NLS-1$ } if (data.sourceType != null) { styledString.append(" - ", StyledString.DECORATIONS_STYLER); //$NON-NLS-1$ styledString.append(data.sourceType + "", StyledString.COUNTER_STYLER); //$NON-NLS-1$ } if (data.iconPath == null) { cell.setImage(contributionTypeImage); } cell.setText(styledString.getString()); cell.setStyleRanges(styledString.getStyleRanges()); } }); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { okPressed(); } }); viewer.setInput(viewerList); if (oldViewer != null) { getViewer().getTable().getParent().layout(true, true); getViewer().getTable().getParent().redraw(); } }
From source file:org.eclipse.e4.tools.emf.ui.internal.common.component.dialogs.FindImportElementDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite comp = (Composite) super.createDialogArea(parent); final Image titleImage = new Image(parent.getDisplay(), getClass().getClassLoader().getResourceAsStream("/icons/full/wizban/import_wiz.png")); //$NON-NLS-1$ setTitleImage(titleImage);//from www . ja v a 2 s . c o m getShell().addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { titleImage.dispose(); } }); getShell().setText(Messages.FindImportElementDialog_ShellTitle); setTitle(Messages.FindImportElementDialog_Title); setMessage(Messages.FindImportElementDialog_Message); Composite container = new Composite(comp, SWT.NONE); container.setLayoutData(new GridData(GridData.FILL_BOTH)); container.setLayout(new GridLayout(2, false)); Label l = new Label(container, SWT.NONE); l.setText(Messages.FindImportElementDialog_Search); final Text searchText = new Text(container, SWT.BORDER | SWT.SEARCH | SWT.ICON_SEARCH); GridData gd = new GridData(GridData.FILL_HORIZONTAL); searchText.setLayoutData(gd); l = new Label(container, SWT.PUSH); viewer = new TableViewer(container); gd = new GridData(GridData.FILL_BOTH); gd.heightHint = 200; viewer.getControl().setLayoutData(gd); viewer.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { EObject o = (EObject) cell.getElement(); cell.setImage(editor.getImage(o, searchText.getDisplay())); MApplicationElement appEl = (MApplicationElement) o; StyledString styledString = new StyledString(editor.getLabel(o) + " (" //$NON-NLS-1$ + (appEl.getElementId() == null ? "<" + Messages.FindImportElementDialog_noId + ">" //$NON-NLS-1$//$NON-NLS-2$ : appEl.getElementId()) + ")", null); //$NON-NLS-1$ String detailLabel = editor.getDetailLabel(o); if (detailLabel != null && !detailLabel.equals(appEl.getElementId())) { styledString.append(" - " + detailLabel, StyledString.DECORATIONS_STYLER); //$NON-NLS-1$ } styledString.append(" - " + o.eResource().getURI(), StyledString.COUNTER_STYLER); //$NON-NLS-1$ cell.setStyleRanges(styledString.getStyleRanges()); cell.setText(styledString.getString()); } }); viewer.setContentProvider(new ObservableListContentProvider()); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { okPressed(); } }); final WritableList list = new WritableList(); viewer.setInput(list); final ClassContributionCollector collector = getCollector(); searchText.addModifyListener(new ModifyListener() { private ModelResultHandlerImpl currentResultHandler; @Override public void modifyText(ModifyEvent e) { if (currentResultHandler != null) { currentResultHandler.cancled = true; } list.clear(); Filter filter = new Filter(element.eClass(), searchText.getText()); currentResultHandler = new ModelResultHandlerImpl(list, filter, editor, element.eResource()); collector.findModelElements(filter, currentResultHandler); } }); Button button = new Button(container, SWT.PUSH); button.setText(Messages.FindImportElementDialog_ClearCache); button.setLayoutData(new GridData(GridData.END, GridData.CENTER, true, false, 2, 1)); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { collector.clearModelCache(); } }); return comp; }
From source file:org.eclipse.e4.tools.emf.ui.internal.common.component.dialogs.FindParentReferenceElementDialog.java
License:Open Source License
@Override protected Control createDialogArea(Composite parent) { Composite comp = (Composite) super.createDialogArea(parent); final Image titleImage = new Image(parent.getDisplay(), getClass().getClassLoader().getResourceAsStream("/icons/full/wizban/import_wiz.png")); //$NON-NLS-1$ setTitleImage(titleImage);/*from w ww .jav a 2 s. c o m*/ getShell().addDisposeListener(new DisposeListener() { @Override public void widgetDisposed(DisposeEvent e) { titleImage.dispose(); } }); getShell().setText(Messages.FindParentReferenceElementDialog_ShellTitle); setTitle(Messages.FindParentReferenceElementDialog_Title); setMessage(Messages.FindParentReferenceElementDialog_Message); Composite container = new Composite(comp, SWT.NONE); container.setLayoutData(new GridData(GridData.FILL_BOTH)); container.setLayout(new GridLayout(2, false)); Label l = new Label(container, SWT.NONE); l.setText(Messages.FindParentReferenceElementDialog_ContainerType); eClassViewer = new ComboViewer(container); eClassViewer.setLabelProvider(new LabelProvider() { @Override public String getText(Object element) { return ((EClass) element).getName(); } }); eClassViewer.setContentProvider(new ArrayContentProvider()); List<EClass> eClassList = new ArrayList<EClass>(); for (InternalPackage p : Util.loadPackages()) { eClassList.addAll(p.getAllClasses()); } eClassViewer.setComparator(new ViewerComparator() { @Override public int compare(Viewer viewer, Object e1, Object e2) { EClass ec1 = (EClass) e1; EClass ec2 = (EClass) e2; return ec1.getName().compareTo(ec2.getName()); } }); eClassViewer.setInput(eClassList); eClassViewer.getCombo().select(0); eClassViewer.getControl().setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); eClassViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { updateSearch(); } }); l = new Label(container, SWT.NONE); l.setText(Messages.FindParentReferenceElementDialog_Search); searchText = new Text(container, SWT.BORDER | SWT.SEARCH | SWT.ICON_SEARCH); GridData gd = new GridData(GridData.FILL_HORIZONTAL); searchText.setLayoutData(gd); l = new Label(container, SWT.PUSH); viewer = new TableViewer(container); gd = new GridData(GridData.FILL_BOTH); gd.heightHint = 200; viewer.getControl().setLayoutData(gd); viewer.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { EObject o = (EObject) cell.getElement(); AbstractComponentEditor editor = FindParentReferenceElementDialog.this.editor.getEditor() .getEditor(o.eClass()); cell.setImage(editor.getImage(o, searchText.getDisplay())); MApplicationElement appEl = (MApplicationElement) o; StyledString styledString = new StyledString(editor.getLabel(o) + " (" //$NON-NLS-1$ + (appEl.getElementId() == null ? "<" + Messages.FindParentReferenceElementDialog_NoId + ">" //$NON-NLS-1$//$NON-NLS-2$ : appEl.getElementId()) + ")", null); //$NON-NLS-1$ String detailLabel = editor.getDetailLabel(o); if (detailLabel != null && !detailLabel.equals(appEl.getElementId())) { styledString.append(" - " + detailLabel, StyledString.DECORATIONS_STYLER); //$NON-NLS-1$ } styledString.append(" - " + o.eResource().getURI(), StyledString.COUNTER_STYLER); //$NON-NLS-1$ cell.setStyleRanges(styledString.getStyleRanges()); cell.setText(styledString.getString()); } }); viewer.setContentProvider(new ObservableListContentProvider()); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(DoubleClickEvent event) { okPressed(); } }); list = new WritableList(); viewer.setInput(list); final ClassContributionCollector collector = getCollector(); searchText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { updateSearch(); } }); Button button = new Button(container, SWT.PUSH); button.setText(Messages.FindParentReferenceElementDialog_ClearCache); button.setLayoutData(new GridData(GridData.END, GridData.CENTER, true, false, 2, 1)); button.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { collector.clearModelCache(); } }); return comp; }