List of usage examples for org.eclipse.jface.viewers TableViewerColumn TableViewerColumn
public TableViewerColumn(TableViewer viewer, TableColumn column)
From source file:au.gov.ga.earthsci.retrieve.part.RetrievePart.java
License:Apache License
private void createColumns() { TableViewerColumn column = new TableViewerColumn(viewer, SWT.NONE); column.getColumn().setText("URL"); column.getColumn().setWidth(300);//from w w w . j a v a 2s.c o m column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { IRetrieval retrieval = (IRetrieval) element; return retrieval.getURL().toString(); } }); column = new TableViewerColumn(viewer, SWT.NONE); column.getColumn().setText("Caller(s)"); column.getColumn().setWidth(200); column.setLabelProvider(new ColumnLabelProvider() { @Override public String getText(Object element) { IRetrieval retrieval = (IRetrieval) element; StringBuilder sb = new StringBuilder(); for (Object caller : retrieval.getCallers()) { sb.append(", " + caller.toString()); //$NON-NLS-1$ } if (sb.length() == 0) { return sb.toString(); } return sb.substring(2); } }); column = new TableViewerColumn(viewer, SWT.NONE); column.getColumn().setText("Progress"); column.getColumn().setWidth(150); column.setLabelProvider(new OwnerDrawLabelProvider() { @Override protected void paint(Event event, Object element) { GC gc = event.gc; Color foreground = gc.getForeground(); Color background = gc.getBackground(); IRetrieval retrieval = (IRetrieval) element; float percentage = Math.max(0, retrieval.getPercentage()); String text = positionString(retrieval); Rectangle bounds = ((TableItem) event.item).getBounds(event.index); int width = (int) ((bounds.width - 1) * percentage); gc.setBackground(DOWNLOAD_BACKGROUND_COLOR); gc.fillRectangle(event.x, event.y, width, event.height); Point size = event.gc.textExtent(text); int offset = Math.max(0, (event.height - size.y) / 2); gc.setForeground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_FOREGROUND)); gc.drawText(text, event.x + 2, event.y + offset, true); gc.setForeground(background); gc.setBackground(foreground); } @Override protected void measure(Event event, Object element) { } }); }
From source file:bndtools.release.ui.ProjectListControl.java
License:Open Source License
private void createTableLayout(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); // Add TableColumnLayout TableColumnLayout layout = new TableColumnLayout(); composite.setLayout(layout);/*w w w . j av a 2s .co m*/ // Instantiate TableViewer projects = new Table(composite, SWT.CHECK | SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); projects.setHeaderVisible(true); projects.setLinesVisible(true); projects.addSelectionListener(new SelectionListener() { @Override public void widgetSelected(SelectionEvent e) { selectionListener.widgetSelected(e); } @Override public void widgetDefaultSelected(SelectionEvent e) { selectionListener.widgetDefaultSelected(e); } }); tableViewer = new CheckboxTableViewer(projects); tableViewer.setUseHashlookup(true); // Project TableViewerColumn tableViewerColumn = new TableViewerColumn(tableViewer, SWT.LEFT); TableColumn tableCol = tableViewerColumn.getColumn(); layout.setColumnData(tableCol, new ColumnWeightData(60, 100, true)); tableCol.setText(Messages.project1); // Repository tableViewerColumn = new TableViewerColumn(tableViewer, SWT.LEFT); tableCol = tableViewerColumn.getColumn(); layout.setColumnData(tableCol, new ColumnWeightData(26, 80, true)); tableCol.setText(Messages.repository); tableViewerColumn.setEditingSupport(new InlineComboEditingSupport(tableViewer)); // Bundles tableViewerColumn = new TableViewerColumn(tableViewer, SWT.CENTER); tableCol = tableViewerColumn.getColumn(); layout.setColumnData(tableCol, new ColumnWeightData(14, 35, true)); tableCol.setText(Messages.bundles); contentProvider = new ContentProvider(); tableViewer.setContentProvider(contentProvider); tableViewer.setLabelProvider(new TableLabelProvider()); tableViewer.setColumnProperties(columnNames); tableViewer.setCheckStateProvider(new ICheckStateProvider() { @Override public boolean isGrayed(Object element) { return false; } @Override public boolean isChecked(Object element) { ProjectDiff diff = (ProjectDiff) element; return diff.isRelease(); } }); projects.pack(); TableSortingEnabler.applyTableColumnSorting(tableViewer); }
From source file:br.ufes.inf.nemo.oled.validator.antipattern.AntiPatternResultDialog.java
License:Open Source License
private TableViewerColumn createTableViewerColumn(String title, int bound, final int colNumber) { final TableViewerColumn viewerColumn = new TableViewerColumn(viewer, SWT.NONE); final TableColumn column = viewerColumn.getColumn(); column.setText(title);/*from ww w . j av a2s. c o m*/ column.setWidth(bound); column.setResizable(true); column.setMoveable(true); return viewerColumn; }
From source file:ca.uvic.chisel.javasketch.persistence.ui.internal.FiltersComposite.java
License:Open Source License
/** * @param group/* w w w . j a v a 2s .c o m*/ * @return */ private TableViewer createTableArea(Group group) { group.setLayout(new GridLayout(3, false)); final Text addText = new Text(group, SWT.SINGLE | SWT.BORDER); addText.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false)); final Button addButton = new Button(group, SWT.PUSH); addButton.setText("Add"); addButton.setLayoutData(new GridData(GridData.FILL, GridData.FILL, false, false)); Button removeButton = new Button(group, SWT.PUSH); removeButton.setText("Remove"); addButton.setLayoutData(new GridData(GridData.FILL, GridData.FILL, false, false)); TableViewer tableViewer = new TableViewer(group); tableViewer.getTable().setLinesVisible(true); GridData tableData = new GridData(GridData.FILL, GridData.FILL, true, true); tableData.horizontalSpan = 3; tableViewer.getTable().setLayoutData(tableData); // TableLayout tl = new TableLayout(); // tableViewer.getTable().setLayout(tl); final TableViewerColumn labelColumn = new TableViewerColumn(tableViewer, SWT.NONE); labelColumn.setLabelProvider(new SimpleCellLabelProvider()); tableViewer.setLabelProvider(new SimpleCellLabelProvider()); tableViewer.setContentProvider(new ArrayContentProvider()); tableViewer.setInput(new String[0]); addText.addModifyListener( new AddFilterAssistListener(addButton, new ControlDecoration(addText, SWT.TOP | SWT.LEFT))); AddFilterListener addInclusionListener = new AddFilterListener(addText, tableViewer); addButton.addSelectionListener(addInclusionListener); addButton.addKeyListener(addInclusionListener); addText.addFocusListener(new FocusAdapter() { @Override public void focusGained(FocusEvent e) { getShell().setDefaultButton(addButton); } }); removeButton.addSelectionListener(new RemoveItemListener(tableViewer)); try { new ContentProposalAdapter(addText, new TextContentAdapter(), new SimpleJavaContentProposalProvider(), KeyStroke.getInstance("Ctrl+Space"), new char[] { '.' }); } catch (ParseException e1) { } tableViewer.getTable().addControlListener(new ControlAdapter() { /* (non-Javadoc) * @see org.eclipse.swt.events.ControlAdapter#controlResized(org.eclipse.swt.events.ControlEvent) */ @Override public void controlResized(ControlEvent e) { labelColumn.getColumn().setWidth(((Table) e.widget).getClientArea().width); } }); return tableViewer; }
From source file:cc.warlock.rcp.prefs.VariablesPreferencePage.java
License:Open Source License
@Override protected Control createContents(Composite parent) { createProfileDropDown(parent);//from w w w . ja v a 2 s .co m Composite main = new Composite(parent, SWT.NONE); main.setLayout(new GridLayout(2, false)); Composite filterComposite = new Composite(main, SWT.NONE); GridLayout layout = new GridLayout(2, false); layout.marginWidth = layout.marginHeight = 0; filterComposite.setLayout(layout); filterComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); new Label(filterComposite, SWT.NONE).setText("Filter: "); filterText = new Text(filterComposite, SWT.BORDER); filterText.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { variableTable.refresh(); } }); filterText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); new Label(main, SWT.NONE); variableTable = new TableViewer(main, SWT.SINGLE | SWT.BORDER | SWT.V_SCROLL); TableViewerColumn varName = new TableViewerColumn(variableTable, SWT.NONE); varName.getColumn().setWidth(200); varName.getColumn().setText("Variable Name"); varName.setEditingSupport(new TextEditingSupport(variableTable) { protected Object getValue(Object element) { return ((Variable) element).getIdentifier(); } protected void setValue(Object element, Object value) { ((Variable) element).setIdentifier(value.toString()); variableTable.refresh(element); } }); TableViewerColumn value = new TableViewerColumn(variableTable, SWT.NONE); value.getColumn().setWidth(150); value.getColumn().setText("Value"); value.setEditingSupport(new TextEditingSupport(variableTable) { protected Object getValue(Object element) { return ((Variable) element).getValue(); } protected void setValue(Object element, Object value) { ((Variable) element).setValue(value.toString()); variableTable.refresh(element); } }); variableTable.getTable().setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true)); variableTable.getTable().setHeaderVisible(true); variableTable.setUseHashlookup(true); variableTable.setContentProvider(ArrayContentProvider.getInstance()); variableTable.setLabelProvider(new VariableLabelProvider()); variableTable.addFilter(new ViewerFilter() { public boolean select(Viewer viewer, Object parentElement, Object element) { Variable var = (Variable) element; if (filterText.getText().equals("")) return true; return (var.getIdentifier().toLowerCase().contains(filterText.getText().toLowerCase()) || var.getValue().toLowerCase().contains(filterText.getText().toLowerCase())); } }); variableTable.setComparator(new ViewerComparator() { public int compare(Viewer viewer, Object e1, Object e2) { Variable v1 = (Variable) e1; Variable v2 = (Variable) e2; return v1.getIdentifier().compareTo(v2.getIdentifier()); } }); variableTable.addSelectionChangedListener(new ISelectionChangedListener() { public void selectionChanged(SelectionChangedEvent event) { if (variableTable.getSelection().isEmpty()) { currentVariable = null; removeButton.setEnabled(false); } else { currentVariable = (Variable) ((IStructuredSelection) variableTable.getSelection()) .getFirstElement(); removeButton.setEnabled(true); } } }); int listHeight = variableTable.getTable().getItemHeight() * 8; Rectangle trim = variableTable.getTable().computeTrim(0, 0, 0, listHeight); GridData data = new GridData(GridData.FILL, GridData.FILL, true, true); data.heightHint = trim.height; variableTable.getTable().setLayoutData(data); Composite buttonsComposite = new Composite(main, SWT.NONE); buttonsComposite.setLayout(new GridLayout(1, true)); buttonsComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, true)); Button addButton = new Button(buttonsComposite, SWT.PUSH); addButton.setText("Add Variable"); addButton.setImage(WarlockSharedImages.getImage(WarlockSharedImages.IMG_ADD)); addButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { addVariableSelected(); } }); addButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); removeButton = new Button(buttonsComposite, SWT.PUSH); removeButton.setText("Remove Variable"); removeButton.setImage(WarlockSharedImages.getImage(WarlockSharedImages.IMG_REMOVE)); removeButton.setEnabled(false); removeButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { removeVariableSelected(); } }); removeButton.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); /*for (IVariable var : settings.getAllVariables()) { if (var instanceof Variable) { variables.add(new Variable((Variable)var)); } }*/ updateData(); return main; }
From source file:cc.xuloo.rcputils.tables.ColumnBuilder.java
License:Open Source License
/** * Builds the column and returns the TableViewerColumn *//*from www. j a va2 s.c om*/ public TableViewerColumn build() { // create column TableViewerColumn viewerColumn = new TableViewerColumn(builder.getTableViewer(), align); TableColumn column = viewerColumn.getColumn(); column.setText(columnHeaderText); // set label provider if (customLabelProvider != null) { if (cellFormatter != null) { throw new RuntimeException("If you specify a custom label provider, it is not allowed " + "to specify a cell formatter. You need to do the formatting in your labelprovider!"); } viewerColumn.setLabelProvider(customLabelProvider); } else { viewerColumn .setLabelProvider(new PropertyCellLabelProvider(valueHandler, valueFormatter, cellFormatter)); } // activate column sorting if (sortBy == null) { sortBy = valueHandler; } if (sortBy != null) { column.setData(SortColumnComparator.SORT_BY, sortBy); column.addSelectionListener(builder.getSortSelectionListener()); if (defaultSort) { builder.getTable().setSortColumn(column); builder.getTable().setSortDirection(SWT.DOWN); } } // set column layout data if (widthPixel != null && widthPercent != null) { throw new RuntimeException("You can specify a width in pixel OR in percent, but not both!"); } if (widthPercent == null) { // default width of 100px if nothing specified builder.getTableLayout().setColumnData(column, new ColumnPixelData(widthPixel == null ? 100 : widthPixel)); } else { builder.getTableLayout().setColumnData(column, new ColumnWeightData(widthPercent)); } // set editing support if (editor != null) { if (valueHandler == null) { throw new RuntimeException( "makeEditable() requires that the column is bound to some value using bindTo...()"); } viewerColumn.setEditingSupport( new PropertyEditingSupport(builder.getTableViewer(), valueHandler, editorFormat, editor)); } return viewerColumn; }
From source file:ccw.preferences.HoverPreferencePage.java
License:Open Source License
/** * Creates page for hover preferences.//from ww w . ja v a 2 s . c om * * @param parent * the parent composite * @return the control for the preference page */ public Control createContents(Composite parent) { ScrolledPageContent scrolled = new ScrolledPageContent(parent, SWT.H_SCROLL | SWT.V_SCROLL); scrolled.setExpandHorizontal(true); scrolled.setExpandVertical(true); Composite cointainerComposite = new Composite(scrolled, SWT.NONE); FillLayout fillLayout = new FillLayout(SWT.VERTICAL); cointainerComposite.setLayout(fillLayout); // Hover Table Composite hoverComposite = new Composite(cointainerComposite, SWT.NONE); fHoverTableViewer = CheckboxTableViewer.newCheckList(hoverComposite, SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.BORDER | SWT.FULL_SELECTION | SWT.CHECK); ColumnViewerToolTipSupport.enableFor(fHoverTableViewer, ToolTip.NO_RECREATE); // Cell Editor fHoverModifierStringTextCellEditor = new TextCellEditor(fHoverTableViewer.getTable()); // Setup fHoverTableViewer.setUseHashlookup(true); fHoverTableViewer.getTable().setHeaderVisible(true); fHoverTableViewer.getTable().setLinesVisible(true); TableColumnLayout layout = new TableColumnLayout(); hoverComposite.setLayout(layout); TableViewerColumn viewerColumn = new TableViewerColumn(fHoverTableViewer, SWT.NONE); TableColumn column = viewerColumn.getColumn(); column.setText(Messages.HoverPreferencePage_labelColumnTitle); column.setResizable(true); column.setMoveable(true); column.setResizable(true); layout.setColumnData(column, new ColumnWeightData(35, true)); fModifierTableViewerColumn = new TableViewerColumn(fHoverTableViewer, SWT.NONE); column = fModifierTableViewerColumn.getColumn(); column.setText(Messages.HoverPreferencePage_modifierColumnTitle); column.setResizable(true); column.setMoveable(true); layout.setColumnData(column, new ColumnWeightData(25, true)); viewerColumn = new TableViewerColumn(fHoverTableViewer, SWT.NONE); column = viewerColumn.getColumn(); column.setText(Messages.HoverPreferencePage_descriptionColumnTitle); column.setResizable(true); column.setMoveable(true); layout.setColumnData(column, new ColumnWeightData(40, true)); // Summary Composite summaryComposite = new Composite(cointainerComposite, SWT.NONE); summaryComposite.setLayout(new FillLayout(SWT.HORIZONTAL)); fGrpSummary = new Group(summaryComposite, SWT.NONE); GridLayout gridLayout = new GridLayout(2, false); gridLayout.marginLeft = 4; gridLayout.marginRight = 4; gridLayout.horizontalSpacing = 8; gridLayout.verticalSpacing = 8; gridLayout.marginTop = 4; gridLayout.marginHeight = 0; gridLayout.marginWidth = 0; fGrpSummary.setLayout(gridLayout); // Summary Label fSummaryHoverNameLabel = new Label(fGrpSummary, SWT.HORIZONTAL); GridData fieldLayoutData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); fieldLayoutData.widthHint = 120; fSummaryHoverNameLabel.setLayoutData(fieldLayoutData); // Summary Modifier String fSummaryHoverModifierStringText = new Text(fGrpSummary, SWT.BORDER); fieldLayoutData = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); fieldLayoutData.widthHint = 120; fSummaryHoverModifierStringText.setLayoutData(fieldLayoutData); // Summary Description fSummaryHoverDescriptionLabel = new Label(fGrpSummary, SWT.BORDER | SWT.WRAP); fieldLayoutData = new GridData(SWT.FILL, SWT.BEGINNING, true, false); fieldLayoutData.heightHint = 100; fieldLayoutData.horizontalSpan = 2; fSummaryHoverDescriptionLabel.setLayoutData(fieldLayoutData); summaryComposite.pack(); // End Summary scrolled.setContent(cointainerComposite); final Point size = cointainerComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT); scrolled.setMinSize(size.x, size.y); Dialog.applyDialogFont(scrolled); initDataBindings(); return scrolled; }
From source file:ch.acanda.eclipse.pmd.properties.RuleSetConfigurationTable.java
License:Open Source License
public RuleSetConfigurationTable(final Composite parent, final PMDPropertyPageViewModel model) { super(parent, SWT.NONE); this.model = model; setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 2)); final TableColumnLayout tableColumnLayout = new TableColumnLayout(); setLayout(tableColumnLayout);/* w w w . ja va2s. c o m*/ tableViewer = CheckboxTableViewer.newCheckList(this, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI); table = tableViewer.getTable(); table.setHeaderVisible(true); table.setLinesVisible(true); ColumnViewerToolTipSupport.enableFor(tableViewer, ToolTip.NO_RECREATE); SWTBotID.set(table, SWTBotID.RULESETS); final TableViewerColumn nameViewerColumn = new TableViewerColumn(tableViewer, SWT.NONE); final TableColumn nameColumn = nameViewerColumn.getColumn(); tableColumnLayout.setColumnData(nameColumn, new ColumnWeightData(1, 50, true)); nameColumn.setText("Name"); nameViewerColumn.setLabelProvider(new NameLabelProvider(model)); final TableViewerColumn typeViewerColumn = new TableViewerColumn(tableViewer, SWT.NONE); final TableColumn typeColumn = typeViewerColumn.getColumn(); tableColumnLayout.setColumnData(typeColumn, new ColumnPixelData(75, true, true)); typeColumn.setText("Type"); typeViewerColumn.setLabelProvider(new TypeLabelProvider(model)); final TableViewerColumn locationViewerColumn = new TableViewerColumn(tableViewer, SWT.NONE); final TableColumn locationColumn = locationViewerColumn.getColumn(); tableColumnLayout.setColumnData(locationColumn, new ColumnWeightData(2, 50, true)); locationColumn.setText("Location"); locationViewerColumn.setLabelProvider(new LocationLabelProvider(model)); initDataBindings(); initListeners(); }
From source file:ch.acanda.eclipse.pmd.wizard.AddRuleSetConfigurationWizardPage.java
License:Open Source License
@Override public void createControl(final Composite parent) { final Composite container = new Composite(parent, SWT.NULL); setControl(container);/*from w w w .j a va 2s.co m*/ container.setLayout(new GridLayout(3, false)); final Label lblLocation = new Label(container, SWT.NONE); lblLocation.setText("Location:"); location = new Text(container, SWT.BORDER); location.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); SWTBotID.set(location, SWTBotID.LOCATION); browse = new Button(container, SWT.NONE); browse.setText("Browse..."); SWTBotID.set(browse, SWTBotID.BROWSE); browse.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(final SelectionEvent e) { controller.browse(((Control) e.widget).getShell()); } }); final Label lblName = new Label(container, SWT.NONE); lblName.setText("Name:"); name = new Text(container, SWT.BORDER); name.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); SWTBotID.set(name, SWTBotID.NAME); // This button is only here to make this row the same height as the previous row. // Without this button the distance between the text of this row and the text of // the previous row is much larger than the distance between the text of this row // and the table of the next row. final Button button = new Button(container, SWT.NONE); button.setEnabled(false); button.setVisible(false); final Label lblRules = new Label(container, SWT.NONE); final GridData lblRulesGridData = new GridData(SWT.LEFT, SWT.TOP, false, false); lblRulesGridData.verticalIndent = 3; lblRules.setLayoutData(lblRulesGridData); lblRules.setText("Rules:"); final Composite tableComposite = new Composite(container, SWT.NONE); tableComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); final TableColumnLayout tableCompositeTableColumnLayout = new TableColumnLayout(); tableComposite.setLayout(tableCompositeTableColumnLayout); tableViewer = new TableViewer(tableComposite, SWT.BORDER | SWT.FULL_SELECTION | SWT.HIDE_SELECTION); final Table table = tableViewer.getTable(); table.setLinesVisible(true); SWTBotID.set(table, SWTBotID.RULES); final TableViewerColumn tableViewerColumn = new TableViewerColumn(tableViewer, SWT.NONE); final TableColumn tblclmnName = tableViewerColumn.getColumn(); tableCompositeTableColumnLayout.setColumnData(tblclmnName, new ColumnWeightData(1, 200, false)); tblclmnName.setText("Name"); new Label(container, SWT.NONE); new Label(container, SWT.NONE); new Label(container, SWT.NONE); new Label(container, SWT.NONE); initDataBindings(); }
From source file:ch.elexis.core.ui.contacts.preferences.BezugsKontaktSettings.java
License:Open Source License
@Override protected Control createContents(Composite parent) { updateExistingEntriesIds.clear();/*from www.j ava 2 s. com*/ Composite container = new Composite(parent, SWT.NULL); container.setLayout(new GridLayout(1, false)); Group group = new Group(container, SWT.NONE); group.setLayout(new GridLayout(1, false)); group.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1)); group.setText(Messages.Bezugskontakt_Definition); Composite composite = new Composite(group, SWT.NONE); GridData gd_composite = new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1); gd_composite.heightHint = 300; composite.setLayoutData(gd_composite); TableColumnLayout tcl_composite = new TableColumnLayout(); composite.setLayout(tcl_composite); tableViewer = new TableViewer(composite, SWT.BORDER | SWT.FULL_SELECTION); tableViewer.setContentProvider(ArrayContentProvider.getInstance()); tableBezugsKontaktRelations = tableViewer.getTable(); tableBezugsKontaktRelations.setHeaderVisible(true); tableBezugsKontaktRelations.setLinesVisible(true); if (allowEditing) { Menu menu = new Menu(tableBezugsKontaktRelations); tableBezugsKontaktRelations.setMenu(menu); MenuItem mntmAddBezugsKontaktRelation = new MenuItem(menu, SWT.NONE); mntmAddBezugsKontaktRelation.setText(Messages.Bezugskontakt_Add); mntmAddBezugsKontaktRelation.setImage(Images.IMG_NEW.getImage()); mntmAddBezugsKontaktRelation.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { BezugsKontaktRelation bezugsKontaktRelation = new BezugsKontaktRelation("", RelationshipType.AGENERIC, RelationshipType.AGENERIC); tableViewer.add(bezugsKontaktRelation); tableViewer.setSelection(new StructuredSelection(bezugsKontaktRelation)); } }); MenuItem mntmRemoveBezugsKontaktRelation = new MenuItem(menu, SWT.NONE); mntmRemoveBezugsKontaktRelation.setText(Messages.Bezugskontakt_Delete); mntmRemoveBezugsKontaktRelation.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { int selectionsIdx = tableViewer.getTable().getSelectionIndex(); if (selectionsIdx != -1) { boolean ret = MessageDialog.openQuestion(UiDesk.getTopShell(), Messages.Bezugskontakt_ConfirmDelete, Messages.Bezugskontakt_ConfirmDeleteText); if (ret) { tableViewer.getTable().remove(selectionsIdx); } } } }); } TableViewerColumn viewCol = new TableViewerColumn(tableViewer, SWT.NONE); TableColumn col = viewCol.getColumn(); tcl_composite.setColumnData(col, new ColumnWeightData(1, 140)); col.setText(Messages.BezugsKonktat_Reference); col.setToolTipText(Messages.Bezugskontakt_ReferenceTooltip); viewCol.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { BezugsKontaktRelation s = (BezugsKontaktRelation) cell.getElement(); if (s == null) return; cell.setText(s.getName()); } }); viewCol.setEditingSupport(new EditingSupport(tableViewer) { @Override protected void setValue(Object element, Object value) { if (element instanceof BezugsKontaktRelation) { String newName = String.valueOf(value); BezugsKontaktRelation tableData = null; for (TableItem tableItem : tableViewer.getTable().getItems()) { tableData = (BezugsKontaktRelation) tableItem.getData(); if (tableData != null && !tableData.equals(element) && !tableData.getName().isEmpty() && newName.equalsIgnoreCase(tableData.getName())) { MessageDialog.openError(UiDesk.getTopShell(), "", Messages.Bezugskontakt_NameMustBeUnique); return; } } BezugsKontaktRelation bezugsKontaktRelation = (BezugsKontaktRelation) element; if (!bezugsKontaktRelation.getName().equals(newName)) { bezugsKontaktRelation.setName(newName); getViewer().update(bezugsKontaktRelation, null); openConfirmUpdateExistingData(bezugsKontaktRelation); } } } @Override protected Object getValue(Object element) { if (element instanceof BezugsKontaktRelation) { return ((BezugsKontaktRelation) element).getName(); } return null; } @Override protected CellEditor getCellEditor(Object element) { return new TextCellEditor(tableViewer.getTable()); } @Override protected boolean canEdit(Object element) { return allowEditing; } }); viewCol = new TableViewerColumn(tableViewer, SWT.NONE); col = viewCol.getColumn(); tcl_composite.setColumnData(col, new ColumnWeightData(0, 140)); col.setText(Messages.Bezugskontakt_RelationFrom); viewCol.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { BezugsKontaktRelation s = (BezugsKontaktRelation) cell.getElement(); if (s == null) return; cell.setText(LocalizeUtil.getLocaleText(s.getDestRelationType())); } }); viewCol.setEditingSupport(new EditingSupport(tableViewer) { @Override protected void setValue(Object element, Object value) { if (element instanceof BezugsKontaktRelation && value instanceof Integer) { BezugsKontaktRelation bezugsKontaktRelation = (BezugsKontaktRelation) element; RelationshipType[] allRelationshipTypes = RelationshipType.values(); if ((int) value != -1 && !bezugsKontaktRelation.getDestRelationType() .equals(allRelationshipTypes[(int) value])) { bezugsKontaktRelation.setDestRelationType(allRelationshipTypes[(int) value]); getViewer().update(bezugsKontaktRelation, null); openConfirmUpdateExistingData(bezugsKontaktRelation); } } } @Override protected Object getValue(Object element) { if (element instanceof BezugsKontaktRelation) { BezugsKontaktRelation bezugsKontaktRelation = (BezugsKontaktRelation) element; RelationshipType relationshipType = bezugsKontaktRelation.getDestRelationType(); if (relationshipType != null) { return relationshipType.getValue(); } } return 0; } @Override protected CellEditor getCellEditor(Object element) { return new ComboBoxCellEditor(tableViewer.getTable(), BezugsKontaktAuswahl.getBezugKontaktTypes(), SWT.NONE); } @Override protected boolean canEdit(Object element) { return allowEditing; } }); viewCol = new TableViewerColumn(tableViewer, SWT.NONE); col = viewCol.getColumn(); tcl_composite.setColumnData(col, new ColumnWeightData(0, 140)); col.setText(Messages.Bezugskontakt_RelationTo); viewCol.setLabelProvider(new CellLabelProvider() { @Override public void update(ViewerCell cell) { BezugsKontaktRelation s = (BezugsKontaktRelation) cell.getElement(); if (s == null) return; cell.setText(LocalizeUtil.getLocaleText(s.getSrcRelationType())); } }); viewCol.setEditingSupport(new EditingSupport(tableViewer) { @Override protected void setValue(Object element, Object value) { if (element instanceof BezugsKontaktRelation && value instanceof Integer) { BezugsKontaktRelation bezugsKontaktRelation = (BezugsKontaktRelation) element; RelationshipType[] allRelationshipTypes = RelationshipType.values(); if ((int) value != -1 && !bezugsKontaktRelation.getSrcRelationType() .equals(allRelationshipTypes[(int) value])) { bezugsKontaktRelation.setSrcRelationType(allRelationshipTypes[(int) value]); getViewer().update(bezugsKontaktRelation, null); openConfirmUpdateExistingData(bezugsKontaktRelation); } } } @Override protected Object getValue(Object element) { if (element instanceof BezugsKontaktRelation) { BezugsKontaktRelation bezugsKontaktRelation = (BezugsKontaktRelation) element; RelationshipType relationshipType = bezugsKontaktRelation.getSrcRelationType(); if (relationshipType != null) { return relationshipType.getValue(); } } return 0; } @Override protected CellEditor getCellEditor(Object element) { return new ComboBoxCellEditor(tableViewer.getTable(), BezugsKontaktAuswahl.getBezugKontaktTypes(), SWT.NONE); } @Override protected boolean canEdit(Object element) { return allowEditing; } }); ; tableViewer .setInput(loadBezugKonkaktTypes(CoreHub.globalCfg.get(Patientenblatt2.CFG_BEZUGSKONTAKTTYPEN, ""))); return container; }