Revision e598b1c7
Added by Katja Luther almost 8 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/checklist/ChecklistEditor.java | ||
---|---|---|
99 | 99 |
*/ |
100 | 100 |
private static final String CHECKLIST_EDITOR_MEMENTO_KEY = "checklistEditor"; |
101 | 101 |
|
102 |
|
|
103 |
|
|
104 |
|
|
102 | 105 |
private class ChecklistJob extends Job { |
103 | 106 |
|
104 | 107 |
private List<TaxonNode> taxonNodes; |
... | ... | |
110 | 113 |
super(title); |
111 | 114 |
this.taxonNodes = listTaxonNodes; |
112 | 115 |
|
116 |
|
|
113 | 117 |
} |
114 | 118 |
|
115 | 119 |
/* |
... | ... | |
187 | 191 |
|
188 | 192 |
private final ICdmEntitySession cdmEntitySession; |
189 | 193 |
|
194 |
private ChecklistLabelProvider labelProvider; |
|
195 |
|
|
190 | 196 |
private SortedSet<DefinedTermBase> terms = null; |
191 | 197 |
private ToolItem toolItem; |
192 | 198 |
private ChecklistDropdownSelectionListener dropListener; |
... | ... | |
213 | 219 |
*/ |
214 | 220 |
public ChecklistEditor() { |
215 | 221 |
cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true); |
222 |
|
|
216 | 223 |
} |
217 | 224 |
|
218 | 225 |
/** {@inheritDoc} */ |
... | ... | |
222 | 229 |
taxonNodeService = CdmStore.getService(ITaxonNodeService.class); |
223 | 230 |
selectionService = getSite().getWorkbenchWindow().getSelectionService(); |
224 | 231 |
selectionService.addSelectionListener(this); |
232 |
viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); |
|
233 |
labelProvider = new ChecklistLabelProvider(this.viewer); |
|
234 |
terms = labelProvider.getNamedAreas(); |
|
225 | 235 |
filter = new ChecklistEditorFilter(); |
226 |
ChecklistLabelProvider labelProvider = new ChecklistLabelProvider(); |
|
227 |
terms = (SortedSet<DefinedTermBase>) labelProvider.getTermsOrderedByLabels(labelProvider.getNamedAreas(), |
|
228 |
CdmStore.getDefaultLanguage()); |
|
229 | 236 |
createTopComposite(parent); |
230 | 237 |
loadDataInput(); |
231 | 238 |
} |
... | ... | |
241 | 248 |
|
242 | 249 |
final Text searchText = createSearchBar(parent); |
243 | 250 |
createToolbar(parent); |
244 |
viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION); |
|
251 |
|
|
245 | 252 |
getSite().setSelectionProvider(viewer); |
246 | 253 |
|
247 | 254 |
final ModifyListener modifyListener = new ChecklistModifyListener(viewer, filter, searchText); |
... | ... | |
254 | 261 |
createTable(); |
255 | 262 |
|
256 | 263 |
viewer.setContentProvider(new ChecklistContentProvider()); |
257 |
viewer.setLabelProvider(new ChecklistLabelProvider(viewer));
|
|
264 |
viewer.setLabelProvider(this.labelProvider);
|
|
258 | 265 |
comparator = new ChecklistEditorComparator(); |
259 | 266 |
viewer.setComparator(comparator); |
260 | 267 |
|
... | ... | |
351 | 358 |
column.getColumn().setResizable(true); |
352 | 359 |
column.getColumn().setMoveable(true); |
353 | 360 |
column.getColumn().addSelectionListener(getSelectionAdapter(column.getColumn(), columnIndex)); |
354 |
if (columnIndex == 1) {
|
|
361 |
if (columnIndex == 0) {
|
|
355 | 362 |
table.setSortColumn(column.getColumn()); |
356 | 363 |
} |
357 | 364 |
if (columnIndex == 2) { |
358 | 365 |
/** uncommented it for now because no rank editing is wanted **/ |
359 | 366 |
// column.setEditingSupport(new RankEditingSupport(viewer, this)); |
360 | 367 |
} |
361 |
if (columnIndex >= 4) {
|
|
368 |
if (columnIndex >= 3) {
|
|
362 | 369 |
//read PrefrenceStore to setWidth according to last saved state |
363 | 370 |
if(restoreValuesForColumnWidth.get(columnIndex)){ |
364 | 371 |
column.getColumn().setWidth(100); |
365 | 372 |
}else{ |
366 |
column.getColumn().setWidth(0); |
|
373 |
column.getColumn().setWidth(100);
|
|
367 | 374 |
} |
368 | 375 |
column.setEditingSupport(new DistributionEditingSupport(viewer, this, columnIndex)); |
369 | 376 |
} |
... | ... | |
383 | 390 |
List<Integer> bounds) { |
384 | 391 |
Map<Integer, Boolean> restoreColumnWidth = new HashMap<Integer, Boolean>(); |
385 | 392 |
if (terms != null) { |
386 |
int columnIndex = 4;
|
|
393 |
int columnIndex = 3;
|
|
387 | 394 |
for (DefinedTermBase<DefinedTermBase> term : terms) { |
388 | 395 |
if(term != null){ |
389 | 396 |
restoreColumnWidth.put(columnIndex, PreferencesUtil.getPreferenceStore().getBoolean(term.getUuid().toString())); |
390 |
titles.add(term.getTitleCache()); |
|
397 |
if (PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){ |
|
398 |
if (term.getIdInVocabulary() != null){ |
|
399 |
titles.add(term.getIdInVocabulary()); |
|
400 |
} else{ |
|
401 |
titles.add(term.getTitleCache()); |
|
402 |
} |
|
403 |
}else{ |
|
404 |
titles.add(term.getTitleCache()); |
|
405 |
} |
|
391 | 406 |
bounds.add(200); |
392 | 407 |
columnIndex++; |
393 | 408 |
} |
... | ... | |
427 | 442 |
TaxonNode taxonNode = checklistEditorInput.getTaxonNode(); |
428 | 443 |
if (classification != null && taxonNode == null) { |
429 | 444 |
countNodes = taxonNodeService.countAllNodesForClassification(classification); |
430 |
statusLabel.setText("Anzahl der Elemente: " + (countNodes != null ? countNodes : "uknown")); |
|
445 |
statusLabel.setText("Anzahl der Elemente: " + (countNodes != null ? countNodes : "unknown"));
|
|
431 | 446 |
// This should not kill the view nor the editor if something goes |
432 | 447 |
// wrong |
433 | 448 |
// TODO: don't load the whole taxonNode Object but rather a small |
... | ... | |
505 | 520 |
Table table = viewer.getTable(); |
506 | 521 |
table.setRedraw(false); |
507 | 522 |
SortedSet<DefinedTermBase> oldTerms = terms; |
508 |
ChecklistLabelProvider labelProvider = new ChecklistLabelProvider(); |
|
509 |
terms = (SortedSet<DefinedTermBase>) labelProvider.getTermsOrderedByLabels(labelProvider.getNamedAreas(), CdmStore.getDefaultLanguage()); |
|
510 |
SortedSet<DefinedTermBase> newTerms = terms; |
|
523 |
|
|
524 |
// if (PreferencesUtil.isShowIdInVocabularyInChecklistEditor()){ |
|
525 |
// |
|
526 |
// } else{ |
|
527 |
// terms = (SortedSet<DefinedTermBase>) labelProvider.getTermsOrderedByLabels(labelProvider.getNamedAreas(), CdmStore.getDefaultLanguage()); |
|
528 |
// } |
|
529 |
SortedSet<DefinedTermBase> newTerms = labelProvider.getNamedAreas(); |
|
511 | 530 |
toolItem.removeSelectionListener(dropListener); |
512 | 531 |
hideDistributionColumns(oldTerms); |
513 | 532 |
createToolbarItems(); |
... | ... | |
517 | 536 |
addTableViewerColumn(term.getTitleCache(), 200, count); |
518 | 537 |
acitivateNewColumnInDropDownMenu(term); |
519 | 538 |
} |
520 |
viewer.setLabelProvider(new ChecklistLabelProvider(viewer));
|
|
539 |
viewer.setLabelProvider(labelProvider);
|
|
521 | 540 |
getService().schedule(new ChecklistJob("loading Taxa", selectedTaxonNodes), Job.LONG); |
522 | 541 |
table.setRedraw(true); |
523 | 542 |
viewer.refresh(); |
... | ... | |
793 | 812 |
// TODO Auto-generated method stub |
794 | 813 |
return null; |
795 | 814 |
} |
815 |
|
|
816 |
/** |
|
817 |
* @return the labelProvider |
|
818 |
*/ |
|
819 |
public ChecklistLabelProvider getLabelProvider() { |
|
820 |
return labelProvider; |
|
821 |
} |
|
796 | 822 |
} |
Also available in: Unified diff
changes to fix the checklist editor