Project

General

Profile

« Previous | Next » 

Revision a66ea40a

Added by Katja Luther over 4 years ago

ref #8737: add possibility to delete taxonnode wizard for only delete taxonnode

View differences:

eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/RemotingDeleteTaxonNodeHandlerE4.java
28 28

  
29 29
import eu.etaxonomy.cdm.api.service.config.NodeDeletionConfigurator.ChildHandling;
30 30
import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
31
import eu.etaxonomy.cdm.api.service.config.TaxonNodeDeletionConfigurator;
32 31
import eu.etaxonomy.cdm.model.taxon.Classification;
33 32
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
34 33
import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
......
115 114
            }
116 115

  
117 116
        }
118
            TaxonNodeDeletionConfigurator configNodes = new TaxonNodeDeletionConfigurator();
117

  
119 118
			if (containsClassification && !containsTaxonNodes) {
120 119
				String message;
121 120
				if (containsClassification && containsNodeWithChildren) {
......
145 144

  
146 145
                    if (result == 0){
147 146
                        //delete all children
148
                        configNodes.setChildHandling(ChildHandling.DELETE);
149
                        config.setTaxonNodeConfig(configNodes);
147
                        config.getTaxonNodeConfig().setChildHandling(ChildHandling.DELETE);
150 148
                    } else if (result == 1){
151 149
                        //move children
152
                        configNodes.setChildHandling(ChildHandling.MOVE_TO_PARENT);
153
                        config.setTaxonNodeConfig(configNodes);
150
                        config.getTaxonNodeConfig().setChildHandling(ChildHandling.MOVE_TO_PARENT);
154 151
                    } else {
155 152
                        return Status.CANCEL_STATUS;
156 153
                    }
......
166 163
                    int result = dialog.open();
167 164
                    if (result == 0){
168 165
                        //delete all children
169
                        configNodes.setChildHandling(ChildHandling.DELETE);
170
                        config.setTaxonNodeConfig(configNodes);
166

  
167
                        config.getTaxonNodeConfig().setChildHandling(ChildHandling.DELETE);
171 168
                    } else {
172 169
                        return Status.CANCEL_STATUS;
173 170
                    }
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/configurator/deleteConfigurator/DeleteTaxonBaseConfiguratorComposite.java
47 47

  
48 48
    private final FormToolkit toolkit = new FormToolkit(Display.getCurrent());
49 49
    protected final TaxonBaseDeletionConfigurator configurator;
50
    private final Button btnDeleteTaxonName;
50
    protected Button btnDeleteTaxonName;
51 51

  
52 52

  
53 53
    //name related
54
    private final Button btnRemoveAllNameRelationships;
55
    private final Button btnIgnoreIsBasionym;
56
    private final Button btnIgnoreIsReplacedSynonymFor;
57
    private final Button btnIgnoreHasBasionym;
58
    private final Button btnIgnoreHasReplacedSynonym;
59
    private final Button btnRemoveAllTypeDesignations;
54
    protected Button btnRemoveAllNameRelationships;
55
    protected Button btnIgnoreIsBasionym;
56
    protected Button btnIgnoreIsReplacedSynonymFor;
57
    protected Button btnIgnoreHasBasionym;
58
    protected Button btnIgnoreHasReplacedSynonym;
59
    protected Button btnRemoveAllTypeDesignations;
60 60

  
61 61
    private Combo classificationSelectionCombo;
62 62

  
......
83 83
        toolkit.paintBordersFor(this);
84 84
        setLayout(new GridLayout());
85 85
        setBackground(getBackground());
86
        createContent();
86 87

  
88
    }
89

  
90
    protected void createContent(){
87 91
        btnDeleteTaxonName = new Button(this, SWT.CHECK);
88 92
        btnDeleteTaxonName.setLayoutData(new GridData(SWT.LEFT, SWT.BOTTOM, false, false, 1, 1));
89 93
        btnDeleteTaxonName.setText("Delete name if possible");
......
95 99
                   GridData data = (GridData)  btnDeleteTaxonName.getLayoutData();
96 100
                   data.exclude = b.getSelection();
97 101
                   composite.setEnabled(data.exclude);
98
                   btnRemoveAllNameRelationships.setSelection(data.exclude);
99
                   btnIgnoreIsBasionym.setSelection(data.exclude);
100
                   btnIgnoreIsReplacedSynonymFor.setSelection(data.exclude);
101
                   btnIgnoreHasBasionym.setSelection(data.exclude);
102
                   btnIgnoreHasReplacedSynonym.setSelection(data.exclude);
103
                   btnRemoveAllTypeDesignations.setSelection(data.exclude);
102
                   btnRemoveAllNameRelationships.setEnabled(data.exclude);
103
                   btnIgnoreIsBasionym.setEnabled(data.exclude);
104
                   btnIgnoreIsReplacedSynonymFor.setEnabled(data.exclude);
105
                   btnIgnoreHasBasionym.setEnabled(data.exclude);
106
                   btnIgnoreHasReplacedSynonym.setEnabled(data.exclude);
107
                   btnRemoveAllTypeDesignations.setEnabled(data.exclude);
104 108
               }
105 109
        });
