Project

General

Profile

« Previous | Next » 

Revision 73f6a95e

Added by Patrick Plitzner over 6 years ago

ref #7086 Selection listening for dirty state changes

View differences:

eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/workingSet/WorkingSetEditor.java
25 25
import org.eclipse.e4.ui.model.application.ui.MDirtyable;
26 26
import org.eclipse.e4.ui.services.IServiceConstants;
27 27
import org.eclipse.swt.SWT;
28
import org.eclipse.swt.events.SelectionEvent;
29
import org.eclipse.swt.events.SelectionListener;
30 28
import org.eclipse.swt.widgets.Composite;
31 29
import org.eclipse.swt.widgets.Display;
32 30
import org.eclipse.swt.widgets.Shell;
......
45 43
import eu.etaxonomy.cdm.model.taxon.Taxon;
46 44
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
47 45
import eu.etaxonomy.taxeditor.store.CdmStore;
46
import eu.etaxonomy.taxeditor.ui.dialog.selection.NamedAreaSelectionDialog;
48 47
import eu.etaxonomy.taxeditor.ui.dialog.selection.WorkingSetSelectionDialog;
49 48
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
50 49
import eu.etaxonomy.taxeditor.workbench.part.IE4SavablePart;
......
75 74
        }
76 75
        CdmFormFactory cdmFormFactory = new CdmFormFactory(Display.getCurrent());
77 76
        ContextInjectionFactory.inject(cdmFormFactory, context);
77

  
78

  
78 79
        composite = new WorkingSetComposite(parent, SWT.NONE);
79 80

  
80 81
        //TODO remove with correct dirty handling
81 82
        dirty.setDirty(true);
82 83

  
83
        composite.getBtnOpenWorkingSet().addSelectionListener(new SelectionListener() {
84
            @Override
85
            public void widgetSelected(SelectionEvent e) {
86
                WorkingSetEditor.this.workingSet = WorkingSetSelectionDialog.select(shell, null);
84
        //add listeners
85
        composite.getTxt_label().addModifyListener(event->dirty.setDirty(true));
86
        composite.getRankMin().addSelectionChangedListener(event->dirty.setDirty(true));
87
        composite.getRankMax().addSelectionChangedListener(event->dirty.setDirty(true));
88
        composite.getBtnOpenWorkingSet().addListener(SWT.MouseDown, event->{
89
            workingSet = WorkingSetSelectionDialog.select(shell, null);
90
            if(workingSet!=null){
87 91
                init();
88 92
            }
89

  
90
            @Override
91
            public void widgetDefaultSelected(SelectionEvent e) {
93
        });
94
        composite.getTextAreaText().addListener(SWT.MouseDown, event->{
95
            NamedArea area = NamedAreaSelectionDialog.select(shell, null, null);
96
            if(area!=null){
97
                composite.setArea(area);
92 98
            }
99
            dirty.setDirty(true);
93 100
        });
94 101
    }
95 102

  
96 103
    public void init() {
97 104
        if(workingSet.getTitleCache()!=null){
98 105
            composite.getTxt_label().setText(workingSet.getTitleCache());
106
            composite.getLblWorkingSet().setText(workingSet.getTitleCache());
99 107
        }
100 108
        if(workingSet.getDescriptiveSystem()!=null){
101 109
            composite.setCharacters(workingSet.getDescriptiveSystem());

Also available in: Unified diff