Project

General

Profile

« Previous | Next » 

Revision 076adbba

Added by Patrick Plitzner over 5 years ago

ref #7589 Check dirty state before executing handler or button actions

View differences:

eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/CharacterMatrix.java
657 657
        part.setDirty();
658 658
    }
659 659

  
660
    public CharacterMatrixPart getPart() {
661
        return part;
662
    }
663

  
660 664
    public NatTable getNatTable() {
661 665
        return natTable;
662 666
    }
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/CharacterMatrixBottomToolbar.java
43 43
import eu.etaxonomy.taxeditor.model.ImageResources;
44 44
import eu.etaxonomy.taxeditor.model.MessagingUtils;
45 45
import eu.etaxonomy.taxeditor.store.CdmStore;
46
import eu.etaxonomy.taxeditor.store.StoreUtil;
46 47
import eu.etaxonomy.taxeditor.ui.dialog.selection.TaxonSelectionDialog;
47 48

  
48 49
/**
......
74 75
        btnAddDescription.addSelectionListener(new SelectionAdapter() {
75 76
            @Override
76 77
            public void widgetSelected(SelectionEvent e) {
78
                if(StoreUtil.checkDirty(matrix.getPart())){
79
                    return;
80
                }
77 81
                String error = "";
78 82
                SpecimenSelectionDialog dialog = new SpecimenSelectionDialog(matrix.getShell(), matrix);
79 83
                if(dialog.open()==Window.OK){
......
111 115
        btnRemoveDescription.addSelectionListener(new SelectionAdapter() {
112 116
            @Override
113 117
            public void widgetSelected(SelectionEvent e) {
118
                if(StoreUtil.checkDirty(matrix.getPart())){
119
                    return;
120
                }
114 121
                int[] fullySelectedRowPositions = matrix.getBodyLayer().getSelectionLayer().getFullySelectedRowPositions();
115 122
                List<RowWrapperDTO> toRemove = new ArrayList<>();
116 123
                for (int i : fullySelectedRowPositions) {
......
134 141
        btnAggregate.addSelectionListener(new SelectionAdapter() {
135 142
            @Override
136 143
            public void widgetSelected(SelectionEvent e) {
144
                if(StoreUtil.checkDirty(matrix.getPart())){
145
                    return;
146
                }
137 147
                List<TaxonNode> taxonSubtreeFilter = CdmStore.getService(IDescriptiveDataSetService.class).loadFilteredTaxonNodes(matrix.getDescriptiveDataSet(), null);
138 148
                List<TaxonNodeDto> nodeDtos = taxonSubtreeFilter.stream()
139 149
                        .map(node -> new TaxonNodeDto(node)).collect(Collectors.toList());
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/handler/CreateTaxonDescriptionHandler.java
25 25
import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
26 26
import eu.etaxonomy.taxeditor.editor.descriptiveDataSet.matrix.CharacterMatrixPart;
27 27
import eu.etaxonomy.taxeditor.store.CdmStore;
28
import eu.etaxonomy.taxeditor.store.StoreUtil;
28 29

  
29 30
/**
30 31
 * @author pplitzner
......
36 37
    @Execute
37 38
    public void execute(@Named(IServiceConstants.ACTIVE_PART)MPart activePart, UISynchronize sync) {
38 39
        CharacterMatrixPart matrixPart = (CharacterMatrixPart) activePart.getObject();
40
        if(StoreUtil.checkDirty(matrixPart)){
41
            return;
42
        }
39 43
        DescriptiveDataSet descriptiveDataSet = matrixPart.getDescriptiveDataSet();
40 44
        TaxonNodeDto node = (TaxonNodeDto) matrixPart.getSelection().getFirstElement();
41 45
        TaxonRowWrapperDTO taxonRowWrapperDTO = CdmStore.getService(IDescriptiveDataSetService.class)

Also available in: Unified diff