Project

General

Profile

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

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

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

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

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

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

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

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

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

    
74
    }
75

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

    
87
}
(35-35/36)