List of usage examples for org.eclipse.jface.viewers TableViewerColumn TableViewerColumn
public TableViewerColumn(TableViewer viewer, TableColumn column)
From source file:com.bdaum.zoom.ui.internal.dialogs.SetPersonDialog.java
License:Open Source License
@Override protected Control createDialogArea(final Composite parent) { Composite area = (Composite) super.createDialogArea(parent); Composite composite = new Composite(area, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); composite.setLayout(new GridLayout()); composite.setLayout(new GridLayout(2, false)); viewer = new TableViewer(composite, SWT.BORDER | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.SINGLE | SWT.VIRTUAL); TableViewerColumn col1 = new TableViewerColumn(viewer, SWT.NONE); col1.getColumn().setWidth(200);/*from ww w. ja v a 2s . c o m*/ col1.getColumn().setText(Messages.AlbumSelectionDialog_name); col1.setLabelProvider(new ZColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof SmartCollectionImpl) return ((SmartCollectionImpl) element).getName(); return element.toString(); } public Image getImage(Object element) { if (element instanceof SmartCollectionImpl) { String id = ((SmartCollectionImpl) element).getStringId(); Image face = faces.get(id); if (face == null) faces.put(id, face = UiUtilities.getFace(getShell().getDisplay(), (SmartCollectionImpl) element, 24, 4, parent.getBackground())); return face; } return null; } @Override protected Rectangle getIconBounds() { return Icons.person64.getImage().getBounds(); } }); TableViewerColumn col2 = new TableViewerColumn(viewer, SWT.NONE); col2.getColumn().setWidth(250); col2.getColumn().setText(Messages.AlbumSelectionDialog_description); col2.setLabelProvider(new ZColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof SmartCollectionImpl) return ((SmartCollectionImpl) element).getDescription(); return element.toString(); } }); viewer.setContentProvider(new DeferredContentProvider(new Comparator<SmartCollection>() { @Override public int compare(SmartCollection e1, SmartCollection e2) { return e1.getName().compareTo(e2.getName()); } })); GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true); layoutData.heightHint = 500; viewer.getControl().setLayoutData(layoutData); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { if (cntrlDwn) { SmartCollectionImpl sm = (SmartCollectionImpl) viewer.getStructuredSelection() .getFirstElement(); if (sm != null) { CollectionEditDialog dialog = new CollectionEditDialog(getShell(), sm, Messages.AlbumSelectionDialog_edit_person, Messages.AlbumSelectionDialog_person_album_msg, false, true, false, false); if (dialog.open() == Window.OK) { final SmartCollectionImpl album = dialog.getResult(); if (album != null) { Set<Object> toBeDeleted = new HashSet<Object>(); List<Object> toBeStored = new ArrayList<Object>(); Utilities.updateCollection(dbManager, sm, album, toBeDeleted, toBeStored); dbManager.safeTransaction(toBeDeleted, toBeStored); } viewer.update(sm, null); } } cntrlDwn = false; } validate(); } }); viewer.getControl().addKeyListener(new KeyAdapter() { @Override public void keyPressed(KeyEvent e) { if (e.keyCode == SWT.CTRL) cntrlDwn = true; } @Override public void keyReleased(KeyEvent e) { if (e.keyCode == SWT.CTRL) cntrlDwn = false; } }); return area; }
From source file:com.bdaum.zoom.ui.internal.preferences.ImportPreferencePage.java
License:Open Source License
@SuppressWarnings("unused") private void createRecipeGroup(Composite composite) { recipeGroup = UiUtilities.createGroup(composite, 2, Messages.getString("ImportPreferencePage.recipe_detectors")); //$NON-NLS-1$ recipeViewer = CheckboxTableViewer.newCheckList(recipeGroup, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); recipeViewer.getControl().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); TableViewerColumn col1 = new TableViewerColumn(recipeViewer, SWT.NONE); col1.getColumn().setWidth(250);// www.j ava2 s . c o m col1.getColumn().setText(Messages.getString("ImportPreferencePage.raw_converter")); //$NON-NLS-1$ col1.setLabelProvider(new ZColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof IRecipeDetector) return ((IRecipeDetector) element).getName(); return element.toString(); } }); TableViewerColumn col2 = new TableViewerColumn(recipeViewer, SWT.NONE); col2.getColumn().setWidth(350); col2.getColumn().setText(Messages.getString("ImportPreferencePage.configuration")); //$NON-NLS-1$ col2.setLabelProvider(new ZColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof IRecipeDetector) { List<IRecipeParameter> parameters = ((IRecipeDetector) element).getParameters(); StringBuffer sb = new StringBuffer(); for (IRecipeParameter parm : parameters) { if (sb.length() > 0) sb.append("; "); //$NON-NLS-1$ String value = parm.getLabel(parm.getValue()); if (value != null) sb.append(parm.getName()).append(":").append(value); //$NON-NLS-1$ } return sb.toString(); } return element.toString(); } }); col2.setEditingSupport(new EditingSupport(recipeViewer) { @Override protected void setValue(Object element, Object value) { if (element instanceof IRecipeDetector && value instanceof Integer) { List<IRecipeParameter> parameters = ((IRecipeDetector) element).getParameters(); if (!parameters.isEmpty()) { IRecipeParameter parameter = parameters.get(0); List<IRecipeParameterValue> values = parameters.get(0).getValues(); int i = ((Integer) value).intValue(); if (i >= 0 && i < values.size()) { parameter.setValue(values.get(i).getId()); recipeViewer.update(element, null); } } } } @Override protected Object getValue(Object element) { if (element instanceof IRecipeDetector) { List<IRecipeParameter> parameters = ((IRecipeDetector) element).getParameters(); if (!parameters.isEmpty()) { IRecipeParameter parameter = parameters.get(0); List<IRecipeParameterValue> values = parameters.get(0).getValues(); String value = parameter.getValue(); int i = 0; for (IRecipeParameterValue v : values) { if (v.getId().equals(value)) return i; ++i; } } } return -1; } @Override protected CellEditor getCellEditor(Object element) { if (element instanceof IRecipeDetector) { List<IRecipeParameter> parameters = ((IRecipeDetector) element).getParameters(); if (!parameters.isEmpty()) { List<IRecipeParameterValue> values = parameters.get(0).getValues(); String[] labs = new String[values.size()]; int i = 0; for (IRecipeParameterValue value : values) labs[i++] = value.getLabel(); return new ComboBoxCellEditor(recipeViewer.getTable(), labs); } } return null; } @Override protected boolean canEdit(Object element) { if (element instanceof IRecipeDetector && recipeViewer.getChecked(element)) { List<IRecipeParameter> parameters = ((IRecipeDetector) element).getParameters(); return !parameters.isEmpty(); } return false; } }); recipeViewer.getTable().setHeaderVisible(true); recipeViewer.getTable().setLinesVisible(true); recipeViewer.setContentProvider(ArrayContentProvider.getInstance()); recipeViewer.setCheckStateProvider(new ICheckStateProvider() { public boolean isGrayed(Object element) { return false; } public boolean isChecked(Object element) { if (element instanceof IRecipeDetector) return selectedRecipeDetectors.contains(((IRecipeDetector) element).getId()); return false; } }); recipeViewer.setComparator(ZViewerComparator.INSTANCE); recipeViewer.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { updateRecipeButtons(); } }); recipeViewer.addCheckStateListener(new ICheckStateListener() { public void checkStateChanged(CheckStateChangedEvent event) { Object element = event.getElement(); if (element instanceof IRecipeDetector) { String id = ((IRecipeDetector) element).getId(); if (event.getChecked()) { selectedRecipeDetectors.add(id); processRecipesButton.setSelection(true); } else { selectedRecipeDetectors.remove(id); if (selectedRecipeDetectors.isEmpty()) processRecipesButton.setSelection(false); } recipeViewer.setInput(allDetectors); updateRecipeButtons(); updateRecipeOptionButtons(); } } }); new AllNoneGroup(recipeGroup, new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { recipeViewer.setAllChecked(e.widget.getData() == AllNoneGroup.ALL); updateRecipeButtons(); } }); processRecipesButton = WidgetFactory.createCheckButton(recipeGroup, Messages.getString("ImportPreferencePage.process_recipes"), new GridData(SWT.BEGINNING, SWT.CENTER, //$NON-NLS-1$ false, false, 2, 1)); processRecipesButton.addListener(new Listener() { @Override public void handleEvent(Event event) { updateThumbnailWarning(); } }); synchronizeRecipesButton = WidgetFactory.createCheckButton(recipeGroup, Messages.getString("ImportPreferencePage.immediate_update"), new GridData(SWT.BEGINNING, SWT.CENTER, //$NON-NLS-1$ false, false, 2, 1)); synchronizeRecipesButton.setVisible(false); }
From source file:com.bdaum.zoom.ui.internal.preferences.KeyPreferencePage.java
License:Open Source License
private static TableViewerColumn createColumn(final TableViewer viewer, String lab, int w) { final TableViewerColumn column = new TableViewerColumn(viewer, SWT.NONE); column.getColumn().setText(lab);/*from w ww .ja v a 2s. com*/ column.getColumn().setWidth(w); return column; }
From source file:com.bdaum.zoom.ui.internal.preferences.KeyPreferencePage.java
License:Open Source License
private void createConflictsArea(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); composite.setLayout(new GridLayout(1, false)); new Label(composite, SWT.NONE).setText(Messages.getString("KeyPreferencePage.conflicts")); //$NON-NLS-1$ conflictViewer = new TableViewer(composite, SWT.SINGLE | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); Table table = conflictViewer.getTable(); TableViewerColumn bindingNameColumn = new TableViewerColumn(conflictViewer, SWT.LEAD); bindingNameColumn.getColumn().setWidth(250); table.setLayoutData(new GridData(250, 80)); bindingNameColumn.setLabelProvider(new ZColumnLabelProvider() { @Override//from w w w . j a v a 2 s .c om public String getText(Object element) { if (element instanceof Binding[]) { StringBuilder sb = new StringBuilder(); for (Binding binding : ((Binding[]) element)) { ParameterizedCommand parameterizedCommand = binding.getParameterizedCommand(); String s = Messages.getString("KeyPreferencePage.undefined"); //$NON-NLS-1$ if (parameterizedCommand != null) try { s = parameterizedCommand.getName(); } catch (NotDefinedException e) { // do nothing } if (sb.length() > 0) sb.append("; "); //$NON-NLS-1$ sb.append(s); } return sb.toString(); } return element.toString(); } }); conflictViewer.setContentProvider(ArrayContentProvider.getInstance()); conflictViewer.addDoubleClickListener(new IDoubleClickListener() { public void doubleClick(DoubleClickEvent event) { IStructuredSelection selection = (IStructuredSelection) event.getSelection(); if (!selection.isEmpty()) { Binding[] conflict = (Binding[]) selection.getFirstElement(); bindingViewer.setSelection(new StructuredSelection(conflict[0])); } } }); }
From source file:com.bdaum.zoom.ui.internal.preferences.PerspectivesPreferencePage.java
License:Open Source License
/** * Create a table of 3 buttons to enable the user to manage customized * perspectives./* w ww.jav a2 s . c om*/ * * @param parent * the parent for the button parent * @return Composite that the buttons are created in. */ protected Composite createCustomizePerspective(Composite parent) { Composite perspectivesComponent = new Composite(parent, SWT.NONE); perspectivesComponent.setLayoutData(new GridData(GridData.FILL_BOTH)); perspectivesComponent.setLayout(new GridLayout(2, false)); Label description = new Label(perspectivesComponent, SWT.WRAP); description.setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false, 2, 1)); description.setText(Messages.getString("PerspectivesPreferencePage.perspectives_organize")); //$NON-NLS-1$ new Label(perspectivesComponent, SWT.NONE) .setLayoutData(new GridData(SWT.BEGINNING, SWT.CENTER, false, false, 2, 1)); CGroup perspGroup = UiUtilities.createGroup(perspectivesComponent, 2, Messages.getString("PerspectivesPreferencePage.available_perspectives")); //$NON-NLS-1$ viewer = new TableViewer(perspGroup, SWT.V_SCROLL | SWT.FULL_SELECTION); viewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { updateButtons(); } }); viewer.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); viewer.setContentProvider(ArrayContentProvider.getInstance()); viewer.setComparator(ZViewerComparator.INSTANCE); TableViewerColumn col1 = new TableViewerColumn(viewer, SWT.NONE); col1.getColumn().setWidth(180); col1.setLabelProvider(new ZColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof IPerspectiveDescriptor) return ((IPerspectiveDescriptor) element).getLabel(); return element.toString(); } }); TableViewerColumn col2 = new TableViewerColumn(viewer, SWT.NONE); col2.getColumn().setWidth(120); col2.setLabelProvider(new ZColumnLabelProvider() { @Override public String getText(Object element) { if (element instanceof IPerspectiveDescriptor) return isPredefined((IPerspectiveDescriptor) element) ? Messages.getString("PerspectivesPreferencePage.predefined") //$NON-NLS-1$ : Messages.getString("PerspectivesPreferencePage.user_defined"); //$NON-NLS-1$ return element.toString(); } }); IPerspectiveDescriptor[] persps = perspectiveRegistry.getPerspectives(); perspectives = new ArrayList<IPerspectiveDescriptor>(persps.length); for (int i = 0; i < persps.length; i++) perspectives.add(i, persps[i]); viewer.setInput(perspectives); createVerticalButtonBar(perspGroup); return perspectivesComponent; }
From source file:com.bdaum.zoom.ui.internal.views.BookmarkView.java
License:Open Source License
private TableViewerColumn createColumn(final TableViewer tViewer, String lab, int w) { final TableViewerColumn column = new TableViewerColumn(tViewer, SWT.NONE); column.getColumn().setText(lab);/* w w w. j a va 2 s . c om*/ column.getColumn().setWidth(w); column.getColumn().addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { switchSort(tViewer.getTable(), column.getColumn()); } }); return column; }
From source file:com.bdaum.zoom.ui.internal.views.TableView.java
License:Open Source License
private void createGallery(Composite parent, boolean recreate) { gallery = new TableViewer(parent, SWT.VIRTUAL | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); PlatformUI.getWorkbench().getHelpSystem().setHelp(gallery.getControl(), HelpContextIds.TABLE_VIEW); themeChanged();//from w w w . j a v a 2 s . c om gallery.setContentProvider(new ILazyContentProvider() { public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { // do nothing } public void dispose() { // do nothing } public void updateElement(int index) { IAssetProvider assetProvider = getAssetProvider(); if (assetProvider != null) { Asset asset = assetProvider.getAsset(index); if (asset != null) { synchronized (gallery) { gallery.replace(asset, index); } } } } }); final Table table = gallery.getTable(); if (!recreate) setAppStarting(table); table.setLinesVisible(true); table.setHeaderVisible(true); // Construct columns List<String> props = new ArrayList<String>(); imageColumn = new TableViewerColumn(gallery, SWT.NONE); TableColumn icolumn = imageColumn.getColumn(); icolumn.setWidth(thumbsize); icolumn.setResizable(false); icolumn.setText(Messages.getString("TableView.configure")); //$NON-NLS-1$ imageColumn.setLabelProvider(new ThumbnailLabelProvider()); icolumn.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { ConfigureColumnsDialog dialog = new ConfigureColumnsDialog(getSite().getShell()); dialog.create(); dialog.getShell().setLocation(gallery.getControl().toDisplay(e.x, e.y)); dialog.open(); } }); props.add("$"); //$NON-NLS-1$ QueryField scoreField = QueryField.SCORE; scoreColumn = createColumn(table, scoreField, Messages.getString("TableView.score"), 50, //$NON-NLS-1$ new MetaDataLabelProvider(scoreField)); props.add(scoreField.getKey()); StringTokenizer st = new StringTokenizer( UiActivator.getDefault().getPreferenceStore().getString(PreferenceConstants.TABLECOLUMNS), "\n"); //$NON-NLS-1$ displayedFields.clear(); while (st.hasMoreTokens()) { String id = st.nextToken(); QueryField qfield = QueryField.findQueryField(id); if (qfield != null) { displayedFields.add(qfield); createColumn(table, qfield, qfield.getLabel(), 120, new MetaDataLabelProvider(qfield)); props.add(id); } } gallery.setColumnProperties(props.toArray(new String[props.size()])); gallery.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (refreshing <= 0) { stopAudio(); selection = doGetAssetSelection(); fireSelection(); } } }); ZColumnViewerToolTipSupport.enableFor(gallery); addKeyListener(); addGestureListener(gallery.getTable()); addExplanationListener(false); addDragDropSupport(); hookContextMenu(); hookDoubleClickAction(); }
From source file:com.bdaum.zoom.ui.internal.views.TableView.java
License:Open Source License
private TableViewerColumn createColumn(final Table table, QueryField qfield, String label, int defaultWidth, CellLabelProvider labelProvider) { final String key = qfield.getKey(); TableViewerColumn tableViewerColumn = new TableViewerColumn(gallery, SWT.NONE); final TableColumn column = tableViewerColumn.getColumn(); column.setText(label);/*from w w w. jav a 2 s . co m*/ column.setData(KEY, key); Integer w = columnWidths.get(key); column.setWidth(w != null ? w : defaultWidth); column.setResizable(true); column.addControlListener(new ControlAdapter() { @Override public void controlResized(ControlEvent e) { int width = column.getWidth(); if (width > 0) columnWidths.put(key, width); } }); column.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { if (refreshing > 0) return; switchSort(table, key, column); } }); tableViewerColumn.setLabelProvider(labelProvider); if (key.equals(sortColumn)) { table.setSortColumn(column); table.setSortDirection(sortDirection); } if (qfield.canEdit() && qfield.getKey() != null && !(qfield.isStruct() && qfield.getCard() != 1) && qfield.getType() != QueryField.T_NONE) tableViewerColumn.setEditingSupport(new ViewEditingSupport(gallery, qfield)); return tableViewerColumn; }
From source file:com.blackducksoftware.integration.eclipseplugin.views.providers.DependencyTreeViewLabelProvider.java
License:Apache License
public TableViewerColumn addColumnTo(TableViewer viewer) { ColumnViewerToolTipSupport.enableFor(viewer); TableViewerColumn tableViewerColumn = new TableViewerColumn(viewer, alignment); TableColumn column = tableViewerColumn.getColumn(); column.setMoveable(true);//w ww.j av a 2s. c o m column.setResizable(true); column.setText(getTitle()); column.setWidth(width); tableViewerColumn.setLabelProvider(this); return tableViewerColumn; }
From source file:com.bmw.spdxeditor.editors.spdx.SPDXEditor.java
License:Apache License
/** * Create the license text editor component * /* www . ja va2 s . co m*/ * @param parent * @return * @throws InvalidSPDXAnalysisException */ private Group createLicenseTextEditor(Composite parent) throws InvalidSPDXAnalysisException { Group licenseTextEditorGroup = new Group(parent, SWT.SHADOW_ETCHED_IN); licenseTextEditorGroup.setText("Licenses referenced in SPDX file"); GridLayout licenseTextEditorGroupLayout = new GridLayout(); licenseTextEditorGroupLayout.numColumns = 2; licenseTextEditorGroup.setLayout(licenseTextEditorGroupLayout); // Add table viewer final TableViewer tableViewer = new TableViewer(licenseTextEditorGroup, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER); // The list of available extracted license texts final Table table = tableViewer.getTable(); table.setToolTipText("Right click to add/remove licenses."); // Build a drop down menu to add/remove licenses Menu licenseTableMenu = new Menu(parent.getShell(), SWT.POP_UP); MenuItem addNewLicenseText = new MenuItem(licenseTableMenu, SWT.PUSH); addNewLicenseText.setText("Add license text"); addNewLicenseText.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { // Retrieve the corresponding Services IHandlerService handlerService = (IHandlerService) getSite().getService(IHandlerService.class); ICommandService commandService = (ICommandService) getSite().getService(ICommandService.class); // Retrieve the command Command generateCmd = commandService.getCommand("SPDXEditor.addNewLicenseText"); // Create an ExecutionEvent ExecutionEvent executionEvent = handlerService.createExecutionEvent(generateCmd, new Event()); // Launch the command try { generateCmd.executeWithChecks(executionEvent); } catch (ExecutionException | NotDefinedException | NotEnabledException | NotHandledException e1) { MessageDialog.openError(getSite().getShell(), "Execution failed", e1.getMessage()); } } }); // Listen for changes on model this.getInput().addChangeListener(new IResourceChangeListener() { @Override public void resourceChanged(IResourceChangeEvent event) { try { SPDXNonStandardLicense[] nonStandardLicenses = getInput().getAssociatedSPDXFile() .getExtractedLicenseInfos(); tableViewer.setInput(nonStandardLicenses); tableViewer.refresh(); loadLicenseDataFromSPDXFile(); setLicenseComboBoxValue(concludedLicenseChoice, getInput().getAssociatedSPDXFile().getSpdxPackage().getConcludedLicenses()); // populateLicenseSelectorWithAvailableLicenses(declaredLicenseChoice); setLicenseComboBoxValue(declaredLicenseChoice, getInput().getAssociatedSPDXFile().getSpdxPackage().getDeclaredLicense()); setDirtyFlag(true); } catch (InvalidSPDXAnalysisException e) { e.printStackTrace(); } } }); final MenuItem deleteSelectedLicenseTexts = new MenuItem(licenseTableMenu, SWT.PUSH); deleteSelectedLicenseTexts.setText("Delete licenses"); deleteSelectedLicenseTexts.setEnabled(false); tableViewer.addSelectionChangedListener(new ISelectionChangedListener() { @Override public void selectionChanged(SelectionChangedEvent event) { // Never enable, not yet implemented // deleteSelectedLicenseTexts.setEnabled(table.getSelectionCount() // != 0); } }); table.setMenu(licenseTableMenu); // Make headers and borders visible table.setHeaderVisible(true); table.setLinesVisible(true); tableViewer.setContentProvider(ArrayContentProvider.getInstance()); // Create TableViewerColumn for each column TableViewerColumn viewerNameColumn = new TableViewerColumn(tableViewer, SWT.NONE); viewerNameColumn.getColumn().setText("License ID"); viewerNameColumn.getColumn().setWidth(100); // Set LabelProvider for each column viewerNameColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { SPDXNonStandardLicense licenseInCell = (SPDXNonStandardLicense) cell.getElement(); cell.setText(licenseInCell.getId()); } }); viewerNameColumn = new TableViewerColumn(tableViewer, SWT.NONE); viewerNameColumn.getColumn().setText("License text"); viewerNameColumn.getColumn().setWidth(100); viewerNameColumn.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { SPDXNonStandardLicense iteratorLicense = (SPDXNonStandardLicense) cell.getElement(); cell.setText(iteratorLicense.getText()); } }); /* * All ExtractedLicensingInfo is contained in the SPDX file assigned to * the input. */ tableViewer.setInput(getInput().getAssociatedSPDXFile().getExtractedLicenseInfos()); GridData spdxDetailsPanelGridData = new GridData(SWT.FILL, SWT.BEGINNING, true, false); spdxDetailsPanelGridData.horizontalSpan = 1; spdxDetailsPanelGridData.heightHint = 150; licenseTextEditorGroup.setLayoutData(spdxDetailsPanelGridData); GridData gridData = new GridData(); gridData.verticalAlignment = GridData.FILL; gridData.grabExcessHorizontalSpace = true; gridData.grabExcessVerticalSpace = true; gridData.horizontalAlignment = GridData.FILL; gridData.horizontalSpan = 1; gridData.heightHint = 100; gridData.minimumWidth = 70; tableViewer.getControl().setLayoutData(gridData); /* * Text editor field for editing license texts. */ final Text licenseEditorText = new Text(licenseTextEditorGroup, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL); licenseEditorText.setText(""); licenseEditorText.setEditable(true); GridData gd = new GridData(SWT.FILL, SWT.BEGINNING, true, false); gd.minimumHeight = 70; gd.minimumWidth = 200; gd.heightHint = 100; gd.horizontalSpan = 1; licenseEditorText.setLayoutData(gd); licenseEditorText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { try { SPDXNonStandardLicense[] nonStandardLicenses; nonStandardLicenses = getInput().getAssociatedSPDXFile().getExtractedLicenseInfos(); nonStandardLicenses[table.getSelectionIndex()].setText(licenseEditorText.getText()); setDirtyFlag(true); } catch (InvalidSPDXAnalysisException e1) { MessageDialog.openError(getSite().getShell(), "SPDX Analysis error", e1.getMessage()); } } }); /* * Listener for updating text editor selection based on selected table * entry. */ table.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { SPDXNonStandardLicense[] nonStandardLicenses; try { nonStandardLicenses = getInput().getAssociatedSPDXFile().getExtractedLicenseInfos(); licenseEditorText.setText(nonStandardLicenses[table.getSelectionIndex()].getText()); } catch (InvalidSPDXAnalysisException e1) { MessageDialog.openError(getSite().getShell(), "SPDX Analysis invalid", e1.getMessage()); } } }); // Style group panel GridData licenseTextEditorGroupGridData = new GridData(SWT.FILL, SWT.BEGINNING, true, false); licenseTextEditorGroupGridData.horizontalSpan = 2; licenseTextEditorGroup.setLayoutData(licenseTextEditorGroupGridData); return licenseTextEditorGroup; }