import com.google.gwt.user.client.Event;
import com.vaadin.client.BrowserInfo;
import com.vaadin.client.Util;
-import com.vaadin.client.ui.dd.VDragCloneAware;
+import com.vaadin.client.ui.dd.DragImageModifier;
/**
* This class represents a multiline textfield (textarea).
* @author Vaadin Ltd.
*
*/
-public class VTextArea extends VTextField implements VDragCloneAware {
+public class VTextArea extends VTextField implements DragImageModifier {
public static final String CLASSNAME = "v-textarea";
private boolean wordwrap = true;
}
@Override
- public void initDragImageCopy(Element element) {
+ public void modifyDragImage(Element element) {
// Fix for #13557 - drag image doesn't show original text area text.
// It happens because "value" property is not copied into the cloned
// element
--- /dev/null
+/*
+ * Copyright 2000-2014 Vaadin Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not
+ * use this file except in compliance with the License. You may obtain a copy of
+ * the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+ * License for the specific language governing permissions and limitations under
+ * the License.
+ */
+package com.vaadin.client.ui.dd;
+
+import com.google.gwt.dom.client.Element;
+
+/**
+ * Interface implemented by widgets if the drag image used for drag'n'drop
+ * requires additional initialization/configuration. The method
+ * {@link #modifyDragImage(Element)} is called for each element in the automatically generated drag image.
+ *
+ * @since 7.2
+ * @author Vaadin Ltd
+ */
+public interface DragImageModifier {
+
+ /**
+ * This method is called for cloned <code>element</code> which corresponds
+ * to the widget element. One could modify/correct this <code>element</code>
+ * for drag image.
+ *
+ * @param element
+ * cloned element of drag image
+ */
+ void modifyDragImage(Element element);
+}
+++ /dev/null
-/*
- * Copyright 2000-2014 Vaadin Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not
- * use this file except in compliance with the License. You may obtain a copy of
- * the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
- * License for the specific language governing permissions and limitations under
- * the License.
- */
-package com.vaadin.client.ui.dd;
-
-import com.google.gwt.dom.client.Element;
-
-/**
- * Widget could implement this interface if drag image requires additional
- * initialization/configuration. Method {@link #initDragImageCopy(Element)}
- * allows to change/correct drag image element when element is dragged via DnD.
- *
- * @since 7.2
- * @author Vaadin Ltd
- */
-public interface VDragCloneAware {
-
- /**
- * This method is called for cloned <code>element</code> which corresponds
- * to the widget element. One could modify/correct this <code>element</code>
- * for drag image.
- *
- * @param element
- * cloned element of drag image
- */
- void initDragImageCopy(Element element);
-}
private void doSyncContent(Element original, Element copy) {
EventListener eventListener = Event.getEventListener(original);
- if (eventListener instanceof VDragCloneAware) {
- ((VDragCloneAware) eventListener).initDragImageCopy(copy);
+ if (eventListener instanceof DragImageModifier) {
+ ((DragImageModifier) eventListener).modifyDragImage(copy);
}
}