Project

General

Profile

« Previous | Next » 

Revision b752be34

Added by Patrick Plitzner about 6 years ago

ref #6786 Fix dirty state when editing feature tree title cache

View differences:

eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/workingSet/WorkingSetComposite.java
141 141
        return featureTreeEditorComposite.getFeatureTree();
142 142
    }
143 143
    public void setCharacters(FeatureTree characters) {
144
        featureTreeEditorComposite.setSelectedTree(characters, null);
144
        featureTreeEditorComposite.setSelectedTree(characters);
145 145
    }
146 146

  
147 147
    public TreeViewer getTaxonNodeTree() {
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/workingSet/WorkingSetEditor.java
141 141
            }
142 142
        });
143 143

  
144
        composite.getFeatureTreeEditorComposite().init(null, null, e->selectionService.setSelection(e.getSelection()), null);
144
        composite.getFeatureTreeEditorComposite().init(null, null, e->selectionService.setSelection(e.getSelection()), null, null);
145 145

  
146 146
        //add drag'n'drop support
147 147
        Transfer[] transfers = new Transfer[] {LocalSelectionTransfer.getTransfer()};
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/workingSet/character/CharacterEditor.java
42 42
import org.eclipse.swt.widgets.Button;
43 43
import org.eclipse.swt.widgets.Composite;
44 44
import org.eclipse.swt.widgets.Display;
45
import org.eclipse.swt.widgets.Text;
45 46
import org.eclipse.ui.forms.widgets.FormToolkit;
46 47

  
47 48
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
......
175 176
    private void initFeatureTreeComposite(FeatureTreeEditorComposite featureTreeEditorComposite,
176 177
            FeatureNodeDragListener featureNodeDragListener, FeatureNodeDropAdapter featureNodeDropAdapter) {
177 178
        featureTreeEditorComposite.init(featureNodeDragListener, featureNodeDropAdapter, this,
178
                new FeatureTreeChooserListener(featureTreeEditorComposite));
179
                new FeatureTreeChooserListener(featureTreeEditorComposite), this);
179 180
    }
180 181

  
181 182
    @Focus
......
313 314
     */
314 315
    @Override
315 316
    public void modifyText(ModifyEvent e) {
316
        characterTreeEditorComposite.getFeatureTree().setTitleCache(characterTreeEditorComposite.getText_title().getText(), true);
317
        characterTreeEditorComposite.getFeatureTree().setTitleCache(((Text) e.widget).getText(), true);
317 318
        setDirty();
318 319
    }
319 320

  
......
350 351
            FeatureTree tree = FeatureTreeSelectionDialog.select(featureTreeEditorComposite.getDisplay().getActiveShell(), //conversation,
351 352
                    null);
352 353
            if(tree!=null){
353
                featureTreeEditorComposite.setSelectedTree(tree, CharacterEditor.this);
354
                featureTreeEditorComposite.setSelectedTree(tree);
354 355
                featureTreeEditorComposite.getText_title().setEnabled(false);
355 356
            }
356 357
        }
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/FeatureTreeEditor.java
38 38
import org.eclipse.swt.events.SelectionAdapter;
39 39
import org.eclipse.swt.events.SelectionEvent;
40 40
import org.eclipse.swt.widgets.Composite;
41
import org.eclipse.swt.widgets.Text;
41 42
import org.eclipse.ui.IMemento;
42 43

  
43 44
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
......
118 119
                        FeatureTree tree = FeatureTreeSelectionDialog.select(composite.getDisplay().getActiveShell(), //conversation,
119 120
                                null);
120 121
                        if (tree != null) {
121
                            composite.setSelectedTree(tree, FeatureTreeEditor.this);
122
                            composite.setSelectedTree(tree);
122 123
                        }
123 124
                    }
124
                });
125
                }, this);
125 126

  
126 127
        //create context menu
127 128
        menuService.registerContextMenu(composite.getViewer().getControl(), "eu.etaxonomy.taxeditor.store.popupmenu.featureTreeEditor");
