Project

General

Profile

Download (5.01 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2018 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
package eu.etaxonomy.taxeditor.editor.view.checklist.e4;
10

    
11
import org.eclipse.nebula.widgets.nattable.config.AbstractRegistryConfiguration;
12
import org.eclipse.nebula.widgets.nattable.config.CellConfigAttributes;
13
import org.eclipse.nebula.widgets.nattable.config.IConfigRegistry;
14
import org.eclipse.nebula.widgets.nattable.edit.EditConfigAttributes;
15
import org.eclipse.nebula.widgets.nattable.edit.editor.ComboBoxCellEditor;
16
import org.eclipse.nebula.widgets.nattable.filterrow.FilterRowDataLayer;
17
import org.eclipse.nebula.widgets.nattable.filterrow.FilterRowTextCellEditor;
18
import org.eclipse.nebula.widgets.nattable.filterrow.TextMatchingMode;
19
import org.eclipse.nebula.widgets.nattable.filterrow.config.FilterRowConfigAttributes;
20
import org.eclipse.nebula.widgets.nattable.style.DisplayMode;
21

    
22
import eu.etaxonomy.taxeditor.editor.descriptiveDataSet.matrix.supplementalInfo.SupplementalInfoDisplayConverter;
23

    
24
/**
25
 * @author k.luther
26
 * @since 13.12.2018
27
 *
28
 */
29
public class FilterRowConfiguration extends AbstractRegistryConfiguration {
30

    
31
    DistributionEditor editor;
32

    
33
        /**
34
     * @param distributionEditor
35
     */
36
    public FilterRowConfiguration(DistributionEditor distributionEditor) {
37
        editor = distributionEditor;
38
    }
39

    
40
        @Override
41
        public void configureRegistry(IConfigRegistry configRegistry) {
42

    
43
            // register the FilterRowTextCellEditor in the first column which
44
            // immediately commits on key press
45
            configRegistry.registerConfigAttribute(
46
                    EditConfigAttributes.CELL_EDITOR,
47
                    new FilterRowTextCellEditor(),
48
                    DisplayMode.NORMAL,
49
                    FilterRowDataLayer.FILTER_ROW_COLUMN_LABEL_PREFIX + 1);
50

    
51
            configRegistry.registerConfigAttribute(
52
                    FilterRowConfigAttributes.TEXT_MATCHING_MODE,
53
                    TextMatchingMode.CONTAINS,
54
                    DisplayMode.NORMAL,
55
                    FilterRowDataLayer.FILTER_ROW_COLUMN_LABEL_PREFIX + 1);
56

    
57
            configRegistry.registerConfigAttribute(
58
                    CellConfigAttributes.DISPLAY_CONVERTER,
59
                    new SupplementalInfoDisplayConverter(),
60
                    DisplayMode.NORMAL,
61
                    FilterRowDataLayer.FILTER_ROW_COLUMN_LABEL_PREFIX + 1);
62

    
63

    
64
            // Register a combo box editor to be displayed in the filter row
65
            // cell when a value is selected from the combo, the object is
66
            // converted to a string using the converter (registered below)
67

    
68
            for (int i = 1; i <= editor.areas.size(); ++i) {
69
                configRegistry.registerConfigAttribute(
70
                        EditConfigAttributes.CELL_EDITOR,
71
                        new ComboBoxCellEditor(StatusComboBoxDataProvider.getValues()),
72
                        DisplayMode.NORMAL,
73
                        FilterRowDataLayer.FILTER_ROW_COLUMN_LABEL_PREFIX + i);
74

    
75

    
76

    
77
            configRegistry.registerConfigAttribute(
78
                    FilterRowConfigAttributes.FILTER_DISPLAY_CONVERTER,
79
                    new StatusDisplayConverter(),
80
                    DisplayMode.NORMAL,
81
                    FilterRowDataLayer.FILTER_ROW_COLUMN_LABEL_PREFIX+i);
82

    
83
            configRegistry.registerConfigAttribute(
84
                    CellConfigAttributes.DISPLAY_CONVERTER,
85
                    new StatusDisplayConverter(),
86
                    DisplayMode.NORMAL,
87
                    DistributionEditorConfigLabelAccumulator.STATUS);
88

    
89
            }
90

    
91

    
92
//            // register the FilterRowTextCellEditor in the first column which
93
//            // immediately commits on key press
94
//            configRegistry.registerConfigAttribute(
95
//                    EditConfigAttributes.CELL_EDITOR,
96
//                    new FilterRowTextCellEditor(),
97
//                    DisplayMode.NORMAL,
98
//                    FilterRowDataLayer.FILTER_ROW_COLUMN_LABEL_PREFIX
99
//                            + DistributionEditorConfigLabelAccumulator.STATUS);
100
//
101
//            configRegistry.registerConfigAttribute(
102
//                    FilterRowConfigAttributes.TEXT_MATCHING_MODE,
103
//                    TextMatchingMode.CONTAINS,
104
//                    DisplayMode.NORMAL,
105
//                    FilterRowDataLayer.FILTER_ROW_COLUMN_LABEL_PREFIX
106
//                    + DistributionEditorConfigLabelAccumulator.STATUS);
107
//
108
//            configRegistry.registerConfigAttribute(
109
//                    CellConfigAttributes.DISPLAY_CONVERTER,
110
//                    new StatusDisplayConverter(),
111
//                    DisplayMode.NORMAL,
112
//                    FilterRowDataLayer.FILTER_ROW_COLUMN_LABEL_PREFIX
113
//                    + DistributionEditorConfigLabelAccumulator.STATUS);
114

    
115

    
116

    
117

    
118

    
119
            configRegistry.registerConfigAttribute(
120
                    FilterRowConfigAttributes.TEXT_DELIMITER, "&"); //$NON-NLS-1$
121

    
122
        }
123

    
124
}
(14-14/19)