Revision d956f204
Added by Patrick Plitzner over 4 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/SpecimenSelectionDialog.java | ||
---|---|---|
17 | 17 |
|
18 | 18 |
import org.eclipse.jface.dialogs.Dialog; |
19 | 19 |
import org.eclipse.jface.viewers.ArrayContentProvider; |
20 |
import org.eclipse.jface.viewers.ColumnLabelProvider; |
|
21 |
import org.eclipse.jface.viewers.ColumnViewerToolTipSupport; |
|
20 | 22 |
import org.eclipse.jface.viewers.IStructuredSelection; |
21 | 23 |
import org.eclipse.jface.viewers.ITableLabelProvider; |
22 |
import org.eclipse.jface.viewers.LabelProvider; |
|
23 | 24 |
import org.eclipse.jface.viewers.TableViewer; |
24 | 25 |
import org.eclipse.jface.viewers.TableViewerColumn; |
25 | 26 |
import org.eclipse.swt.SWT; |
... | ... | |
34 | 35 |
import org.eclipse.swt.widgets.Button; |
35 | 36 |
import org.eclipse.swt.widgets.Composite; |
36 | 37 |
import org.eclipse.swt.widgets.Control; |
37 |
import org.eclipse.swt.widgets.Label; |
|
38 | 38 |
import org.eclipse.swt.widgets.Shell; |
39 | 39 |
import org.eclipse.swt.widgets.Table; |
40 | 40 |
import org.eclipse.swt.widgets.Text; |
... | ... | |
66 | 66 |
private CharacterMatrix matrix; |
67 | 67 |
private Text txtTextFilter; |
68 | 68 |
|
69 |
// private TaxonNodeCombo comboTaxon; |
|
70 |
|
|
71 | 69 |
protected SpecimenSelectionDialog(Shell parentShell, CharacterMatrix matrix) { |
72 | 70 |
super(parentShell); |
73 | 71 |
this.matrix = matrix; |
... | ... | |
81 | 79 |
|
82 | 80 |
Composite composite_1 = new Composite(composite, SWT.NONE); |
83 | 81 |
composite_1.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 1, 1)); |
84 |
composite_1.setLayout(new GridLayout(2, false)); |
|
85 |
|
|
86 |
Label lblNewLabel = new Label(composite_1, SWT.NONE); |
|
87 |
lblNewLabel.setText("Refresh"); |
|
88 |
|
|
89 |
// FIXME temporary disabled taxon filter because of performance issues |
|
90 |
// comboTaxon = new TaxonNodeCombo(composite_1, SWT.NONE); |
|
91 |
// comboTaxon.setInput(matrix.getDescriptiveDataSet().getTaxonSubtreeFilter()); |
|
92 |
// comboTaxon.addSelectionChangedListener(e->applyFilter()); |
|
82 |
composite_1.setLayout(new GridLayout(4, false)); |
|
93 | 83 |
|
94 | 84 |
txtTextFilter = new Text(composite_1, SWT.BORDER); |
95 |
txtTextFilter.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
|
|
85 |
txtTextFilter.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1));
|
|
96 | 86 |
txtTextFilter.setText(TEXT_FILTER_DEFAULT); |
97 | 87 |
txtTextFilter.addFocusListener(new FocusListener() { |
98 | 88 |
|
... | ... | |
140 | 130 |
columnTaxon.getColumn().setWidth(200); |
141 | 131 |
columnTaxon.getColumn().setResizable(true); |
142 | 132 |
columnTaxon.getColumn().setMoveable(true); |
133 |
TableViewerColumn columnType = new TableViewerColumn(list, SWT.NONE); |
|
134 |
columnType.getColumn().setText("Type"); |
|
135 |
columnType.getColumn().setWidth(150); |
|
136 |
columnType.getColumn().setResizable(true); |
|
137 |
columnType.getColumn().setMoveable(true); |
|
143 | 138 |
TableViewerColumn columnSpecimen = new TableViewerColumn(list, SWT.NONE); |
144 | 139 |
columnSpecimen.getColumn().setText("Specimen"); |
145 | 140 |
columnSpecimen.getColumn().setResizable(true); |
146 | 141 |
columnSpecimen.getColumn().setMoveable(true); |
147 | 142 |
columnSpecimen.getColumn().setWidth(400); |
143 |
|
|
148 | 144 |
table.setHeaderVisible(true); |
149 | 145 |
table.setLinesVisible(true); |
150 | 146 |
scrolledComposite.setContent(table); |
... | ... | |
161 | 157 |
|
162 | 158 |
columnSpecimen.getColumn().pack(); |
163 | 159 |
|
160 |
// enable tooltips |
|
161 |
columnSpecimen.setLabelProvider(new SpecimenListLabelProvider()); |
|
162 |
ColumnViewerToolTipSupport.enableFor(columnSpecimen.getViewer()); |
|
163 |
|
|
164 | 164 |
return composite; |
165 | 165 |
} |
166 | 166 |
|
... | ... | |
172 | 172 |
result = new ArrayList<>(specimenCache); |
173 | 173 |
} |
174 | 174 |
else{ |
175 |
// if(comboTaxon.getSelection()!=null){ |
|
176 |
// result.addAll(specimenCache.stream() |
|
177 |
// .filter(wrapper->wrapper.getTaxonNode().equals(comboTaxon.getSelection())) |
|
178 |
// .collect(Collectors.toList())); |
|
179 |
// } |
|
180 | 175 |
if(!txtTextFilter.getForeground().equals(AbstractUtility.getColor(Resources.SEARCH_VIEW_FOREGROUND)) |
181 | 176 |
&&!CdmUtils.isBlank(text)){ |
182 | 177 |
result.addAll(specimenCache.stream() |
... | ... | |
240 | 235 |
return selectedSpecimens; |
241 | 236 |
} |
242 | 237 |
|
243 |
private class SpecimenListLabelProvider extends LabelProvider implements ITableLabelProvider{ |
|
238 |
private class SpecimenListLabelProvider extends ColumnLabelProvider implements ITableLabelProvider { |
|
239 |
|
|
240 |
@Override |
|
241 |
public String getToolTipText(Object element) { |
|
242 |
if(element instanceof SpecimenNodeWrapper |
|
243 |
&& !((SpecimenNodeWrapper) element).isIndividualsAssociation()){ |
|
244 |
return "Does not have and IndividualsAssociation with the taxon"; |
|
245 |
} |
|
246 |
return null; |
|
247 |
} |
|
244 | 248 |
|
245 | 249 |
@Override |
246 | 250 |
public Image getColumnImage(Object element, int columnIndex) { |
251 |
if(element instanceof SpecimenNodeWrapper && columnIndex == 2 |
|
252 |
&& !((SpecimenNodeWrapper) element).isIndividualsAssociation()){ |
|
253 |
return ImageResources.getImage(ImageResources.WARNING_ICON); |
|
254 |
} |
|
247 | 255 |
return null; |
248 | 256 |
} |
249 | 257 |
|
... | ... | |
255 | 263 |
case 0: |
256 | 264 |
return wrapper.getTaxonNode().getTaxon().getName().getTitleCache(); |
257 | 265 |
case 1: |
266 |
return wrapper.getType().getMessage(); |
|
267 |
case 2: |
|
258 | 268 |
return wrapper.getUuidAndTitleCache().getTitleCache(); |
259 | 269 |
default: |
260 | 270 |
break; |
Also available in: Unified diff
ref #8450 Show recordBasis and isIndividualsAssociation in table