Revision e331654f
Added by Patrick Plitzner almost 10 years ago
- only allow dragging in DerivateView when view is not dirty
- added missing methods to transient services
- exposed dto package in cdmlib project
- some renaming
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateDragListener.java | ||
---|---|---|
11 | 11 |
|
12 | 12 |
import org.eclipse.jface.util.LocalSelectionTransfer; |
13 | 13 |
import org.eclipse.jface.viewers.ISelection; |
14 |
import org.eclipse.jface.viewers.Viewer; |
|
15 | 14 |
import org.eclipse.swt.dnd.DragSourceAdapter; |
16 | 15 |
import org.eclipse.swt.dnd.DragSourceEvent; |
17 | 16 |
|
18 | 17 |
import eu.etaxonomy.taxeditor.editor.EditorUtil; |
18 |
import eu.etaxonomy.taxeditor.model.AbstractUtility; |
|
19 | 19 |
|
20 | 20 |
/** |
21 | 21 |
* @author pplitzner |
... | ... | |
24 | 24 |
*/ |
25 | 25 |
public class DerivateDragListener extends DragSourceAdapter{ |
26 | 26 |
|
27 |
private final Viewer viewer;
|
|
27 |
private final DerivateView derivateView;
|
|
28 | 28 |
|
29 | 29 |
/** |
30 |
* @param viewer
|
|
30 |
* @param derivateView
|
|
31 | 31 |
*/ |
32 |
public DerivateDragListener(Viewer viewer) {
|
|
33 |
this.viewer = viewer;
|
|
32 |
public DerivateDragListener(DerivateView derivateView) {
|
|
33 |
this.derivateView = derivateView;
|
|
34 | 34 |
} |
35 | 35 |
|
36 | 36 |
/* (non-Javadoc) |
... | ... | |
39 | 39 |
@Override |
40 | 40 |
public void dragSetData(DragSourceEvent event) { |
41 | 41 |
if (LocalSelectionTransfer.getTransfer().isSupportedType(event.dataType)) { |
42 |
LocalSelectionTransfer.getTransfer().setSelection(viewer.getSelection());
|
|
42 |
LocalSelectionTransfer.getTransfer().setSelection(derivateView.getViewer().getSelection());
|
|
43 | 43 |
} |
44 | 44 |
} |
45 | 45 |
|
... | ... | |
48 | 48 |
*/ |
49 | 49 |
@Override |
50 | 50 |
public void dragStart(DragSourceEvent event) { |
51 |
ISelection selection = viewer.getSelection(); |
|
51 |
if(derivateView.isDirty()){ |
|
52 |
event.doit = false; |
|
53 |
AbstractUtility.warningDialog("View has unsaved changes", this, "You need to save before performing this action"); |
|
54 |
return; |
|
55 |
} |
|
56 |
ISelection selection = derivateView.getViewer().getSelection(); |
|
52 | 57 |
if(EditorUtil.getTreeNodeOfSelection(selection)!=null){ |
53 | 58 |
event.doit = true; |
54 | 59 |
} |
Also available in: Unified diff