Project

General

Profile

« Previous | Next » 

Revision 24b8f2f1

Added by Patrick Plitzner over 6 years ago

ref #6595 migrate drag and drop functionality

View differences:

eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/e4/dnd/NameEditorDropTargetListenerE4.java
10 10

  
11 11
import eu.etaxonomy.cdm.model.common.ICdmBase;
12 12
import eu.etaxonomy.cdm.model.name.HomotypicalGroup;
13
import eu.etaxonomy.cdm.model.taxon.Synonym;
14
import eu.etaxonomy.cdm.model.taxon.Taxon;
13 15
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
14
import eu.etaxonomy.taxeditor.editor.EditorUtil;
16
import eu.etaxonomy.cdm.model.taxon.TaxonRelationshipType;
15 17
import eu.etaxonomy.taxeditor.editor.l10n.Messages;
16
import eu.etaxonomy.taxeditor.editor.name.TaxonNameEditor;
17
import eu.etaxonomy.taxeditor.editor.name.container.AbstractHomotypicalGroupContainer;
18 18
import eu.etaxonomy.taxeditor.editor.name.e4.IDropTargetableE4;
19 19
import eu.etaxonomy.taxeditor.editor.name.e4.TaxonNameEditorE4;
20
import eu.etaxonomy.taxeditor.editor.name.e4.container.AbstractHomotypicalGroupContainerE4;
21
import eu.etaxonomy.taxeditor.editor.name.e4.container.MisappliedGroupE4;
22
import eu.etaxonomy.taxeditor.editor.name.operation.ChangeConceptRelationshipTypeOperation;
23
import eu.etaxonomy.taxeditor.editor.name.operation.ChangeConceptToSynonymOperation;
24
import eu.etaxonomy.taxeditor.editor.name.operation.ChangeHomotypicGroupOperation;
25
import eu.etaxonomy.taxeditor.editor.name.operation.ChangeSynonymToMisapplicationOperation;
26
import eu.etaxonomy.taxeditor.editor.name.operation.MoveSynonymToAnotherAcceptedTaxonOperation;
27
import eu.etaxonomy.taxeditor.event.EventUtility;
20 28
import eu.etaxonomy.taxeditor.model.AbstractUtility;
21 29
import eu.etaxonomy.taxeditor.model.MessagingUtils;
22 30
import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
......
72 80
			AbstractUtility.executeOperation(operation);
73 81
		}
74 82
		target.getEditor().getConversationHolder().commit();
