List of usage examples for org.eclipse.jface.viewers ViewerCell setStyleRanges
public void setStyleRanges(StyleRange[] styleRanges)
From source file:eu.esdihumboldt.hale.ui.util.groovy.ast.viewer.ASTViewer.java
License:Open Source License
/** * Constructor.// w w w . j av a2 s.c om * * @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(); } }
From source file:eu.esdihumboldt.hale.ui.views.data.internal.compare.DefinitionInstanceLabelProvider.java
License:Open Source License
/** * @see CellLabelProvider#update(ViewerCell) *///from w w w . j a va 2 s .c o m @Override public void update(ViewerCell cell) { TreePath treePath = cell.getViewerRow().getTreePath(); InstanceEntry entry = findInstanceEntry(treePath); Object value = entry.value; InstanceValidationReport report = null; // If childDef is null we are at the top element. if (entry.definition && entry.childDef == null) { report = InstanceValidator.validate(instance); } boolean hasValue = false; if (entry.definition && value instanceof Instance) { hasValue = ((Instance) value).getValue() != null; } else if (!entry.definition && treePath.getSegmentCount() == 1) { // metadata root if (instance.getMetaDataNames().isEmpty()) { hasValue = true; value = null; } } StyledString styledString; if (value == null) { styledString = new StyledString("no value", StyledString.DECORATIONS_STYLER); } else if (value instanceof Group && !hasValue) { styledString = new StyledString("+", StyledString.QUALIFIER_STYLER); } else { if (value instanceof Instance) { value = ((Instance) value).getValue(); } // TODO some kind of conversion? String stringValue = value.toString(); /* * Values that are very large, e.g. string representations of very * complex geometries lead to * StyledCellLabelProvider.updateTextLayout taking a very long time, * rendering the application unresponsive when the data views are * displayed. As such, we reduce the string to a maximum size. */ if (stringValue.length() > MAX_STRING_LENGTH) { stringValue = stringValue.substring(0, MAX_STRING_LENGTH) + "..."; } styledString = new StyledString(stringValue, null); } // mark cell if there are other values if (entry.valueCount > 1) { String decoration = " " + MessageFormat.format(MULTIPLE_VALUE_FORMAT, entry.choice + 1, entry.valueCount); styledString.append(decoration, StyledString.COUNTER_STYLER); } cell.setText(styledString.toString()); cell.setStyleRanges(styledString.getStyleRanges()); if (report != null && !report.getWarnings().isEmpty()) cell.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_WARN_TSK)); super.update(cell); }
From source file:eu.esdihumboldt.hale.ui.views.data.internal.explore.InstanceValueLabelProvider.java
License:Open Source License
/** * @see CellLabelProvider#update(ViewerCell) *//*from w w w . j a v a2s.c o m*/ @Override public void update(ViewerCell cell) { TreePath treePath = cell.getViewerRow().getTreePath(); Object element = treePath.getLastSegment(); Definition<?> definition = null; Object value = ((Pair<?, ?>) element).getSecond(); if (((Pair<?, ?>) element).getFirst() instanceof Definition) definition = (Definition<?>) ((Pair<?, ?>) element).getFirst(); InstanceValidationReport report = null; if (definition instanceof ChildDefinition<?>) report = InstanceValidator.validate(value, (ChildDefinition<?>) ((Pair<?, ?>) element).getFirst()); else if (definition instanceof TypeDefinition) report = InstanceValidator.validate((Instance) value); boolean hasValue = false; if (value instanceof Instance) { hasValue = ((Instance) value).getValue() != null; } StyledString styledString; if (value == null) { styledString = new StyledString("no value", StyledString.DECORATIONS_STYLER); } else if (value instanceof Group && !hasValue) { styledString = new StyledString("+", StyledString.QUALIFIER_STYLER); } else { if (value instanceof Instance) { value = ((Instance) value).getValue(); } // TODO some kind of conversion? String stringValue = value.toString(); /* * Values that are very large, e.g. string representations of very * complex geometries lead to * StyledCellLabelProvider.updateTextLayout taking a very long time, * rendering the application unresponsive when the data views are * displayed. As such, we reduce the string to a maximum size. */ if (stringValue.length() > MAX_STRING_LENGTH) { stringValue = stringValue.substring(0, MAX_STRING_LENGTH) + "..."; } styledString = new StyledString(stringValue, null); } cell.setText(styledString.toString()); cell.setStyleRanges(styledString.getStyleRanges()); if (report != null && !report.getWarnings().isEmpty()) cell.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_WARN_TSK)); super.update(cell); }
From source file:eu.esdihumboldt.hale.ui.views.resources.internal.ResourcesLabelProvider.java
License:Open Source License
@Override public void update(ViewerCell cell) { Object element = cell.getElement(); cell.setImage(getImage(element));/*from w w w .ja v a 2 s . co m*/ StyledString text = new StyledString(getText(element)); if (element instanceof Resource) { Resource resource = (Resource) element; if (resource.getContentType() != null) { text.append(" (" + resource.getContentType().getName() + ")", StyledString.DECORATIONS_STYLER); } } cell.setText(text.getString()); cell.setStyleRanges(text.getStyleRanges()); super.update(cell); }
From source file:fr.esrf.icat.manager.core.icatserver.IcatServerLabelProvider.java
License:Apache License
@Override public void update(ViewerCell cell) { Object element = cell.getElement(); StyledString text = new StyledString(); if (element instanceof ICATServer) { ICATServer icatServer = (ICATServer) element; text.append(icatServer.getServerURL()); if (icatServer.isConnected()) { cell.setImage(null);/*from w ww .j av a 2 s. co m*/ text.append(" (" + icatServer.getVersion() + ") ", StyledString.QUALIFIER_STYLER); } switch (icatServer.getStatus()) { case CONNECTED: cell.setImage(connected_server_image); break; case FAILED: cell.setImage(failed_server_image); break; default: cell.setImage(unknown_server_image); break; } } else if (element instanceof ICATEntity) { ICATEntity entity = (ICATEntity) element; text.append(entity.getEntityName()); Long count = entitiesCount.get(entity); if (null != count) { text.append(" (" + count.toString() + ") ", StyledString.COUNTER_STYLER); } } else { text.append(element.toString()); } cell.setText(text.toString()); cell.setStyleRanges(text.getStyleRanges()); super.update(cell); }
From source file:hydrograph.ui.help.aboutDialog.HydrographInstallationDialog.java
License:Apache License
protected void createFolderItems(CTabFolder folder) { IConfigurationElement[] elements = ConfigurationInfo.getSortedExtensions(loadElements()); for (int i = 0; i < elements.length; i++) { IConfigurationElement element = elements[i]; if (!element.getAttribute(IWorkbenchRegistryConstants.ATT_NAME).equalsIgnoreCase("Features")) { CTabItem item = new CTabItem(folder, SWT.NONE); item.setText(element.getAttribute(IWorkbenchRegistryConstants.ATT_NAME)); item.setData(element);//from ww w .j a v a 2 s . c o m item.setData(ID, element.getAttribute(IWorkbenchRegistryConstants.ATT_ID)); Composite control = new Composite(folder, SWT.NONE); control.setLayout(new GridLayout()); item.setControl(control); } } CTabItem tbtmLibraries = new CTabItem(folder, SWT.NONE); tbtmLibraries.setText("Libraries"); composite_1 = new Composite(folder, SWT.NONE); composite_1.setLayout(new GridLayout(1, false)); tbtmLibraries.setControl(composite_1); URL url = FileLocator.find(bundle, path, null); try { fileUrl = FileLocator.toFileURL(url); } catch (IOException e2) { logger.error(e2.getMessage()); } tableViewer = new TableViewer(composite_1, SWT.BORDER | SWT.FULL_SELECTION | SWT.H_SCROLL | SWT.V_SCROLL); Table table = tableViewer.getTable(); table.setLinesVisible(true); table.setHeaderVisible(true); table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1)); readFromXMLFile(fileUrl); createTableViewerColumns(tableViewer, "Name"); createTableViewerColumns(tableViewer, "Version No"); createTableViewerColumns(tableViewer, "Group Id"); createTableViewerColumns(tableViewer, "Artifact Id"); TableViewerColumn tableLicense = createTableViewerColumns(tableViewer, "License Info"); TableViewerColumn tableViewerColumn = new TableViewerColumn(tableViewer, SWT.NONE); TableColumn tblclmnItem = tableViewerColumn.getColumn(); tblclmnItem.setWidth(0); tblclmnItem.setResizable(false); tblclmnItem.setText("Path"); tableViewer.setLabelProvider(new InstallationDetailsLabelProvider()); tableViewer.setContentProvider(new InstallationDetailsContentProvider()); tableViewer.setInput(installationWindowDetails.getJarInfromationDetails()); tableLicense.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { Object element = cell.getElement(); if (element instanceof JarInformationDetails) { JarInformationDetails jarInfo = (JarInformationDetails) cell.getElement(); /* make text look like a link */ StyledString text = new StyledString(); StyleRange myStyledRange = new StyleRange(0, jarInfo.getLicenseInfo().length(), Display.getCurrent().getSystemColor(SWT.COLOR_BLUE), null); myStyledRange.underline = true; text.append(jarInfo.getLicenseInfo(), StyledString.DECORATIONS_STYLER); cell.setText(text.toString()); StyleRange[] range = { myStyledRange }; cell.setStyleRanges(range); super.update(cell); } } }); tableViewer.refresh(); tableViewer.getControl().addMouseListener(new MouseAdapter() { @Override public void mouseUp(MouseEvent e) { StructuredSelection selection = (StructuredSelection) tableViewer.getSelection(); JarInformationDetails details = (JarInformationDetails) selection.getFirstElement(); if (details != null) { IPath iPath = new Path(details.getPath()); try { URL url = FileLocator.find(bundle, iPath, null); URL fileUrlForPath = FileLocator.toFileURL(url); PlatformUI.getWorkbench().getBrowserSupport().getExternalBrowser().openURL(fileUrlForPath); } catch (PartInitException | IOException e1) { logger.error(e1.getMessage()); WidgetUtility.errorMessage("Unable to open URL in external browser"); } } } }); }
From source file:msi.gama.gui.viewers.csv.CSVLabelProvider.java
License:Apache License
/** * @see org.eclipse.jface.viewers.StyledCellLabelProvider#update(org.eclipse.jface.viewers.ViewerCell) *///from w w w. j ava 2 s. c om @Override public void update(final ViewerCell cell) { CSVRow element = (CSVRow) cell.getElement(); int index = cell.getColumnIndex(); String columnText = getColumnText(element, index); cell.setText(columnText); cell.setImage(null); if (searchText != null && searchText.length() > 0) { int intRangesCorrectSize[] = SearchResultStyle.getSearchTermOccurrences(searchText, columnText); List<StyleRange> styleRange = new ArrayList<StyleRange>(); for (int i = 0; i < intRangesCorrectSize.length / 2; i++) { 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:net.sourceforge.docfetcher.view.ScopeGroup.java
License:Open Source License
private void initViewer() { // Remove selection when viewer loses focus viewer.getTree().addFocusListener(new FocusAdapter() { public void focusLost(FocusEvent e) { ((Tree) e.widget).deselectAll(); /*/*from w w w.j ava 2 s.co m*/ * We have to deactivate the context menu entries manually since * the deselectAll call will not cause a SelectionChangedEvent. */ viewerMenu.setManagedActionsEnabled(false); } }); viewer.setContentProvider(new ITreeContentProvider() { public Object[] getElements(Object inputElement) { return (RootScope[]) inputElement; } public Object[] getChildren(Object parentElement) { return ((Scope) parentElement).getChildren(); } public boolean hasChildren(Object element) { return getChildren(element).length > 0; } public Object getParent(Object element) { return ((Indexable) element).getParent(); } public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { } public void dispose() { } }); class MyStyledCellLabelProvider extends StyledCellLabelProvider { private Styler styler; public MyStyledCellLabelProvider() { styler = new Styler() { public void applyStyles(TextStyle textStyle) { textStyle.foreground = UtilGUI.getColor(SWT.COLOR_DARK_GRAY); } }; } public void update(ViewerCell cell) { Indexable scope = (Indexable) cell.getElement(); File file = scope.getFile(); String label = file.getName(); if (label.equals("")) // applies to root directories, i.e. "C:\\" //$NON-NLS-1$ label = file.getAbsolutePath(); // "temp" prefix for RootScopes that will be deleted on exit if (scope instanceof RootScope) if (((RootScope) scope).isDeleteOnExit()) label = "[X] " + label; //$NON-NLS-1$ StyledString styledString = new StyledString(label, null); if (scope instanceof RootScope) { String path = file.getAbsolutePath(); styledString.append(" --- " + path, styler); //$NON-NLS-1$ } cell.setText(styledString.toString()); cell.setStyleRanges(styledString.getStyleRanges()); } protected void measure(org.eclipse.swt.widgets.Event event, Object element) { super.measure(event, element); } } viewer.setLabelProvider(new MyStyledCellLabelProvider()); viewer.setSorter(new ViewerSorter() { public int compare(Viewer viewer, Object e1, Object e2) { String name1 = ((Scope) e1).getFile().getName(); String name2 = ((Scope) e2).getFile().getName(); return name1.compareToIgnoreCase(name2); } }); /* * Because the check states of the viewer items are maintained manually, * they have to be kept in sync with tree expansion events. */ viewer.addTreeListener(new ITreeViewerListener() { public void treeExpanded(TreeExpansionEvent event) { Indexable[] newScopes = ((Scope) event.getElement()).getChildren(); updateVisibleCheckStates(newScopes); } public void treeCollapsed(TreeExpansionEvent event) { // Do nothing } }); /* * Check/uncheck children of checked/unchecked item and propagate * checkstate changes in viewer back to the model. */ viewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { Event.hold(); ((Scope) event.getElement()).setCheckedDeep(event.getChecked()); Event.flush(); updateVisibleCheckStates(new Object[] { event.getElement() }); } }); // Doubleclick on item in viewer results in expand/collapse of its children viewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { Object[] objects = ((StructuredSelection) viewer.getSelection()).toArray(); if (objects.length != 1) return; viewer.setExpandedState(objects[0], !viewer.getExpandedState(objects[0])); updateVisibleCheckStates(new Scope[0]); } }); }
From source file:net.tourbook.photo.internal.PicDirFolder.java
License:Open Source License
private void createUI_10_TreeView(final Composite parent) { /*//from ww w .ja v a 2 s .c om * create tree layout */ final Composite layoutContainer = new Composite(parent, SWT.NONE); GridDataFactory.fillDefaults()// .grab(true, true).hint(200, 100).applyTo(layoutContainer); final TreeColumnLayout treeLayout = new TreeColumnLayout(); layoutContainer.setLayout(treeLayout); /* * create viewer */ final Tree tree = new Tree(layoutContainer, SWT.V_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION); tree.setHeaderVisible(false); tree.addMouseListener(new MouseAdapter() { @Override public void mouseDown(final MouseEvent e) { _doAutoCollapseExpand = true; _isMouseContextMenu = e.button == 3; } }); _folderViewer = new TreeViewer(tree); _folderViewer.setContentProvider(new FolderContentProvider()); _folderViewer.setComparer(new FolderComparer()); _folderViewer.setUseHashlookup(true); _folderViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(final DoubleClickEvent event) { // expand/collapse current item final Object selection = ((IStructuredSelection) _folderViewer.getSelection()).getFirstElement(); final TVIFolderFolder treeItem = (TVIFolderFolder) selection; expandCollapseFolder(treeItem); } }); _folderViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(final SelectionChangedEvent event) { onSelectFolder((ITreeSelection) event.getSelection()); } }); /* * create columns */ TreeViewerColumn tvc; TreeColumn tvcColumn; // column: os folder tvc = new TreeViewerColumn(_folderViewer, SWT.TRAIL); tvcColumn = tvc.getColumn(); tvc.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(final ViewerCell cell) { final Object element = cell.getElement(); if (element instanceof TVIFolderFolder) { final TVIFolderFolder folderItem = (TVIFolderFolder) element; final StyledString styledString = new StyledString(); styledString.append(folderItem._folderName); if (_isStateShowFileFolderInFolderItem) { if (folderItem.isFolderLoaded()) { final int folderCounter = folderItem.getFolderCounter(); if (folderCounter > 0) { styledString.append(UI.SPACE2); styledString.append(Integer.toString(folderCounter), PhotoUI.PHOTO_FOLDER_STYLER); } final int fileCounter = folderItem.getFileCounter(); if (fileCounter > 0) { styledString.append(net.tourbook.common.UI.SPACE2); styledString.append(Integer.toString(fileCounter), PhotoUI.PHOTO_FILE_STYLER); } } else { // force that file list is loaded and number of files is available putFolderInWaitingQueue(folderItem, false); styledString.append(UI.SPACE2 + Messages.Pic_Dir_StatusLable_LoadingFolder_InFolderTree, PhotoUI.PHOTO_FOLDER_STYLER); } } cell.setText(styledString.getString()); cell.setStyleRanges(styledString.getStyleRanges()); } } }); treeLayout.setColumnData(tvcColumn, new ColumnWeightData(100, true)); }
From source file:net.tourbook.preferences.PrefPageTags.java
License:Open Source License
private void createUI_20_TagViewer(final Composite parent) { /*//w w w.java2s .c om * create tree layout */ final Composite layoutContainer = new Composite(parent, SWT.NONE); GridDataFactory.fillDefaults()// .grab(true, true).hint(200, 100).applyTo(layoutContainer); final TreeColumnLayout treeLayout = new TreeColumnLayout(); layoutContainer.setLayout(treeLayout); /* * create viewer */ final Tree tree = new Tree(layoutContainer, SWT.H_SCROLL | SWT.V_SCROLL // | SWT.BORDER | SWT.MULTI | SWT.FULL_SELECTION); tree.setHeaderVisible(false); tree.setLinesVisible(getPreferenceStore().getBoolean(ITourbookPreferences.VIEW_LAYOUT_DISPLAY_LINES)); _tagViewer = new TreeViewer(tree); _tagViewer.setContentProvider(new TagViewerContentProvicer()); _tagViewer.setComparator(new TagViewerComparator()); _tagViewer.setUseHashlookup(true); _tagViewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(final DoubleClickEvent event) { final Object selection = ((IStructuredSelection) _tagViewer.getSelection()).getFirstElement(); if (selection instanceof TVIPrefTag) { // tag is selected onRenameTourTag(); } else if (selection instanceof TVIPrefTagCategory) { // expand/collapse current item final TreeViewerItem tourItem = (TreeViewerItem) selection; if (_tagViewer.getExpandedState(tourItem)) { _tagViewer.collapseToLevel(tourItem, 1); } else { _tagViewer.expandToLevel(tourItem, 1); } } } }); _tagViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(final SelectionChangedEvent event) { enableButtons(); } }); _tagViewer.addDragSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new DragSourceListener() { @Override public void dragFinished(final DragSourceEvent event) { final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer(); if (event.doit == false) { return; } transfer.setSelection(null); transfer.setSelectionSetTime(0); } @Override public void dragSetData(final DragSourceEvent event) { // data are set in LocalSelectionTransfer } @Override public void dragStart(final DragSourceEvent event) { final LocalSelectionTransfer transfer = LocalSelectionTransfer.getTransfer(); final ISelection selection = _tagViewer.getSelection(); // System.out.println("dragStart"); transfer.setSelection(selection); transfer.setSelectionSetTime(_dragStartTime = event.time & 0xFFFFFFFFL); event.doit = !selection.isEmpty(); } }); _tagViewer.addDropSupport(DND.DROP_MOVE, new Transfer[] { LocalSelectionTransfer.getTransfer() }, new TagDropAdapter(this, _tagViewer)); /* * create columns */ TreeViewerColumn tvc; TreeColumn tvcColumn; // column: tags + tag categories tvc = new TreeViewerColumn(_tagViewer, SWT.TRAIL); tvcColumn = tvc.getColumn(); tvc.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(final ViewerCell cell) { final StyledString styledString = new StyledString(); final Object element = cell.getElement(); if (element instanceof TVIPrefTag) { final TourTag tourTag = ((TVIPrefTag) element).getTourTag(); styledString.append(tourTag.getTagName(), UI.TAG_STYLER); cell.setImage(tourTag.isRoot() ? _imgTagRoot : _imgTag); } else if (element instanceof TVIPrefTagCategory) { final TVIPrefTagCategory tourTagCategoryItem = (TVIPrefTagCategory) element; final TourTagCategory tourTagCategory = tourTagCategoryItem.getTourTagCategory(); cell.setImage(_imgTagCategory); styledString.append(tourTagCategory.getCategoryName(), UI.TAG_CATEGORY_STYLER); // get number of categories final int categoryCounter = tourTagCategory.getCategoryCounter(); final int tagCounter = tourTagCategory.getTagCounter(); if (categoryCounter == -1 && tagCounter == -1) { // styledString.append(" ...", StyledString.COUNTER_STYLER); } else { String categoryString = UI.EMPTY_STRING; if (categoryCounter > 0) { categoryString = "/" + categoryCounter; //$NON-NLS-1$ } styledString.append(" " + tagCounter + categoryString, StyledString.QUALIFIER_STYLER); //$NON-NLS-1$ } } else { styledString.append(element.toString()); } cell.setText(styledString.getString()); cell.setStyleRanges(styledString.getStyleRanges()); } }); treeLayout.setColumnData(tvcColumn, new ColumnWeightData(100, true)); }