import org.eclipse.jface.viewers.ViewerDropAdapter;
import org.eclipse.swt.dnd.TransferData;
+import eu.etaxonomy.cdm.model.term.VocabularyEnum;
import eu.etaxonomy.cdm.persistence.dto.AbstractTermDto;
+import eu.etaxonomy.cdm.persistence.dto.FeatureDto;
import eu.etaxonomy.cdm.persistence.dto.TermDto;
import eu.etaxonomy.cdm.persistence.dto.TermVocabularyDto;
import eu.etaxonomy.taxeditor.editor.definedterm.operation.MoveDefinedTermOperation;
private static final String MOVE_FAILED_MESSAGE = Messages.DefinedTermDropAdapterE4_MOVE_FAILED_MESSAGE;
+ public static final String MOVE_FAILED_STANDARD_TERM = Messages.DefinedTermDropAdapterE4_MOVE_FAILED_STANDARD_TERM;
+
+
+
private final DefinedTermEditorE4 editor;
+
+ private int test = 0;
@Inject
private UISynchronize sync;
MOVE_FAILED_MESSAGE);
return false;
}
+
+ if(droppedObject instanceof FeatureDto ) {
+ if ((((FeatureDto) droppedObject).getVocabularyUuid().equals(VocabularyEnum.Feature.getUuid())|| ((FeatureDto) droppedObject).getVocabularyUuid().equals(VocabularyEnum.NameFeature.getUuid()))){
+ MessagingUtils.warningDialog(MOVE_FAILED, this, MOVE_FAILED_STANDARD_TERM);
+ return false;
+ }
+ }
+
if(target instanceof TermDto){
TermDto parentTerm = (TermDto)target;
//check term type compatibility
MessagingUtils.warningDialog(TERM_TYPE_ERROR_TITLE, this, TERM_TYPE_ERROR_MESSAGE);
return false;
}
-
+
TermDto partOfDto = parentTerm.getPartOfDto();
if(partOfDto!=null && partOfDto.equals(droppedObject)){
MessagingUtils.warningDialog(MOVE_FAILED, this.getClass(),
TransferData transferType) {
boolean valid = LocalSelectionTransfer.getTransfer().isSupportedType(transferType)
&& target instanceof AbstractTermDto;
+
if(target instanceof TermVocabularyDto && getCurrentLocation()!=ViewerDropAdapter.LOCATION_ON ){
valid = false;
}
if (target instanceof TermDto && ((TermDto)target).getOrderIndex() == null && getCurrentLocation() == ViewerDropAdapter.LOCATION_AFTER){
valid = false;
}
+
return valid;
}
DefinedTermDropAdapterE4_MOVE_FAILED_SAVE_MESSAGE=Moving the term failed. Try saving before.
DefinedTermDropAdapterE4_TERM_TYPE_ERROR_MESSAGE=The term type of the dropped term does not match the target term type.
DefinedTermDropAdapterE4_TERM_TYPE_ERROR_TITLE=Term types do not match
+DefinedTermDropAdapterE4_MOVE_FAILED_STANDARD_TERM=Standard terms are not allowed to move.
DebugPreferences_0=Show up widget is disposed error messages
DebugPreferences_1=Disable services api timestamp check
DefinedTermDropAdapterE4_MOVE_FAILED_SAVE_MESSAGE=Das Verschieben des Terms ist fehlgeschlagen. Versuchen Sie vorher zu speichern.
DefinedTermDropAdapterE4_TERM_TYPE_ERROR_MESSAGE=Der Termtyp des verschobenen Terms stimmt nicht mit dem des Ziels überein.
DefinedTermDropAdapterE4_TERM_TYPE_ERROR_TITLE=Termtypen stimmen nicht überein
+DefinedTermDropAdapterE4_MOVE_FAILED_STANDARD_TERM=Standard Terme können nicht verschoben werden
+
DebugPreferences_0=\"Widget is disposed\" Fehler Meldungen anzeigen
DebugPreferences_1=Deaktiviere die Überprüfung des API Timestamp