106 110

  
......
121 125
        //DeleteConfigurator for the name
122 126

  
123 127

  
124
        btnRemoveAllNameRelationships = new Button(composite, SWT.CHECK);
125
        GridData gd_btnRemoveAllNameRelationships = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
126
        gd_btnRemoveAllNameRelationships.horizontalIndent = 5;
127
        btnRemoveAllNameRelationships.setLayoutData(gd_btnRemoveAllNameRelationships);
128
        btnRemoveAllNameRelationships.setText("Remove all name relations");
129
        btnRemoveAllNameRelationships.setSelection(true);
130

  
131
                                                btnRemoveAllTypeDesignations = new Button(composite, SWT.CHECK);
132
                                                GridData gd_btnRemoveAllTypeDesignations = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
133
                                                gd_btnRemoveAllTypeDesignations.horizontalIndent = 5;
134
                                                btnRemoveAllTypeDesignations.setLayoutData(gd_btnRemoveAllTypeDesignations);
135
                                                btnRemoveAllTypeDesignations.setText("Remove all type designations");
136
                                                btnRemoveAllTypeDesignations.setSelection(true);
137

  
138
                                        Label lblDelete = new Label(composite, SWT.NONE);
139
                                        GridData gd_lblDelete = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
140
                                        gd_lblDelete.horizontalIndent = 5;
141
                                        lblDelete.setLayoutData(gd_lblDelete);
142
                                        toolkit.adapt(lblDelete, true, true);
143
                                        lblDelete.setText("delete even if ");
144

  
145
                                btnIgnoreHasReplacedSynonym = new Button(composite, SWT.CHECK);
146
                                GridData gd_btnIgnoreHasReplacedSynonym = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
147
                                gd_btnIgnoreHasReplacedSynonym.horizontalIndent = 10;
148
                                btnIgnoreHasReplacedSynonym.setLayoutData(gd_btnIgnoreHasReplacedSynonym);
149
                                btnIgnoreHasReplacedSynonym.setText("it has replaced synonym(s)");
150
                                btnIgnoreHasReplacedSynonym.setSelection(true);
128
                btnRemoveAllNameRelationships = new Button(composite, SWT.CHECK);
129
                GridData gd_btnRemoveAllNameRelationships = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
130
                gd_btnRemoveAllNameRelationships.horizontalIndent = 5;
131
                btnRemoveAllNameRelationships.setLayoutData(gd_btnRemoveAllNameRelationships);
132
                btnRemoveAllNameRelationships.setText("Remove all name relations");
133
                btnRemoveAllNameRelationships.setSelection(true);
134

  
135
                btnRemoveAllTypeDesignations = new Button(composite, SWT.CHECK);
136
                GridData gd_btnRemoveAllTypeDesignations = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
137
                gd_btnRemoveAllTypeDesignations.horizontalIndent = 5;
138
                btnRemoveAllTypeDesignations.setLayoutData(gd_btnRemoveAllTypeDesignations);
139
                btnRemoveAllTypeDesignations.setText("Remove all type designations");
140
                btnRemoveAllTypeDesignations.setSelection(true);
141

  
142
                Label lblDelete = new Label(composite, SWT.NONE);
143
                GridData gd_lblDelete = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
144
                gd_lblDelete.horizontalIndent = 5;
145
                lblDelete.setLayoutData(gd_lblDelete);
146
                toolkit.adapt(lblDelete, true, true);
147
                lblDelete.setText("delete even if ");
148

  
149
                        btnIgnoreHasReplacedSynonym = new Button(composite, SWT.CHECK);
150
                        GridData gd_btnIgnoreHasReplacedSynonym = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
151
                        gd_btnIgnoreHasReplacedSynonym.horizontalIndent = 10;
152
                        btnIgnoreHasReplacedSynonym.setLayoutData(gd_btnIgnoreHasReplacedSynonym);
153
                        btnIgnoreHasReplacedSynonym.setText("it has replaced synonym(s)");
154
                        btnIgnoreHasReplacedSynonym.setSelection(true);
151 155

  
152 156
                        btnIgnoreHasBasionym = new Button(composite, SWT.CHECK);
153 157
                        GridData gd_btnIgnoreHasBasionym = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
......
156 160
                        btnIgnoreHasBasionym.setText("it has basionym(s)");
