List of usage examples for org.eclipse.jface.viewers ViewerCell getElement
public Object getElement()
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);/*from ww w. ja v a 2s . c om*/ 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;/*from ww w . j a va 2 s. 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 www . j a v a 2s.c om @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);// www . ja v a 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()); 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.core.SourceListParameterPage.java
License:Open Source License
/** * @see HaleWizardPage#createContent(Composite) *//*ww w .j a v a 2 s .co m*/ @Override protected void createContent(Composite page) { page.setLayout(GridLayoutFactory.swtDefaults().create()); // input field textField = createAndLayoutTextField(page); // let subclasses for example add validation configure(textField); setText(textField, initialValue); // variables Label label = new Label(page, SWT.NONE); label.setText("Available variables (double click to insert)"); label.setLayoutData(GridDataFactory.swtDefaults().align(SWT.BEGINNING, SWT.CENTER).indent(4, 12).create()); // variables table Composite tableComposite = new Composite(page, SWT.NONE); tableComposite .setLayoutData(GridDataFactory.fillDefaults().grab(true, false).hint(SWT.DEFAULT, 100).create()); TableColumnLayout columnLayout = new TableColumnLayout(); tableComposite.setLayout(columnLayout); varTable = new TableViewer(tableComposite, SWT.BORDER | SWT.SINGLE | SWT.FULL_SELECTION); varTable.getTable().setHeaderVisible(true); TableViewerColumn entityColumn = new TableViewerColumn(varTable, SWT.NONE); columnLayout.setColumnData(entityColumn.getColumn(), new ColumnWeightData(2, true)); entityColumn.getColumn().setText("Entity"); varTable.setContentProvider(ArrayContentProvider.getInstance()); varTable.setLabelProvider(new StyledDefinitionLabelProvider() { @Override protected Object extractElement(Object element) { if (element instanceof Entry) { return ((Entry<?, ?>) element).getKey(); } return super.extractElement(element); } }); varTable.getTable().addMouseListener(new MouseAdapter() { /** * @see MouseAdapter#mouseDoubleClick(MouseEvent) */ @Override public void mouseDoubleClick(MouseEvent e) { ISelection sel = varTable.getSelection(); if (!sel.isEmpty() && sel instanceof IStructuredSelection) { Object selected = ((IStructuredSelection) sel).getFirstElement(); if (selected instanceof Entry) { selected = ((Entry<?, ?>) selected).getValue(); } insertTextAtCurrentPos(textField, selected.toString()); } } }); // variable name column TableViewerColumn varColumn = new TableViewerColumn(varTable, SWT.NONE); columnLayout.setColumnData(varColumn.getColumn(), new ColumnWeightData(1, true)); varColumn.getColumn().setText("Variable"); varColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { Object element = cell.getElement(); if (element instanceof Entry) { element = ((Entry<?, ?>) element).getValue(); } cell.setText(element.toString()); } }); }
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 w w . j a v a 2s.c o 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) *///from w w w . jav a2 s .c o m @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());/* w ww . j a v a2 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.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 v a 2 s .c o m 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); }
From source file:eu.esdihumboldt.hale.ui.util.groovy.ast.viewer.ASTViewer.java
License:Open Source License
/** * Constructor./* w w w . j a v a 2 s .c o m*/ * * @param parent the parent composite * @param textViewer a text viewer where the code for an AST node should be * selected on double click, or <code>null</code> */ public ASTViewer(Composite parent, ITextViewer textViewer) { this.textViewer = textViewer; page = new Composite(parent, SWT.NONE); TreeColumnLayout layout = new TreeColumnLayout(); page.setLayout(layout); treeViewer = new TreeViewer(page, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); // new DrillDownAdapter(viewer); treeViewer.setContentProvider(new ViewContentProvider()); treeViewer.setLabelProvider(new ViewLabelProvider()); treeViewer.getTree().setHeaderVisible(true); TreeViewerColumn mainColumn = new TreeViewerColumn(treeViewer, SWT.NONE); mainColumn.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { Object element = cell.getElement(); StyledString text = new StyledString(); text.append(element.getClass().getSimpleName()); cell.setText(text.getString()); cell.setStyleRanges(text.getStyleRanges()); super.update(cell); } }); mainColumn.getColumn().setText("Node"); layout.setColumnData(mainColumn.getColumn(), new ColumnPixelData(200)); TreeViewerColumn infoColumn = new TreeViewerColumn(treeViewer, SWT.NONE); infoColumn.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { Object element = cell.getElement(); StyledString text = new StyledString(); if (element instanceof Parameter) { // getText not implemented for Parameter Parameter param = (Parameter) element; text.append(param.getName()); } else if (element instanceof ExpressionStatement) { // getText not properly implemented for ExpressionStatement text.append(((ExpressionStatement) element).getExpression().getText()); } else if (element instanceof ASTNode) { ASTNode node = (ASTNode) element; text.append(node.getText()); } else if (element instanceof Variable) { Variable var = (Variable) element; text.append(var.getName()); } else { text.append(element.toString()); } cell.setText(text.getString()); cell.setStyleRanges(text.getStyleRanges()); super.update(cell); } }); infoColumn.getColumn().setText("Text"); layout.setColumnData(infoColumn.getColumn(), new ColumnPixelData(300)); TreeViewerColumn propertiesColumn = new TreeViewerColumn(treeViewer, SWT.NONE); propertiesColumn.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { Object element = cell.getElement(); StyledString text = new StyledString(); if (element instanceof Variable || element instanceof ASTNode || element instanceof VariableScope) { ASTNodeUtil.addProperties(element, text); } cell.setText(text.getString()); cell.setStyleRanges(text.getStyleRanges()); super.update(cell); } }); propertiesColumn.getColumn().setText("Properties"); layout.setColumnData(propertiesColumn.getColumn(), new ColumnPixelData(1600)); makeActions(); if (textViewer != null) { addDoubleClickAction(); } }