List of usage examples for org.eclipse.jface.viewers StyledCellLabelProvider StyledCellLabelProvider
public StyledCellLabelProvider()
From source file:at.bestsolution.eclipse.properties.PropertyContentOutlinePage.java
License:Open Source License
@Override public void createControl(Composite parent) { super.createControl(parent); TreeViewer viewer = getTreeViewer(); viewer.setLabelProvider(new StyledCellLabelProvider() { @Override/*from w w w .j a v a 2s . c o m*/ public void update(ViewerCell cell) { Object element = cell.getElement(); if (element instanceof PropertyGroup) { cell.setText(((PropertyGroup) element).name); cell.setImage(Activator.getDefault().getImageRegistry().get(Activator.GROUP_ICON)); cell.setStyleRanges(null); } else if (element instanceof Property) { cell.setImage(Activator.getDefault().getImageRegistry().get(Activator.KEY_ICON)); StyledString s = new StyledString(((Property) element).pair.key); String text = ((Property) element).pair.value; if (text.length() > 20) { text = text.substring(0, 20) + "..."; } s.append(" : " + text, StyledString.DECORATIONS_STYLER); cell.setStyleRanges(s.getStyleRanges()); cell.setText(s.getString()); } super.update(cell); } }); viewer.setContentProvider(new HierarchicalContentProvider()); if (isSorted()) { setSorted(true); } createHierarchicalStructure(); if (isHierarchical()) { viewer.setInput(hierarchicalStructure); } else { viewer.setInput(flatStructure); } }
From source file:at.bestsolution.efxclipse.tooling.jdt.ui.internal.editors.outline.PropertyContentOutlinePage.java
License:Open Source License
@Override public void createControl(Composite parent) { super.createControl(parent); TreeViewer viewer = getTreeViewer(); viewer.setLabelProvider(new StyledCellLabelProvider() { @Override/*from w w w. j a v a 2 s. c o m*/ public void update(ViewerCell cell) { Object element = cell.getElement(); if (element instanceof PropertyGroup) { cell.setText(((PropertyGroup) element).name); cell.setImage(JavaFXUIPlugin.getDefault().getImageRegistry().get(JavaFXUIPlugin.GROUP_ICON)); cell.setStyleRanges(null); } else if (element instanceof Property) { cell.setImage(JavaFXUIPlugin.getDefault().getImageRegistry().get(JavaFXUIPlugin.KEY_ICON)); StyledString s = new StyledString(((Property) element).pair.key); String text = ((Property) element).pair.value; if (text.length() > 20) { text = text.substring(0, 20) + "..."; } s.append(" : " + text, StyledString.DECORATIONS_STYLER); cell.setStyleRanges(s.getStyleRanges()); cell.setText(s.getString()); } super.update(cell); } }); viewer.setContentProvider(new HierarchicalContentProvider()); if (isSorted()) { setSorted(true); } createHierarchicalStructure(); if (isHierarchical()) { viewer.setInput(hierarchicalStructure); } else { viewer.setInput(flatStructure); } }
From source file:com.kopson.cite.views.SmartLogConsole.java
License:Open Source License
/** * This will create the columns for the table * /*from ww w. ja va 2s . c o m*/ * @param parent */ private void createColumns(final Composite parent) { headerMenu = new Menu(parent.getShell(), SWT.POP_UP); String[] titles = { CITE.SMARTLOG_COLUMN_ID, CITE.SMARTLOG_COLUMN_TYPE, CITE.SMARTLOG_COLUMN_TAG, CITE.SMARTLOG_COLUMN_MESSAGE, CITE.SMARTLOG_COLUMN_OBJECT, CITE.SMARTLOG_COLUMN_ASSERT }; int[] bounds = { 100, 100, 100, 100, 100, 100 }; TableViewerColumn idColumn = createTableViewerColumn(titles[0], bounds[0], 0); idColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { cell.setText("" + ((SmartLogEntry) cell.getElement()).getId()); } @Override public String getToolTipText(Object element) { return "Tooltip (" + element + ")"; } @Override public Point getToolTipShift(Object object) { return new Point(5, 5); } @Override public int getToolTipDisplayDelayTime(Object object) { return 100; } @Override public int getToolTipTimeDisplayed(Object object) { return 5000; } }); TableViewerColumn typeColumn = createTableViewerColumn(titles[1], bounds[1], 1); typeColumn.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { String search = searchText.getText(); SmartLogEntry logRow = (SmartLogEntry) cell.getElement(); String cellText = logRow.getType(); cell.setText(cellText); if (search != null && search.length() > 0) { int intRangesCorrectSize[] = SearchUtil.getSearchTermOccurrences(search, cellText); List<StyleRange> styleRange = new ArrayList<StyleRange>(); for (int i = 0; i < intRangesCorrectSize.length / 2; i++) { int start = intRangesCorrectSize[i]; int length = intRangesCorrectSize[++i]; StyleRange myStyledRange = new StyleRange(start, length, null, colorYellow); styleRange.add(myStyledRange); } cell.setStyleRanges(styleRange.toArray(new StyleRange[styleRange.size()])); } else { cell.setStyleRanges(null); } super.update(cell); } }); typeColumn.setEditingSupport(new TypeEditingSupport(viewer)); TableViewerColumn tagColumn = createTableViewerColumn(titles[2], bounds[2], 2); tagColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { cell.setText(((SmartLogEntry) cell.getElement()).getTag()); } @Override public String getToolTipText(Object element) { return "Tooltip (" + element + ")"; } @Override public Point getToolTipShift(Object object) { return new Point(5, 5); } @Override public int getToolTipDisplayDelayTime(Object object) { return 100; } @Override public int getToolTipTimeDisplayed(Object object) { return 5000; } }); tagColumn.setEditingSupport(new TagEditingSupport(viewer)); TableViewerColumn messageColumn = createTableViewerColumn(titles[3], bounds[3], 3); messageColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((SmartLogEntry) element).getMessage(); } }); messageColumn.setEditingSupport(new MessageEditingSupport(viewer)); TableViewerColumn objectColumn = createTableViewerColumn(titles[4], bounds[4], 4); objectColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((SmartLogEntry) element).getObject(); } //TODO: set meaningful images @Override public Image getImage(Object element) { if (((SmartLogEntry) element).getObject() != null) { return CHECKED; } return UNCHECKED; } }); TableViewerColumn assertColumn = createTableViewerColumn(titles[5], bounds[5], 5); assertColumn.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { return ((SmartLogEntry) element).getAssertion(); } }); assertColumn.setEditingSupport(new AssertionEditingSupport(viewer)); }
From source file:com.netxforge.netxstudio.screens.ch9.ObjectExpressions.java
License:Open Source License
private void bindExpressionSelector(EMFDataBindingContext bindingContext) { List<EReference> expressionEReferences = StudioUtils.expressionEReferences(primaryContextObject); for (EReference eref : expressionEReferences) { expressionEntries.put(eref.getName(), eref); }/*from w w w . ja v a2 s . co m*/ // set the content provider and label provider for the listviewer. tableViewer.setContentProvider(new ArrayContentProvider()); tableViewer.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(ViewerCell cell) { Object element = cell.getElement(); EReference eReference = expressionEntries.get(element); Expression exp = (Expression) primaryContextObject.eGet(eReference); // Strip some words from the ref name. String refName = (String) element; String replaceAll = refName.replaceAll("(Expression|Ref)", ""); StyledString styledString = new StyledString((String) replaceAll); if (exp == null) { styledString.append(" (not set)", StyledString.COUNTER_STYLER); } cell.setText(styledString.getString()); cell.setStyleRanges(styledString.getStyleRanges()); super.update(cell); } }); tableViewer.setInput(expressionEntries.keySet().toArray()); }
From source file:de.byteholder.geoclipse.mapprovider.DialogMPProfile.java
License:Open Source License
/** * create columns for the tree viewer/*from w ww . j a va 2 s .co m*/ * * @param pixelConverter */ private void createUI116ViewerColumns(final TreeColumnLayout treeLayout, final PixelConverter pixelConverter) { TreeViewerColumn tvc; TreeColumn tc; /* * column: map provider */ tvc = new TreeViewerColumn(_treeViewer, SWT.LEAD); tc = tvc.getColumn(); tc.setText(Messages.Dialog_MapProfile_Column_MapProvider); tc.setToolTipText(Messages.Dialog_MapProfile_Column_MapProvider_Tooltip); tvc.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(final ViewerCell cell) { final StyledString styledString = new StyledString(); final Object element = cell.getElement(); if (element instanceof TVIMapProvider) { final MPWrapper mpWrapper = ((TVIMapProvider) element).getMapProviderWrapper(); final MP mapProvider = mpWrapper.getMP(); styledString.append(mapProvider.getName()); cell.setImage(mpWrapper.isDisplayedInMap() ? _imageMap : _imagePlaceholder); } else if (element instanceof TVIWmsLayer) { final MtLayer mtLayer = ((TVIWmsLayer) element).getMtLayer(); styledString.append(mtLayer.getGeoLayer().getTitle()); styledString.append(" (", StyledString.QUALIFIER_STYLER);//$NON-NLS-1$ styledString.append(mtLayer.getGeoLayer().getName(), StyledString.QUALIFIER_STYLER); styledString.append(")", StyledString.QUALIFIER_STYLER);//$NON-NLS-1$ cell.setImage(mtLayer.isDisplayedInMap() ? _imageLayer : _imagePlaceholder); } else { styledString.append(element.toString()); } cell.setText(styledString.getString()); cell.setStyleRanges(styledString.getStyleRanges()); } }); treeLayout.setColumnData(tc, new ColumnWeightData(100, true)); /* * column: is visible */ tvc = new TreeViewerColumn(_treeViewer, SWT.LEAD); tc = tvc.getColumn(); tc.setText(Messages.Dialog_MapProfile_Column_IsVisible); tc.setToolTipText(Messages.Dialog_MapProfile_Column_IsVisible_Tooltip); tvc.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(final ViewerCell cell) { final Object element = cell.getElement(); if (element instanceof TVIMapProvider) { final MPWrapper mpWrapper = ((TVIMapProvider) element).getMapProviderWrapper(); cell.setText(Boolean.toString(mpWrapper.isDisplayedInMap())); } else if (element instanceof TVIWmsLayer) { final MtLayer mtLayer = ((TVIWmsLayer) element).getMtLayer(); cell.setText(Boolean.toString(mtLayer.isDisplayedInMap())); } else { cell.setText(UI.EMPTY_STRING); } } }); tvc.setEditingSupport(new EditingSupport(_treeViewer) { private final CheckboxCellEditor fCellEditor = new CheckboxCellEditor(_treeViewer.getTree()); @Override protected boolean canEdit(final Object element) { if (element instanceof TVIMapProvider) { final TVIMapProvider tvi = (TVIMapProvider) element; final MP mapProvider = tvi.getMapProviderWrapper().getMP(); if (mapProvider instanceof MPWms) { // wms can be toggled when at least one layer is displayed return canWmsBeDisplayed((MPWms) mapProvider); } } return true; } @Override protected CellEditor getCellEditor(final Object element) { return fCellEditor; } @Override protected Object getValue(final Object element) { if (element instanceof TVIMapProvider) { final MPWrapper mpWrapper = ((TVIMapProvider) element).getMapProviderWrapper(); return mpWrapper.isDisplayedInMap(); } else if (element instanceof TVIWmsLayer) { final MtLayer mtLayer = ((TVIWmsLayer) element).getMtLayer(); return mtLayer.isDisplayedInMap(); } return null; } @Override protected void setValue(final Object element, final Object value) { final boolean isChecked = ((Boolean) value); if (element instanceof TVIMapProvider) { final MPWrapper mpWrapper = ((TVIMapProvider) element).getMapProviderWrapper(); mpWrapper.setIsDisplayedInMap(isChecked); if (isChecked) { /* * remove parent tiles from loading cache because they can have loading * errors (from their children) which prevents them to be loaded again */ _mpProfile.resetParentTiles(); } enableProfileMapButton(); } else if (element instanceof TVIWmsLayer) { final TVIWmsLayer tviLayer = (TVIWmsLayer) element; final MtLayer mtLayer = tviLayer.getMtLayer(); mtLayer.setIsDisplayedInMap(isChecked); updateMVMapProvider(tviLayer); } // update viewer getViewer().update(element, null); updateLiveView(); } }); treeLayout.setColumnData(tc, new ColumnPixelData(pixelConverter.convertWidthInCharsToPixels(10))); /* * column: alpha */ tvc = new TreeViewerColumn(_treeViewer, SWT.LEAD); tc = tvc.getColumn(); tc.setText(Messages.Dialog_MapProfile_Column_Alpha); tc.setToolTipText(Messages.Dialog_MapProfile_Column_Alpha_Tooltip); tvc.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(final ViewerCell cell) { final Object element = cell.getElement(); if (element instanceof TVIMapProvider) { final MPWrapper mpWrapper = ((TVIMapProvider) element).getMapProviderWrapper(); cell.setText(Integer.toString(mpWrapper.getAlpha())); } else { cell.setText(UI.EMPTY_STRING); } } }); treeLayout.setColumnData(tc, new ColumnPixelData(pixelConverter.convertWidthInCharsToPixels(10))); /* * column: brightness */ tvc = new TreeViewerColumn(_treeViewer, SWT.LEAD); tc = tvc.getColumn(); tc.setText(Messages.Dialog_MapProfile_Column_Brightness); tc.setToolTipText(Messages.Dialog_MapProfile_Column_Brightness_Tooltip); tvc.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(final ViewerCell cell) { final Object element = cell.getElement(); if (element instanceof TVIMapProvider) { final MPWrapper mpWrapper = ((TVIMapProvider) element).getMapProviderWrapper(); cell.setText(mpWrapper.isBrightnessForNextMp() ? Integer.toString(mpWrapper.getBrightnessValueForNextMp()) : UI.EMPTY_STRING); } else { cell.setText(UI.EMPTY_STRING); } } }); treeLayout.setColumnData(tc, new ColumnPixelData(pixelConverter.convertWidthInCharsToPixels(10))); /* * column: empty to prevent scrolling to the right when the right column is selected */ tvc = new TreeViewerColumn(_treeViewer, SWT.LEAD); tvc.setLabelProvider(new CellLabelProvider() { @Override public void update(final ViewerCell cell) { /* * !!! label provider is necessary to prevent a NPE !!! */ } }); tc = tvc.getColumn(); treeLayout.setColumnData(tc, new ColumnPixelData(pixelConverter.convertWidthInCharsToPixels(4))); }
From source file:de.dentrassi.eclipse.rpm.editor.HeaderTable.java
License:Open Source License
private void createColumnCell(final AbstractColumnLayout layout, final String name, final int weight, final Consumer<ViewerCell> cellUpdater) { final TreeViewerColumn col = new TreeViewerColumn(this.viewer, SWT.NONE); col.setLabelProvider(new StyledCellLabelProvider() { @Override//from ww w . jav a 2 s .c om public void update(final ViewerCell cell) { cellUpdater.accept(cell); } }); col.getColumn().setText(name); layout.setColumnData(col.getColumn(), new ColumnWeightData(weight)); }
From source file:de.walware.statet.r.internal.ui.pkgmanager.PkgTab.java
License:Open Source License
private void createDetailRef(final Composite parent, final int type) { {//from w w w . j ava 2s . co m final Label label = new Label(parent, SWT.NONE); label.setText((type == 0) ? "Dependencies:" : "Reverse:"); label.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1)); } final TreeViewer viewer = new TreeViewer(parent, (SWT.BORDER | SWT.SINGLE)); if (type == 0) { fDetailDepTable = viewer; } else { fDetailRevTable = viewer; } { final GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1); gd.heightHint = LayoutUtil.hintHeight(viewer.getTree(), 12); gd.widthHint = fDialog.hintWidthInChars(20); viewer.getControl().setLayoutData(gd); } viewer.setContentProvider(new DetailGroup.ContentProvider(5) { private static final int DEPENDS = 0; private static final int IMPORTS = 1; private static final int LINKINGTO = 2; private static final int SUGGESTS = 3; private static final int ENHANCES = 4; { fGroups[DEPENDS] = new DetailGroup(0, "Depends"); fGroups[IMPORTS] = new DetailGroup(1, "Imports"); fGroups[LINKINGTO] = new DetailGroup(2, "Linking To"); fGroups[SUGGESTS] = new DetailGroup(3, "Suggests"); fGroups[ENHANCES] = new DetailGroup(4, "Enhances"); } @Override public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) { if (newInput instanceof IRPkgData) { final IRPkgData pkg = (IRPkgData) newInput; fGroups[DEPENDS].setList(pkg.getDepends()); fGroups[IMPORTS].setList(pkg.getImports()); fGroups[LINKINGTO].setList(pkg.getLinkingTo()); fGroups[SUGGESTS].setList(pkg.getSuggests()); fGroups[ENHANCES].setList(pkg.getEnhances()); } else { fGroups[DEPENDS].clearList(); fGroups[IMPORTS].clearList(); fGroups[LINKINGTO].clearList(); fGroups[SUGGESTS].clearList(); fGroups[ENHANCES].clearList(); } } }); viewer.setAutoExpandLevel(TreeViewer.ALL_LEVELS); viewer.setLabelProvider(new StyledCellLabelProvider() { @Override public void update(final ViewerCell cell) { final Object element = cell.getElement(); if (element instanceof DetailGroup) { cell.setText(((DetailGroup) element).getLabel()); cell.setStyleRanges(null); return; } else if (element instanceof IRPkg) { final IRPkg pkg = (IRPkg) element; final StyledString text = new StyledString(); text.append(pkg.getName()); final String version = pkg.getVersion().toString(); if (!version.isEmpty()) { text.append(" (", StyledString.QUALIFIER_STYLER); //$NON-NLS-1$ text.append(version, StyledString.QUALIFIER_STYLER); text.append(")", StyledString.QUALIFIER_STYLER); //$NON-NLS-1$ } cell.setText(text.getString()); cell.setStyleRanges(text.getStyleRanges()); return; } throw new IllegalStateException(); } }); viewer.setInput(NO_INPUT); viewer.addDoubleClickListener(new IDoubleClickListener() { @Override public void doubleClick(final DoubleClickEvent event) { final Object element = ((IStructuredSelection) event.getSelection()).getFirstElement(); if (element instanceof IRPkg) { showPkg(((IRPkg) element).getName()); } } }); }
From source file: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 . j a v a 2s. 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()); 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.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 ww. j ava2s .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.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/*from ww w. ja va 2s. co 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); }