# ==============================================================================
#*+------------------------------------------------------------------------+
#*| Copyright (c) 2005  IBM Corporation and others.                        |
#*| All rights reserved. This program and the accompanying materials       |
#*| are made available under the terms of the Eclipse Public License v1.0  |
#*| which accompanies this distribution, and is available at               |
#*| http://www.eclipse.org/legal/epl-v10.html                              |
#*|                                                                        |
#*| Contributors:                                                          |
#*|    IBM Corporation - initial API and implementation                    |
#*+------------------------------------------------------------------------+
# ==============================================================================
# error messages
# ================================ BEGIN ==================================================
DelegatingDragSourceAdapter_errorMessage=The drag operation was not successful
DelegatingDragSourceAdapter__ERROR__errorMessage= IRJA0286E The drag operation was not successful

DelegatingDropTargetAdapter_errorMessage=The drop operation was not successful
DelegatingDropTargetAdapter__ERROR__errorMessage= IRJA0285E The drop operation was not successful

# ==================================== END =================================================
