Author: estherbin
Date: 2008-08-21 09:04:05 -0400 (Thu, 21 Aug 2008)
New Revision: 9853
Added:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/dnd/VpeTextDropAction.java
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/dnd/DnDUtil.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DropCommandFactory.java
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/context/DropContext.java
Log:
Fix JBIDE-2443 issue.
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/dnd/DnDUtil.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/dnd/DnDUtil.java 2008-08-21
10:13:37 UTC (rev 9852)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/dnd/DnDUtil.java 2008-08-21
13:04:05 UTC (rev 9853)
@@ -24,11 +24,14 @@
import org.jboss.tools.vpe.xulrunner.XPCOM;
import org.mozilla.interfaces.nsIComponentManager;
import org.mozilla.interfaces.nsIDOMEvent;
+import org.mozilla.interfaces.nsIDOMText;
import org.mozilla.interfaces.nsIDragService;
import org.mozilla.interfaces.nsIDragSession;
import org.mozilla.interfaces.nsIFile;
import org.mozilla.interfaces.nsIServiceManager;
+import org.mozilla.interfaces.nsIStringInputStream;
import org.mozilla.interfaces.nsISupports;
+import org.mozilla.interfaces.nsISupportsCString;
import org.mozilla.interfaces.nsITransferable;
import org.mozilla.xpcom.Mozilla;
@@ -227,8 +230,7 @@
*
* @return the dn D file
*/
- public static nsIFile getDnDFile(nsIDOMEvent event) {
- nsIFile aFile = null;
+ public static nsISupports getDnDValue(nsIDOMEvent event) {
nsIServiceManager serviceManager = Mozilla.getInstance().getServiceManager();
nsIComponentManager componentManager =
Mozilla.getInstance().getComponentManager();
nsIDragService dragService = (nsIDragService)
serviceManager.getServiceByContractID("(a)mozilla.org/widget/dragservice;1",
//$NON-NLS-1$
@@ -241,21 +243,15 @@
for (String flavor1 : FLAVORS) {
if (dragSession.isDataFlavorSupported(flavor1)) {
iTransferable.addDataFlavor(flavor1);
- System.out.println("\n->" + flavor1); //$NON-NLS-1$
}
}
String[] aFlavor = { "" }; //$NON-NLS-1$
long[] aDataLen = { 0 };
nsISupports[] aData = { null };
-
+
dragSession.getData(iTransferable, 0);
-
iTransferable.getAnyTransferData(aFlavor, aData, aDataLen);
- System.out.println("aData[0] className = " +
aData[0].getClass().getName()); //$NON-NLS-1$
-
-
- aFile = (nsIFile) aData[0].queryInterface(nsIFile.NS_IFILE_IID);
- return aFile;
+ return aData[0];
}
}
Added:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/dnd/VpeTextDropAction.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/dnd/VpeTextDropAction.java
(rev 0)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/dnd/VpeTextDropAction.java 2008-08-21
13:04:05 UTC (rev 9853)
@@ -0,0 +1,30 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is 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:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+
+package org.jboss.tools.common.model.ui.dnd;
+
+import org.eclipse.swt.events.TypedEvent;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.wst.sse.ui.internal.TextDropAction;
+
+/**
+ * @author Evgenij Stherbin
+ *
+ */
+@SuppressWarnings("restriction")
+public class VpeTextDropAction extends TextDropAction {
+
+
+ public boolean run(TypedEvent event, IEditorPart targetEditor) {
+ return super.insert((String) event.data, targetEditor);
+ }
+
+}
Property changes on:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/dnd/VpeTextDropAction.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Author Id Revision Date
Name: svn:eol-style
+ native
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DropCommandFactory.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DropCommandFactory.java 2008-08-21
10:13:37 UTC (rev 9852)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/DropCommandFactory.java 2008-08-21
13:04:05 UTC (rev 9853)
@@ -12,54 +12,88 @@
import java.util.HashMap;
+import org.jboss.tools.common.model.ui.dnd.DnDUtil;
import org.jboss.tools.common.model.ui.dnd.ModelTransfer;
+/**
+ * The Class DropCommandFactory.
+ */
public class DropCommandFactory {
+ /** The Constant INSTANCE. */
private static final DropCommandFactory INSTANCE = new DropCommandFactory();
+ /** The Constant PLAIN_MIME_COMMAND. */
public static final IDropCommand PLAIN_MIME_COMMAND = new PlainTextDropCommand();
+
+ /** The Constant UNKNOWN_MIME_COMMAND. */
public static final IDropCommand UNKNOWN_MIME_COMMAND = new UnknownDropCommand();
- public static final String UNKNOWN_MIME_TYPE = "exadel/unknown";
+ /** The Constant UNKNOWN_MIME_TYPE. */
+ public static final String UNKNOWN_MIME_TYPE = "exadel/unknown";
//$NON-NLS-1$
+ /** The Constant fMimeCommandMap. */
public static final HashMap<String,String> fMimeCommandMap = new
HashMap<String,String>();
////see nsITransferable
- public static final String kFileMime = "application/x-moz-file";
- public static final String kURLMime = "text/x-moz-url";
- public static final String kUnicodeMime = "text/unicode";
+ /** The Constant kFileMime. */
+ public static final String kFileMime = "application/x-moz-file";
//$NON-NLS-1$
- static String PACKAGE = "org.jboss.tools.common.model.ui.editors.dnd.";
+ /** The Constant kURLMime. */
+ public static final String kURLMime = "text/x-moz-url"; //$NON-NLS-1$
+
+ /** The Constant kUnicodeMime. */
+ public static final String kUnicodeMime = "text/unicode"; //$NON-NLS-1$
+
+ /** The Constant kHtmlText. */
+ public static final String kHtmlText = DnDUtil.kHTMLMime;
+
+ /** The PACKAGE. */
+ static String PACKAGE = "org.jboss.tools.common.model.ui.editors.dnd.";
//$NON-NLS-1$
static {
fMimeCommandMap.put(
////nsITransferable.kFileMime
- kFileMime, PACKAGE + "FileDropCommand"
+ kFileMime, PACKAGE + "FileDropCommand" //$NON-NLS-1$
);
fMimeCommandMap.put(
////nsITransferable.kURLMime
- kURLMime, PACKAGE + "FileDropCommand"
+ kURLMime, PACKAGE + "FileDropCommand" //$NON-NLS-1$
);
fMimeCommandMap.put(
- ModelTransfer.MODEL, PACKAGE + "PaletteDropCommand"
+ ModelTransfer.MODEL, PACKAGE + "PaletteDropCommand" //$NON-NLS-1$
);
fMimeCommandMap.put(
- "text/plain", PACKAGE + "PlainTextDropCommand"
+ "text/plain", PACKAGE + "PlainTextDropCommand" //$NON-NLS-1$
//$NON-NLS-2$
);
fMimeCommandMap.put(
////nsITransferable.kUnicodeMime
- kUnicodeMime, PACKAGE + "PlainTextDropCommand"
+ kUnicodeMime, PACKAGE + "PlainTextDropCommand" //$NON-NLS-1$
);
+ fMimeCommandMap.put(kHtmlText,PACKAGE + "PlainTextDropCommand");
//$NON-NLS-1$
+
fMimeCommandMap.put(
- UNKNOWN_MIME_TYPE, PACKAGE + "UnknownDropCommand"
+ UNKNOWN_MIME_TYPE, PACKAGE + "UnknownDropCommand" //$NON-NLS-1$
);
}
+ /**
+ * Gets the instance.
+ *
+ * @return the instance
+ */
public static DropCommandFactory getInstance() {
return INSTANCE;
}
+ /**
+ * Gets the drop command.
+ *
+ * @param mimeType the mime type
+ * @param tagProposalFactory the tag proposal factory
+ *
+ * @return the drop command
+ */
public IDropCommand getDropCommand(String mimeType, ITagProposalFactory
tagProposalFactory) {
IDropCommand fInstance = null;
try {
Modified:
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/context/DropContext.java
===================================================================
---
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/context/DropContext.java 2008-08-21
10:13:37 UTC (rev 9852)
+++
trunk/common/plugins/org.jboss.tools.common.model.ui/src/org/jboss/tools/common/model/ui/editors/dnd/context/DropContext.java 2008-08-21
13:04:05 UTC (rev 9853)
@@ -34,6 +34,7 @@
import org.jboss.tools.common.model.ui.ModelUIPlugin;
import org.jboss.tools.common.model.ui.dnd.ModelTransfer;
import org.jboss.tools.common.model.ui.dnd.VpeDnDEvent;
+import org.jboss.tools.common.model.ui.dnd.VpeTextDropAction;
import org.jboss.tools.common.model.ui.editors.dnd.FileTagProposalLoader;
import org.jboss.tools.common.model.util.EclipseResourceUtil;
import org.jboss.tools.jst.web.tld.TLDUtil;
@@ -154,8 +155,8 @@
if(event == null) return;
if(getFlavor() == null) {
return;
- } else if (getFlavor().equals("text/html") && this.event instanceof
DropTargetEvent) {
- new TextDropAction().run((DropTargetEvent) event, editor);
+ } else if (getFlavor().equals("text/html")) {
+ new VpeTextDropAction().run(event, editor);
} else {
editor.runDropCommand(getFlavor(), getMimeData());
}