Revision 24b8f2f1
Added by Patrick Plitzner over 6 years ago
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
ref #6595 migrate drag and drop functionality