157 161
                        btnIgnoreHasBasionym.setSelection(true);
158 162

  
159
                btnIgnoreIsReplacedSynonymFor = new Button(composite, SWT.CHECK);
160
                GridData gd_btnIgnoreIsReplacedSynonymFor = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
161
                gd_btnIgnoreIsReplacedSynonymFor.horizontalIndent = 10;
162
                btnIgnoreIsReplacedSynonymFor.setLayoutData(gd_btnIgnoreIsReplacedSynonymFor);
163
                btnIgnoreIsReplacedSynonymFor.setSelection(true);
164
                btnIgnoreIsReplacedSynonymFor.setText("it is a replaced synonym");
163
                        btnIgnoreIsReplacedSynonymFor = new Button(composite, SWT.CHECK);
164
                        GridData gd_btnIgnoreIsReplacedSynonymFor = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
165
                        gd_btnIgnoreIsReplacedSynonymFor.horizontalIndent = 10;
166
                        btnIgnoreIsReplacedSynonymFor.setLayoutData(gd_btnIgnoreIsReplacedSynonymFor);
167
                        btnIgnoreIsReplacedSynonymFor.setSelection(true);
168
                        btnIgnoreIsReplacedSynonymFor.setText("it is a replaced synonym");
165 169

  
166 170
        btnIgnoreIsBasionym = new Button(composite, SWT.CHECK);
167 171
        GridData gd_btnIgnoreIsBasionym = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
......
174 178

  
175 179
       // createClassificationSelectionCombo(this);
176 180
        initDataBindings();
177

  
178

  
179 181
    }