75
		if (!target.equals(EditorUtil.getActiveMultiPageTaxonEditor().getActiveEditor())){
76
			((TaxonNameEditor)EditorUtil.getActiveMultiPageTaxonEditor().getActiveEditor()).redraw();
77
			((TaxonNameEditor)EditorUtil.getActiveMultiPageTaxonEditor().getActiveEditor()).getConversationHolder().commit();
83
		if (!target.equals(EventUtility.getEditor())){
84
			((TaxonNameEditorE4)EventUtility.getEditor()).redraw();
85
			((TaxonNameEditorE4)EventUtility.getEditor()).getConversationHolder().commit();
78 86

  
79 87
		}
80 88
		target.getEditor().redraw();
......
83 91

  
84 92
	private AbstractPostOperation createOperation(TaxonBase taxonBase) {
85 93

  
86
	    //FIXME E4 migrate dnd
87

  
88
//		if(taxonBase instanceof Synonym){
89
//			Synonym synonym = (Synonym) taxonBase;
90
//
91
//			if(target instanceof AbstractHomotypicalGroupContainer){
92
//				HomotypicalGroup homotypicalGroup = ((AbstractHomotypicalGroupContainer) target).getGroup();
93
//
94
//				return new ChangeHomotypicGroupOperation(Messages.NameEditorDropTargetListener_CHANGE_HOMOTYPICAL_GROUP, getEditor().getUndoContext(),
95
//						getEditor().getTaxon(), synonym, homotypicalGroup, target);
96
//			}
97
//			else if(target instanceof MisappliedGroup){
98
//				return new ChangeSynonymToMisapplicationOperation(Messages.NameEditorDropTargetListener_CHANGE_SYNONYM_TO_MISAPP, getEditor().getUndoContext(),
99
//						getEditor().getTaxon(), synonym, target);
100
//			}
101
//			else if(target instanceof TaxonNameEditor){
102
//				if (target.equals(getEditor())){
103
//					return new ChangeHomotypicGroupOperation(Messages.NameEditorDropTargetListener_CHANGE_HOMOTYPICAL_GROUP, getEditor().getUndoContext(),
104
//						getEditor().getTaxon(), synonym, null, target);
105
//				} else{
106
//					getEditor().getConversationHolder().commit();
107
//					((TaxonNameEditor) target).getConversationHolder().commit();
108
//
109
//					return new MoveSynonymToAnotherAcceptedTaxonOperation(Messages.NameEditorDropTargetListener_CHANGE_ACC_TAXON, getEditor().getUndoContext(), getEditor().getTaxon().getUuid(), synonym.getUuid(), ((TaxonNameEditor) target).getTaxon(), null );
110
//
111
//				}
112
//			}
113
//
114
//		}else if(taxonBase instanceof Taxon){
115
//			Taxon concept = (Taxon) taxonBase;
116
//
117
//			if(target instanceof AbstractHomotypicalGroupContainer){
118
//				HomotypicalGroup homotypicalGroup = ((AbstractHomotypicalGroupContainer) target).getGroup();
119
//
120
//				return new ChangeConceptToSynonymOperation(Messages.NameEditorDropTargetListener_CHANGE_SYNONYM, getEditor().getUndoContext(),
121
//						getEditor().getTaxon(), concept, homotypicalGroup, target);
122
//			}
123
//			else if(target instanceof MisappliedGroup ){
124
//				return new ChangeConceptRelationshipTypeOperation(Messages.NameEditorDropTargetListener_CHANGE, getEditor().getUndoContext(),
125
//						getEditor().getTaxon(), concept, TaxonRelationshipType.MISAPPLIED_NAME_FOR(), target);
126
//			}
127
//		}
94
		if(taxonBase instanceof Synonym){
95
			Synonym synonym = (Synonym) taxonBase;
96

  
97
			if(target instanceof AbstractHomotypicalGroupContainerE4){
98
				HomotypicalGroup homotypicalGroup = ((AbstractHomotypicalGroupContainerE4) target).getGroup();
99

  
100
				return new ChangeHomotypicGroupOperation(Messages.NameEditorDropTargetListener_CHANGE_HOMOTYPICAL_GROUP, getEditor().getUndoContext(),
101
						getEditor().getTaxon(), synonym, homotypicalGroup, target);
102
			}
103
			else if(target instanceof MisappliedGroupE4){
104
				return new ChangeSynonymToMisapplicationOperation(Messages.NameEditorDropTargetListener_CHANGE_SYNONYM_TO_MISAPP, getEditor().getUndoContext(),
105
						getEditor().getTaxon(), synonym, target);
106
			}
107
			else if(target instanceof TaxonNameEditorE4){
108
				if (target.equals(getEditor())){
109
					return new ChangeHomotypicGroupOperation(Messages.NameEditorDropTargetListener_CHANGE_HOMOTYPICAL_GROUP, getEditor().getUndoContext(),
110
						getEditor().getTaxon(), synonym, null, target);
111
				} else{
112
					getEditor().getConversationHolder().commit();
113
					((TaxonNameEditorE4) target).getConversationHolder().commit();
114

  
115
					return new MoveSynonymToAnotherAcceptedTaxonOperation(Messages.NameEditorDropTargetListener_CHANGE_ACC_TAXON, getEditor().getUndoContext(), getEditor().getTaxon().getUuid(), synonym.getUuid(), ((TaxonNameEditorE4) target).getTaxon(), null );
116

  
117
				}
118
			}
119

  
120
		}else if(taxonBase instanceof Taxon){
121
			Taxon concept = (Taxon) taxonBase;
122

  
123
			if(target instanceof AbstractHomotypicalGroupContainerE4){
124
				HomotypicalGroup homotypicalGroup = ((AbstractHomotypicalGroupContainerE4) target).getGroup();
125

  
126
				return new ChangeConceptToSynonymOperation(Messages.NameEditorDropTargetListener_CHANGE_SYNONYM, getEditor().getUndoContext(),
127
						getEditor().getTaxon(), concept, homotypicalGroup, target);
128
			}
129
			else if(target instanceof MisappliedGroupE4){
130
				return new ChangeConceptRelationshipTypeOperation(Messages.NameEditorDropTargetListener_CHANGE, getEditor().getUndoContext(),
131
						getEditor().getTaxon(), concept, TaxonRelationshipType.MISAPPLIED_NAME_FOR(), target);
132
			}
133
		}
128 134

  
129 135

  
130 136
		return null;
......
138 144

  
139 145

  
140 146
	private HomotypicalGroup getHomotypicalGroup() {
141
		if(target instanceof AbstractHomotypicalGroupContainer){
142
			return ((AbstractHomotypicalGroupContainer) target).getGroup();
147
		if(target instanceof AbstractHomotypicalGroupContainerE4){
148
			return ((AbstractHomotypicalGroupContainerE4) target).getGroup();
143 149
		}
144 150
		return null;
145 151
	}
......
157 163
	}
158 164

  
159 165
	private TaxonNameEditorE4 getEditor() {
160
		return (TaxonNameEditorE4) EditorUtil.getActiveMultiPageTaxonEditor().getActiveEditor();
166
		return (TaxonNameEditorE4) EventUtility.getEditor();
161 167
	}
162 168
}

Also available in: Unified diff