Project

General

Profile

Download (4.29 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
* Copyright (C) 2017 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
package eu.etaxonomy.taxeditor.editor.workingSet;
11

    
12
import java.util.UUID;
13

    
14
import javax.annotation.PostConstruct;
15
import javax.annotation.PreDestroy;
16
import javax.inject.Named;
17

    
18
import org.eclipse.e4.ui.di.Focus;
19
import org.eclipse.e4.ui.services.IServiceConstants;
20
import org.eclipse.jface.viewers.TreeViewer;
21
import org.eclipse.swt.SWT;
22
import org.eclipse.swt.custom.SashForm;
23
import org.eclipse.swt.dnd.DND;
24
import org.eclipse.swt.dnd.Transfer;
25
import org.eclipse.swt.layout.GridData;
26
import org.eclipse.swt.layout.GridLayout;
27
import org.eclipse.swt.widgets.Composite;
28
import org.eclipse.swt.widgets.Display;
29
import org.eclipse.swt.widgets.Shell;
30
import org.eclipse.ui.forms.widgets.FormToolkit;
31

    
32
import eu.etaxonomy.cdm.api.service.IFeatureTreeService;
33
import eu.etaxonomy.cdm.model.description.FeatureTree;
34
import eu.etaxonomy.taxeditor.featuretree.FeatureNodeTransfer;
35
import eu.etaxonomy.taxeditor.featuretree.FeatureTreeContentProvider;
36
import eu.etaxonomy.taxeditor.featuretree.FeatureTreeLabelProvider;
37
import eu.etaxonomy.taxeditor.featuretree.e4.FeatureTreeEditor;
38
import eu.etaxonomy.taxeditor.store.CdmStore;
39

    
40
/**
41
 * @author pplitzner
42
 * @date 24.05.2017
43
 *
44
 */
45
public class FeatureTreeBuilderViewPart {
46

    
47

    
48
    private TreeViewer treeViewerCharacters;
49
    private TreeViewer treeViewerProperties;
50
    private TreeViewer treeViewerStructures;
51
    private FeatureTreeEditor editor;
52
    private final FormToolkit formToolkit = new FormToolkit(Display.getDefault());
53

    
54
    public FeatureTreeBuilderViewPart() {
55
    }
56

    
57
    /**
58
     * Create contents of the view part.
59
     */
60
    @PostConstruct
61
    public void createControls(Composite parent, @Named(IServiceConstants.ACTIVE_SHELL)Shell shell) {
62
        parent.setLayout(new GridLayout(1, false));
63

    
64
        SashForm sashForm = new SashForm(parent, SWT.NONE);
65
        sashForm.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
66
        formToolkit.adapt(sashForm);
67
        formToolkit.paintBordersFor(sashForm);
68

    
69
        treeViewerStructures = new TreeViewer(sashForm, SWT.BORDER);
70

    
71
        treeViewerProperties = new TreeViewer(sashForm, SWT.BORDER);
72

    
73
//                editor = new FeatureTreeEditor(shell);
74
//                editor.createControl(sashForm, shell);
75
                treeViewerCharacters = new TreeViewer(sashForm, SWT.BORDER);
76
        sashForm.setWeights(new int[] {1, 1, 1});
77

    
78
        init();
79
    }
80

    
81
    private void init(){
82
        int dndOperations = DND.DROP_COPY | DND.DROP_MOVE;
83
        Transfer[] transfers = new Transfer[] { FeatureNodeTransfer.getInstance() };
84

    
85
        FeatureTree structureFeatureTree = CdmStore.getService(IFeatureTreeService.class).load(UUID.fromString("546e9c1e-d186-4e3b-838d-7e44586d1b39"));
86
        treeViewerStructures.setContentProvider(new FeatureTreeContentProvider());
87
        treeViewerStructures.setLabelProvider(new FeatureTreeLabelProvider());
88
        treeViewerStructures.setInput(structureFeatureTree);
89

    
90
        FeatureTree propertiesFeatureTree = CdmStore.getService(IFeatureTreeService.class).load(UUID.fromString("07543f00-1572-4ba8-b633-4fdb83fb32dd"));
91
        treeViewerProperties.setContentProvider(new FeatureTreeContentProvider());
92
        treeViewerProperties.setLabelProvider(new FeatureTreeLabelProvider());
93
        treeViewerProperties.addDragSupport(dndOperations, transfers, new CharacterDragListener(treeViewerStructures, treeViewerProperties));
94
        treeViewerProperties.setInput(propertiesFeatureTree);
95

    
96
        treeViewerCharacters.setContentProvider(new FeatureTreeContentProvider());
97
        treeViewerCharacters.setLabelProvider(new FeatureTreeLabelProvider());
98
        treeViewerCharacters.addDropSupport(dndOperations, transfers, new CharacterDropAdapter(treeViewerCharacters));
99
    }
100

    
101
    @PreDestroy
102
    public void dispose() {
103
    }
104

    
105
    @Focus
106
    public void setFocus() {
107
    }
108

    
109
    public TreeViewer getTreeViewerCharacters() {
110
        return treeViewerCharacters;
111
    }
112
    public TreeViewer getTreeViewerProperties() {
113
        return treeViewerProperties;
114
    }
115
    public TreeViewer getTreeViewerStructures() {
116
        return treeViewerStructures;
117
    }
118

    
119
}
(3-3/5)