180 182

  
181 183
    protected void initDataBindings() {
182
        m_bindingContext = new DataBindingContext();
184
        if (m_bindingContext == null){
185
            m_bindingContext = new DataBindingContext();
186
        }
183 187
        //
184 188
        IObservableValue<?> observeSelectionBtnDeleteTaxonNameObserveWidget = WidgetProperties.selection().observe(btnDeleteTaxonName);
185 189
        IObservableValue<?> deleteNameIfPossibleConfiguratorObserveValue = PojoProperties.value("deleteNameIfPossible").observe(configurator);
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/dialog/configurator/deleteConfigurator/DeleteTaxonConfiguratorComposite.java
8 8
*/
9 9
package eu.etaxonomy.taxeditor.ui.dialog.configurator.deleteConfigurator;
10 10

  
11
import org.eclipse.core.databinding.DataBindingContext;
11 12
import org.eclipse.core.databinding.beans.PojoProperties;
12 13
import org.eclipse.core.databinding.observable.value.IObservableValue;
13 14
import org.eclipse.jface.databinding.swt.WidgetProperties;
14 15
import org.eclipse.swt.SWT;
16
import org.eclipse.swt.layout.GridData;
15 17
import org.eclipse.swt.widgets.Button;
16 18
import org.eclipse.swt.widgets.Composite;
19
import org.eclipse.swt.widgets.Event;
20
import org.eclipse.swt.widgets.Listener;
17 21

  
18
import eu.etaxonomy.cdm.api.service.config.TaxonBaseDeletionConfigurator;
22
import eu.etaxonomy.cdm.api.service.config.TaxonDeletionConfigurator;
23
import eu.etaxonomy.cdm.api.service.config.TaxonNodeDeletionConfigurator;
19 24

  
20 25
/**
21 26
 * @author k.luther
......
24 29
 */
25 30
public class DeleteTaxonConfiguratorComposite extends DeleteTaxonBaseConfiguratorComposite {
26 31

  
27
    private final Button btnDeleteSynonyms;
28
    private final Button btnDeleteMisappliedNamesAndInvalidDesignations;
29
    private final Button btnTaxonRelationships;
30
    private final Button btnConceptRelationships;
32
    private Button btnDeleteSynonyms;
33
    private Button btnDeleteMisappliedNamesAndInvalidDesignations;
34
    private Button btnTaxonRelationships;
35
    private Button btnConceptRelationships;
36

  
37
    private Button btnDeleteTaxon;
38

  
31 39
    /**
32 40
     * @param configurator
33 41
     * @param parent
34 42
     * @param style
35 43
     */
36
    public DeleteTaxonConfiguratorComposite(TaxonBaseDeletionConfigurator configurator, Composite parent, int style) {
44
    public DeleteTaxonConfiguratorComposite(TaxonDeletionConfigurator configurator, Composite parent, int style) {
37 45
        super(configurator, parent, style);
46
    }
47

  
48
    @Override
49
    protected void createContent(){
50
        btnDeleteTaxon = new Button(this, SWT.CHECK);
51
        btnDeleteTaxon.setText("Delete taxon if possible");
52
//        btnDeleteTaxon.setSelection(true);
53
        btnDeleteTaxon.addListener(SWT.Selection, new Listener() {
54
            @Override
55
         public void handleEvent(Event e) {
56
                Button b = (Button) e.widget;
57
                GridData data = (GridData)  btnDeleteTaxon.getLayoutData();
58
                data.exclude = b.getSelection();
59

  
60
                btnDeleteSynonyms.setEnabled(data.exclude);
61
                btnDeleteMisappliedNamesAndInvalidDesignations.setEnabled(data.exclude);
62
                btnTaxonRelationships.setEnabled(data.exclude);
63
                btnConceptRelationships.setEnabled(data.exclude);
64
                btnDeleteTaxonName.setEnabled(data.exclude);
65
                btnIgnoreHasBasionym.setEnabled(data.exclude);
66
                btnIgnoreHasReplacedSynonym.setEnabled(data.exclude);
67
                btnIgnoreIsBasionym.setEnabled(data.exclude);
68
                btnIgnoreIsReplacedSynonymFor.setEnabled(data.exclude);
69
                btnRemoveAllNameRelationships.setEnabled(data.exclude);
70
                btnRemoveAllTypeDesignations.setEnabled(data.exclude);
71

  
72
            }
73
        });
74

  
38 75
        btnDeleteSynonyms = new Button(this, SWT.CHECK);
76
        GridData gd_btnDeleteSynonyms = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
77
        gd_btnDeleteSynonyms.horizontalIndent = 10;
78
        btnDeleteSynonyms.setLayoutData(gd_btnDeleteSynonyms);
39 79
        btnDeleteSynonyms.setText("Delete synonyms if possible");
40 80
        btnDeleteSynonyms.setSelection(true);
41 81

  
42 82
        btnDeleteMisappliedNamesAndInvalidDesignations = new Button(this, SWT.CHECK);
83
        GridData gd_btnDeleteMisappliedNamesAndInvalidDesignations = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
84
        gd_btnDeleteMisappliedNamesAndInvalidDesignations.horizontalIndent = 10;
85
        btnDeleteMisappliedNamesAndInvalidDesignations.setLayoutData(gd_btnDeleteMisappliedNamesAndInvalidDesignations);
43 86
        btnDeleteMisappliedNamesAndInvalidDesignations.setText("Delete misapplied names and invalid designations if possible");
44 87
        btnDeleteMisappliedNamesAndInvalidDesignations.setSelection(true);
45 88

  
46 89

  
47 90
        btnTaxonRelationships = new Button(this, SWT.CHECK);
91
        GridData gd_btnTaxonRelationships = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
92
        gd_btnTaxonRelationships.horizontalIndent = 10;
93
        btnTaxonRelationships.setLayoutData(gd_btnTaxonRelationships);
48 94
        btnTaxonRelationships.setText("Delete taxon relations if possible");
49 95
        btnTaxonRelationships.setSelection(true);
50 96

  
51 97
        btnConceptRelationships = new Button(this, SWT.CHECK);
98
        GridData gd_btnConceptRelationships = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);
99
        gd_btnConceptRelationships.horizontalIndent = 10;
100
        btnConceptRelationships.setLayoutData(gd_btnConceptRelationships);
52 101
        btnConceptRelationships.setText("Delete concept relations if possible");
53 102
        btnConceptRelationships.setSelection(true);
103
        super.createContent();
54 104
        initDataBindingsTaxon();
55 105
    }
56 106

  
57 107
    protected void initDataBindingsTaxon() {
108
        if (m_bindingContext == null){
109
            m_bindingContext = new DataBindingContext();
110
        }
111
        TaxonNodeDeletionConfigurator nodeConfig = ((TaxonDeletionConfigurator)configurator).getTaxonNodeConfig();
112
        if (nodeConfig == null){
113
            nodeConfig = new TaxonNodeDeletionConfigurator();
114
            ((TaxonDeletionConfigurator)configurator).setTaxonNodeConfig(nodeConfig);
115
        }
116
        IObservableValue observeSelectionBtnDeleteTaxonObserveWidget = WidgetProperties.selection().observe(btnDeleteTaxon);
117
        IObservableValue deleteTaxonConfiguratorObserveValue = PojoProperties.value("deleteTaxon").observe(nodeConfig);
118
        m_bindingContext.bindValue(observeSelectionBtnDeleteTaxonObserveWidget, deleteTaxonConfiguratorObserveValue, null, null);
58 119

  
59 120
        IObservableValue observeSelectionBtnDeleteSynonymsObserveWidget = WidgetProperties.selection().observe(btnDeleteSynonyms);
60 121
        IObservableValue deleteSynonymsConfiguratorObserveValue = PojoProperties.value("deleteSynonymsIfPossible").observe(configurator);

Also available in: Unified diff