Project

General

Profile

Download (2.97 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
 * Copyright (C) 2007 EDIT
3
 * European Distributed Institute of Taxonomy
4
 * http://www.e-taxonomy.eu
5
 *
6
 * The contents of this file are subject to the Mozilla Public License Version 1.1
7
 * See LICENSE.TXT at the top of this package for the full license terms.
8
 */
9

    
10
package eu.etaxonomy.taxeditor.ui.section.occurrence;
11

    
12
import java.util.Collection;
13
import java.util.Collections;
14
import java.util.HashSet;
15
import java.util.UUID;
16

    
17
import org.eclipse.jface.viewers.AbstractTreeViewer;
18
import org.eclipse.jface.viewers.TreeViewer;
19
import org.eclipse.swt.widgets.Tree;
20

    
21
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
22
import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
23
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
24
import eu.etaxonomy.taxeditor.store.CdmStore;
25
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
26
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
27
import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
28
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
29
import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateContentProvider;
30
import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateLabelProvider;
31

    
32
/**
33
 * @author n.hoffmann
34
 * @created Dec 16, 2010
35
 * @version 1.0
36
 */
37
public class SpecimenHierarchyDetailElement extends AbstractCdmDetailElement<SpecimenOrObservationBase<?>> {
38

    
39
    /**
40
     * @param formFactory
41
     * @param formElement
42
     */
43
    public SpecimenHierarchyDetailElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
44
        super(formFactory, formElement);
45
    }
46

    
47
    /*
48
     * (non-Javadoc)
49
     *
50
     * @see
51
     * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
52
     * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
53
     */
54
    @Override
55
    protected void createControls(ICdmFormElement formElement, SpecimenOrObservationBase<?> entity, int style) {
56
        TreeViewer viewer = new TreeViewer(getLayoutComposite());
57
        DerivateLabelProvider labelProvider = new DerivateLabelProvider();
58
        Tree tree = viewer.getTree();
59

    
60
        labelProvider.setConversation(getConversationHolder());
61
        tree.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
62
        viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
63
        viewer.setContentProvider(new DerivateContentProvider());
64
        viewer.setLabelProvider(labelProvider);
65
        //get root (field unit)
66
        Collection<FieldUnit> fieldUnits = CdmStore.getService(IOccurrenceService.class).getFieldUnits(entity.getUuid());
67
        Collection<UUID> fieldUnitUuids = new HashSet<UUID>();
68
        for (FieldUnit fieldUnit : fieldUnits) {
69
            fieldUnitUuids.add(fieldUnit.getUuid());
70
        }
71
        viewer.setInput(Collections.singleton(fieldUnitUuids));
72

    
73
    }
74

    
75
    /*
76
     * (non-Javadoc)
77
     *
78
     * @see
79
     * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
80
     * .lang.Object)
81
     */
82
    @Override
83
    public void handleEvent(Object eventSource) {
84
    }
85

    
86
}
(35-35/36)