......
142 143
	/** {@inheritDoc} */
143 144
	@Override
144 145
	public void modifyText(ModifyEvent e) {
145
	    composite.getFeatureTree().setTitleCache(composite.getText_title().getText(), true);
146
	    composite.getFeatureTree().setTitleCache(((Text) e.widget).getText(), true);
146 147
		setDirty(true);
147 148
	}
148 149

  
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/featuretree/e4/FeatureTreeEditorComposite.java
84 84

  
85 85
    public void init(DragSourceListener dragSourceListener, DropTargetListener dropTargetListener,
86 86
            ISelectionChangedListener viewerSelectionChangedListener,
87
            SelectionListener openFeatureTreeSelectionListener) {
87
            SelectionListener openFeatureTreeSelectionListener,
88
            ModifyListener textModifyListener) {
88 89
        viewer.setContentProvider(new FeatureTreeContentProvider());
89 90
        viewer.setLabelProvider(new FeatureTreeLabelProvider());
90 91

  
......
102 103
            viewer.addSelectionChangedListener(viewerSelectionChangedListener);
103 104
        }
104 105

  
106
        if(textModifyListener!=null){
107
            text_title.addModifyListener(textModifyListener);
108
        }
109

  
105 110
        //add specific selection listener
106 111
        if(openFeatureTreeSelectionListener!=null){
107 112
            btnOpenFeatureTree.addSelectionListener(openFeatureTreeSelectionListener);
......
114 119
                    FeatureTree tree = FeatureTreeSelectionDialog.select(getDisplay().getActiveShell(),
115 120
                            null);
116 121
                    if(tree!=null){
117
                        setSelectedTree(tree, null);
118
                        getText_title().setEnabled(false);
122
                        setSelectedTree(tree);
123
                        text_title.setEnabled(false);
119 124
                    }
120 125
                }
121 126
            });
122 127
        }
123 128
    }
124 129

  
125
    public void setSelectedTree(FeatureTree featureTree, ModifyListener modifyListener) {
130
    public void setSelectedTree(FeatureTree featureTree) {
126 131
        this.featureTree = featureTree;
127 132

  
128 133
        getViewer().setInput(featureTree);
129 134

  
130
        Listener[] listeners = getText_title().getListeners(SWT.Modify);
135
        Listener[] listeners = text_title.getListeners(SWT.Modify);
131 136
        for (Listener listener : listeners) {
132
            getText_title().removeListener(SWT.Modify, listener);
137
            text_title.removeListener(SWT.Modify, listener);
133 138
        }
134
        getText_title().setText(featureTree.getTitleCache());
139
        text_title.setText(featureTree.getTitleCache());
135 140
        for (Listener listener : listeners) {
136
            getText_title().addListener(SWT.Modify, listener);
141
            text_title.addListener(SWT.Modify, listener);
137 142
        }
138
        getText_title().setEnabled(true);
143
        text_title.setEnabled(true);
139 144
        text_title.setEnabled(true);
140 145
    }
141 146

  
142
    /**
143
     * @return the featureTree
144
     */
145 147
    public FeatureTree getFeatureTree() {
146 148
        return featureTree;
147 149
    }
148 150

  
149
    /**
150
     * @return the label_title
151
     */
152
    public Label getLabel_title() {
153
        return label_title;
154
    }
155

  
156
    /**
157
     * @return the text_title
158
     */
159 151
    public Text getText_title() {
160 152
        return text_title;
161 153
    }
162 154

  
163
    /**
164
     * @return the btnOpenFeatureTree
165
     */
155
    public Label getLabel_title() {
156
        return label_title;
157
    }
158

  
166 159
    public Button getBtnOpenFeatureTree() {
167 160
        return btnOpenFeatureTree;
168 161
    }
169 162

  
170
    /**
171
     * @return the viewer
172
     */
173 163
    public TreeViewer getViewer() {
174 164
        return viewer;
175 165
    }

Also available in: Unified diff