Revision b752be34
Added by Patrick Plitzner about 6 years ago
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
ref #6786 Fix dirty state when editing feature tree title cache