Project

General

Profile

Download (4.01 KB) Statistics
| Branch: | Tag: | Revision:
1
// $Id$
2
/**
3
* Copyright (C) 2019 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.view.search.term;
11

    
12
import org.eclipse.swt.SWT;
13
import org.eclipse.swt.custom.ScrolledComposite;
14
import org.eclipse.swt.layout.GridData;
15
import org.eclipse.swt.layout.GridLayout;
16
import org.eclipse.swt.widgets.Composite;
17
import org.eclipse.swt.widgets.Text;
18

    
19
/**
20
 * @author pplitzner
21
 * @date 22.01.2019
22
 *
23
 */
24
public class TermSearchComposite extends Composite {
25
    private Text txtSearch;
26
    private ScrolledComposite filterScrolledComposite;
27
    private Composite filterListComposite;
28
    private Composite searchResultComposite;
29
    private ScrolledComposite resultScrolledComposite;
30

    
31
    /**
32
     * Create the composite.
33
     * @param parent
34
     * @param style
35
     */
36
    public TermSearchComposite(Composite parent, int style) {
37
        super(parent, style);
38
        setLayout(new GridLayout(2, false));
39

    
40
        Composite filterComposite = new Composite(this, SWT.NONE);
41
        filterComposite.setLayout(new GridLayout(1, false));
42
        filterComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));
43

    
44
        txtSearch = new Text(filterComposite, SWT.BORDER);
45
        txtSearch.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 1, 1));
46

    
47
        filterScrolledComposite = new ScrolledComposite(filterComposite, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
48
        filterScrolledComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
49
        filterScrolledComposite.setExpandHorizontal(true);
50
        filterScrolledComposite.setExpandVertical(true);
51

    
52
        initFilterList();
53

    
54
        Composite composite_1 = new Composite(this, SWT.NONE);
55
        composite_1.setLayout(new GridLayout(1, false));
56
        composite_1.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
57

    
58
        resultScrolledComposite = new ScrolledComposite(composite_1, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
59
        resultScrolledComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 1));
60
        resultScrolledComposite.setExpandHorizontal(true);
61
        resultScrolledComposite.setExpandVertical(true);
62

    
63
        initSearchResultList();
64

    
65
    }
66

    
67
    private void initSearchResultList() {
68
        searchResultComposite = new Composite(resultScrolledComposite, SWT.NONE);
69
        searchResultComposite.setLayout(new GridLayout(1, false));
70
        resultScrolledComposite.setContent(searchResultComposite);
71
        resultScrolledComposite.setMinSize(searchResultComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
72
    }
73

    
74
    private void initFilterList() {
75
        filterListComposite = new Composite(filterScrolledComposite, SWT.NONE);
76
        filterListComposite.setLayout(new GridLayout(1, false));
77
        filterScrolledComposite.setContent(filterListComposite);
78
        filterScrolledComposite.setMinSize(filterListComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
79
    }
80

    
81
    @Override
82
    protected void checkSubclass() {
83
        // Disable the check that prevents subclassing of SWT components
84
    }
85
    public Text getTxtSearch() {
86
        return txtSearch;
87
    }
88

    
89
    public Composite getFilterListComposite() {
90
        return filterListComposite;
91
    }
92

    
93
    public void clear(){
94
        filterListComposite.dispose();
95
        initFilterList();
96

    
97
        clearResults();
98
    }
99

    
100
    public void clearResults() {
101
        searchResultComposite.dispose();
102
        initSearchResultList();
103
    }
104

    
105
    public void refresh(){
106
        filterScrolledComposite.layout(true, true);
107
        filterScrolledComposite.setMinSize(filterListComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
108
        resultScrolledComposite.layout(true, true);
109
        resultScrolledComposite.setMinSize(searchResultComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
110
    }
111
    public Composite getSearchResultComposite() {
112
        return searchResultComposite;
113
    }
114
}
(7-7/8)