Project

General

Profile

« Previous | Next » 

Revision e598b1c7

Added by Katja Luther almost 8 years ago

changes to fix the checklist editor

View differences:

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