List of usage examples for org.eclipse.jface.viewers ViewerCell setStyleRanges
public void setStyleRanges(StyleRange[] styleRanges)
From source file:es.uah.aut.srg.micobs.util.impl.MICOBSAdapterFactoryLabelProvider.java
License:Open Source License
public void update(ViewerCell cell) { Object element = cell.getElement(); StyledString styledString = getStyledText(element); String newText = styledString.toString(); StyleRange[] oldStyleRanges = cell.getStyleRanges(); StyleRange[] newStyleRanges = isOwnerDrawEnabled() ? styledString.getStyleRanges() : null; if (!Arrays.equals(oldStyleRanges, newStyleRanges)) { cell.setStyleRanges(newStyleRanges); if (cell.getText().equals(newText)) { // make sure there will be a refresh from a change cell.setText(""); //$NON-NLS-1$ }/*from w w w .j av a2 s . c o m*/ } cell.setText(newText); cell.setImage(getImage(element)); cell.setFont(getFont(element)); cell.setForeground(getForeground(element)); cell.setBackground(getBackground(element)); // no super call required. changes on item will trigger the refresh. }
From source file:eu.esdihumboldt.hale.io.csv.ui.LookupTablePage.java
License:Open Source License
private void addPreview(Composite page) { tableContainer = new Composite(page, SWT.NONE); tableContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); TableColumnLayout layout = new TableColumnLayout(); tableContainer.setLayout(layout);// w w w. j a va 2 s. co m tableViewer = new TableViewer(tableContainer, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER); tableViewer.getTable().setLinesVisible(true); tableViewer.getTable().setHeaderVisible(true); tableViewer.setContentProvider(ArrayContentProvider.getInstance()); sourceColumn = new TableViewerColumn(tableViewer, SWT.NONE); layout.setColumnData(sourceColumn.getColumn(), new ColumnWeightData(1)); sourceColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { @SuppressWarnings("unchecked") Entry<Value, Value> entry = (Entry<Value, Value>) element; return entry.getKey().getStringRepresentation(); } }); targetColumn = new TableViewerColumn(tableViewer, SWT.NONE); layout.setColumnData(targetColumn.getColumn(), new ColumnWeightData(1)); targetColumn.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { @SuppressWarnings("unchecked") Entry<Value, Value> entry = (Entry<Value, Value>) cell.getElement(); if (entry.getValue() == null) { StyledString styledString = new StyledString("(unmapped)", StyledString.DECORATIONS_STYLER); cell.setText(styledString.getString()); cell.setStyleRanges(styledString.getStyleRanges()); } else { cell.setText(entry.getValue().getStringRepresentation()); cell.setStyleRanges(null); } super.update(cell); } }); }
From source file:eu.esdihumboldt.hale.ui.codelist.inspire.internal.CodeListLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { Object element = cell.getElement(); StyledString text;/* w w w.j a va2s . c o m*/ if (element instanceof CodeListRef) { CodeListRef cl = (CodeListRef) element; text = new StyledString(cl.getName()); String schema = cl.getSchemaName(); if (schema != null) { text.append(" (" + schema + ")", StyledString.COUNTER_STYLER); } // // String tag = cl.getTag(); // if (tag != null) { // text.append(" (" + tag + ")", StyledString.DECORATIONS_STYLER); // } } else { text = new StyledString(getText(element)); } cell.setImage(getImage(element)); cell.setText(text.toString()); cell.setStyleRanges(text.getStyleRanges()); super.update(cell); }
From source file:eu.esdihumboldt.hale.ui.common.definition.viewer.StyledDefinitionLabelProvider.java
License:Open Source License
/** * @see StyledCellLabelProvider#update(ViewerCell) *///from w w w .j ava 2 s. c o m @Override public void update(ViewerCell cell) { Object element = cell.getElement(); element = extractElement(element); StyledString text = new StyledString(defaultLabels.getText(element)); cell.setImage(defaultLabels.getImage(element)); String contextText = null; String countText = null; if (element instanceof EntityDefinition) { PopulationService ps = (PopulationService) PlatformUI.getWorkbench() .getService(PopulationService.class); if (ps != null) { Population pop = ps.getPopulation((EntityDefinition) element); int count = pop.getOverallCount(); int parents = pop.getParentsCount(); switch (count) { case Population.UNKNOWN: countText = "\u00d7?"; break; case 0: break; default: countText = "\u00d7" + count; if (parents != count) { countText += " (" + parents + ")"; } } } contextText = AlignmentUtil.getContextText((EntityDefinition) element); element = ((EntityDefinition) element).getDefinition(); } // append cardinality if (!suppressCardinality && element instanceof ChildDefinition<?>) { Cardinality cardinality = null; if (((ChildDefinition<?>) element).asGroup() != null) { cardinality = ((ChildDefinition<?>) element).asGroup().getConstraint(Cardinality.class); } else if (((ChildDefinition<?>) element).asProperty() != null) { cardinality = ((ChildDefinition<?>) element).asProperty().getConstraint(Cardinality.class); } if (cardinality != null) { // only append cardinality if it isn't 1/1 if (cardinality.getMinOccurs() != 1 || cardinality.getMaxOccurs() != 1) { String card = " " + MessageFormat.format("({0}..{1})", new Object[] { Long.valueOf(cardinality.getMinOccurs()), (cardinality.getMaxOccurs() == Cardinality.UNBOUNDED) ? ("n") : (Long.valueOf(cardinality.getMaxOccurs())) }); text.append(card, StyledString.COUNTER_STYLER); } } } if (contextText != null) { contextText = " " + contextText; text.append(contextText, StyledString.DECORATIONS_STYLER); } if (countText != null) { countText = " " + countText; text.append(countText, StyledString.QUALIFIER_STYLER); } cell.setText(text.toString()); cell.setStyleRanges(text.getStyleRanges()); Color foreground = getForeground(cell.getElement()); cell.setForeground(foreground); Color background = getBackground(cell.getElement()); cell.setBackground(background); super.update(cell); }
From source file:eu.esdihumboldt.hale.ui.functions.core.ClassificationMappingParameterPage.java
License:Open Source License
private Control createManualTabControl(Composite tabParent) { // TODO load occurring value sources Composite tabContent = new Composite(tabParent, SWT.NONE); tabContent.setLayout(new GridLayout(1, true)); ToolBar toolBar = new ToolBar(tabContent, SWT.NONE); toolBar.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false)); Composite tableContainer = new Composite(tabContent, SWT.NONE); tableContainer.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); TableColumnLayout layout = new TableColumnLayout(); tableContainer.setLayout(layout);/*from w w w . j a va 2 s . c o m*/ tableViewer = new TableViewer(tableContainer, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER); tableViewer.getTable().setLinesVisible(true); tableViewer.getTable().setHeaderVisible(true); tableViewer.setContentProvider(ArrayContentProvider.getInstance()); TableViewerColumn sourceColumn = new TableViewerColumn(tableViewer, SWT.NONE); sourceColumn.getColumn().setText("Source value"); layout.setColumnData(sourceColumn.getColumn(), new ColumnWeightData(1)); sourceColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { @SuppressWarnings("unchecked") Entry<Value, Value> entry = (Entry<Value, Value>) element; return entry.getKey().getStringRepresentation(); } }); TableViewerColumn targetColumn = new TableViewerColumn(tableViewer, SWT.NONE); targetColumn.getColumn().setText("Target value"); layout.setColumnData(targetColumn.getColumn(), new ColumnWeightData(1)); targetColumn.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { @SuppressWarnings("unchecked") Entry<Value, Value> entry = (Entry<Value, Value>) cell.getElement(); if (entry.getValue() == null) { StyledString styledString = new StyledString("(unmapped)", StyledString.DECORATIONS_STYLER); cell.setText(styledString.getString()); cell.setStyleRanges(styledString.getStyleRanges()); } else { cell.setText(entry.getValue().getStringRepresentation()); cell.setStyleRanges(null); } super.update(cell); } }); tableViewer.setInput(lookupTable.entrySet()); tableViewer.getTable().addMouseListener(new MouseAdapter() { @Override public void mouseDoubleClick(MouseEvent e) { ViewerCell cell = tableViewer.getCell(new Point(e.x, e.y)); if (cell != null) { @SuppressWarnings("unchecked") Entry<Value, Value> entry = (Entry<Value, Value>) cell.getElement(); Value oldValue; Value newValue; if (cell.getColumnIndex() == 0) { oldValue = entry.getKey(); newValue = selectValue(sourceProperty, sourceEntity, "Edit source value", "Enter a new source value", oldValue.getStringRepresentation()); } else { oldValue = entry.getValue(); String initialValue = oldValue == null ? null : oldValue.getStringRepresentation(); newValue = selectValue(targetProperty, targetEntity, "Edit target value", "Enter a target value", initialValue); } if (newValue == null) return; if (cell.getColumnIndex() == 0) { if (!newValue.equals(oldValue) && lookupTable.containsKey(newValue)) { showDuplicateSourceWarning(newValue.getStringRepresentation()); } else { lookupTable.put(newValue, entry.getValue()); lookupTable.remove(oldValue); tableViewer.refresh(); } } else { entry.setValue(newValue); tableViewer.update(entry, null); } } } }); final ToolItem valueAdd = new ToolItem(toolBar, SWT.PUSH); final ToolItem fillValues = new ToolItem(toolBar, SWT.PUSH); new ToolItem(toolBar, SWT.SEPARATOR); final ToolItem loadButton = new ToolItem(toolBar, SWT.PUSH); saveButton = new ToolItem(toolBar, SWT.PUSH); new ToolItem(toolBar, SWT.SEPARATOR); final ToolItem valueRemove = new ToolItem(toolBar, SWT.PUSH); removeAllButton = new ToolItem(toolBar, SWT.PUSH); valueAdd.setImage(CommonSharedImages.getImageRegistry().get(CommonSharedImages.IMG_ADD)); valueAdd.setToolTipText("Add source value"); valueAdd.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { Value newSource = selectValue(sourceProperty, sourceEntity, "Add source value", "Enter a new source value", null); if (newSource != null) { if (lookupTable.containsKey(newSource)) showDuplicateSourceWarning(newSource.getStringRepresentation()); else { lookupTable.put(newSource, null); removeAllButton.setEnabled(true); saveButton.setEnabled(true); tableViewer.refresh(); } } } }); loadButton.setImage(CommonSharedImages.getImageRegistry().get(CommonSharedImages.IMG_OPEN)); loadButton.setToolTipText("Load classification from file"); loadButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { LookupTableLoadWizard wizard = new LookupTableLoadWizard(); LookupLoadAdvisor advisor = new LookupLoadAdvisor(); wizard.setAdvisor(advisor, null); Shell shell = Display.getCurrent().getActiveShell(); HaleWizardDialog dialog = new HaleWizardDialog(shell, wizard); dialog.open(); if (advisor.getLookupTable() != null) { lookupTable.putAll(advisor.getLookupTable().getTable().asMap()); tableViewer.refresh(); removeAllButton.setEnabled(!lookupTable.isEmpty()); saveButton.setEnabled(!lookupTable.isEmpty()); } } }); fillValues.setImage(fillValuesIcon); fillValues.setToolTipText("Attempt to fill source values with enumerations and occurring values."); fillValues.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { // first try enumeration Enumeration<?> enumeration = sourceProperty.getPropertyType().getConstraint(Enumeration.class); if (enumeration.getValues() != null) { addSourceValuesIfNew(enumeration.getValues()); } // then try occurring values if (!ovs.updateOccurringValues(sourceEntity)) { // values already there or not possible addOccurringSourceValues(ovs.getOccurringValues(sourceEntity)); } else { // job is running, listener will be notified } removeAllButton.setEnabled(!lookupTable.isEmpty()); saveButton.setEnabled(!lookupTable.isEmpty()); } }); saveButton.setImage(CommonSharedImages.getImageRegistry().get(CommonSharedImages.IMG_SAVE)); saveButton.setToolTipText("Save classification to file"); saveButton.setEnabled(false); saveButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { LookupTableExportWizard wizard = new LookupTableExportWizard(); LookupExportAdvisor advisor = new LookupExportAdvisor( new LookupTableInfoImpl(new LookupTableImpl(lookupTable), "current", "not set")); wizard.setAdvisor(advisor, null); Shell shell = Display.getCurrent().getActiveShell(); HaleWizardDialog dialog = new HaleWizardDialog(shell, wizard); dialog.open(); } }); valueRemove.setImage(CommonSharedImages.getImageRegistry().get(CommonSharedImages.IMG_REMOVE)); valueRemove.setToolTipText("Remove classification entry"); valueRemove.setEnabled(false); tableViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { valueRemove.setEnabled(!event.getSelection().isEmpty()); saveButton.setEnabled(!event.getSelection().isEmpty()); } }); valueRemove.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (tableViewer.getSelection().isEmpty()) return; Object element = ((IStructuredSelection) tableViewer.getSelection()).getFirstElement(); @SuppressWarnings("unchecked") Entry<Value, Value> entry = (Entry<Value, Value>) element; lookupTable.remove(entry.getKey()); tableViewer.refresh(); removeAllButton.setEnabled(!lookupTable.isEmpty()); saveButton.setEnabled(!lookupTable.isEmpty()); } }); removeAllButton.setImage(CommonSharedImages.getImageRegistry().get(CommonSharedImages.IMG_TRASH)); removeAllButton.setEnabled(false); removeAllButton.setToolTipText("Remove complete classification"); removeAllButton.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { lookupTable.clear(); tableViewer.refresh(); removeAllButton.setEnabled(false); saveButton.setEnabled(false); } }); Label desc = new Label(tabContent, SWT.NONE); desc.setText("Double click on a table cell to change its value."); return tabContent; }
From source file:eu.esdihumboldt.hale.ui.functions.groovy.internal.HelperFunctionLabelProvider.java
License:Open Source License
/** * @see org.eclipse.jface.viewers.StyledCellLabelProvider#update(org.eclipse.jface.viewers.ViewerCell) *//*from w ww . j a v a 2 s . co m*/ @Override public void update(ViewerCell cell) { Object element = cell.getElement(); String elementName = null; if (element instanceof Category) { cell.setText(((Category) element).getName()); cell.setImage( CommonSharedImages.getImageRegistry().get(CommonSharedImagesConstants.IMG_DEFINITION_GROUP)); } else if (element instanceof HelperFunctionOrCategory) { HelperFunctionSpecification hfs = null; elementName = ((HelperFunctionOrCategory) element).getName(); StyledString text = new StyledString(elementName); try { HelperFunction<?> helper = ((HelperFunctionOrCategory) element).asFunction(); hfs = (HelperFunctionSpecification) helper.getSpec(elementName); text.append(PageFunctions.getStyledParameters(hfs)); } catch (Exception e) { // } cell.setText(text.getString()); cell.setImage(CommonSharedImages.getImageRegistry().get(CommonSharedImagesConstants.IMG_FUNCTION)); cell.setStyleRanges(text.getStyleRanges()); } super.update(cell); }
From source file:eu.esdihumboldt.hale.ui.instancevalidation.report.InstanceValidationReportDetailsLabelProvider.java
License:Open Source License
/** * @see org.eclipse.jface.viewers.StyledCellLabelProvider#update(org.eclipse.jface.viewers.ViewerCell) *//* w ww . jav a 2 s. c om*/ @Override public void update(ViewerCell cell) { Object element = cell.getElement(); String label = getText(element); int newLine = label.indexOf('\n'); if (newLine > -1) label = label.substring(0, newLine) + " ..."; StyledString text = new StyledString(label); if (!(element instanceof InstanceValidationMessage)) { TreePath treePath = cell.getViewerRow().getTreePath(); boolean isLimited = contentProvider.isLimited(treePath); text.append(' '); if (!isLimited) text.append(MessageFormat.format("({0} warnings)", contentProvider.getMessageCount(treePath)), StyledString.COUNTER_STYLER); else text.append(MessageFormat.format("(showing {0} of {1})", InstanceValidationReportDetailsContentProvider.LIMIT, contentProvider.getMessageCount(treePath)), StyledString.COUNTER_STYLER); } cell.setText(text.getString()); cell.setStyleRanges(text.getStyleRanges()); cell.setImage(getImage(element)); super.update(cell); }
From source file:eu.esdihumboldt.hale.ui.schema.presets.internal.SchemaPresetLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { Object element = cell.getElement(); StyledString text = new StyledString(); if (element instanceof SchemaPreset) { SchemaPreset schema = (SchemaPreset) element; text.append(schema.getName());/*from w w w . ja va2 s.co m*/ } if (element instanceof SchemaCategory) { text.append(((SchemaCategory) element).getName()); } if (element instanceof SchemaPreset) { SchemaPreset preset = (SchemaPreset) element; String version = preset.getVersion(); if (version != null) { text.append(" " + version, StyledString.COUNTER_STYLER); } String tag = preset.getTag(); if (tag != null) { text.append(" (" + tag + ")", StyledString.DECORATIONS_STYLER); } } cell.setImage(getImage(element)); cell.setText(text.toString()); cell.setStyleRanges(text.getStyleRanges()); super.update(cell); }
From source file:eu.esdihumboldt.hale.ui.templates.webtemplates.LinkLabels.java
License:Open Source License
@Override public void update(ViewerCell cell) { StyledString text = new StyledString("Info", linkStyler); cell.setText(text.getString());/* www . j a va2 s . c om*/ cell.setStyleRanges(text.getStyleRanges()); cell.getControl().setCursor(cursor); super.update(cell); }
From source file:eu.esdihumboldt.hale.ui.templates.webtemplates.WebTemplatesDialog.java
License:Open Source License
@Override protected void setupViewer(final TreeViewer viewer, WebTemplate initialSelection) { // this label provider is used for filtering (I guess) viewer.setLabelProvider(new LabelProvider() { @Override// w w w.j a va 2s .com public String getText(Object element) { if (element instanceof WebTemplate) { return ((WebTemplate) element).getName(); } return super.getText(element); } }); viewer.getTree().setHeaderVisible(true); // viewer.getTree().setLinesVisible(true); // main column TreeViewerColumn mainColumn = new TreeViewerColumn(viewer, SWT.NONE); mainColumn.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { Object element = cell.getElement(); StyledString text = new StyledString(); if (element instanceof WebTemplate) { WebTemplate template = (WebTemplate) element; text.append(template.getName()); } else { text.append(element.toString()); } cell.setText(text.getString()); cell.setStyleRanges(text.getStyleRanges()); super.update(cell); } }); mainColumn.getColumn().setText("Template"); layout.setColumnData(mainColumn.getColumn(), new ColumnWeightData(7)); // link column if (Desktop.isDesktopSupported()) { TreeViewerColumn linkColumn = new TreeViewerColumn(viewer, SWT.CENTER); linkColumn.setLabelProvider(new LinkLabels()); // listener that reacts on link cell clicks viewer.getTree().addMouseListener(new MouseAdapter() { @Override public void mouseDown(MouseEvent e) { if (e.button == 1) { ViewerCell cell = viewer.getCell(new Point(e.x, e.y)); if (cell != null && cell.getColumnIndex() == 1 && cell.getTextBounds().contains(e.x, e.y)) { Object element = cell.getElement(); if (element instanceof WebTemplate) { try { Desktop.getDesktop().browse(((WebTemplate) element).getSite()); } catch (IOException e1) { log.error("Could not launch browser", e1); } } } } } }); layout.setColumnData(linkColumn.getColumn(), new ColumnWeightData(1)); } viewer.setComparator(new ViewerComparator()); viewer.setContentProvider(new WebTemplatesContentProvider()); viewer.setInput(templates); }