import com.intellij.codeInsight.folding.CodeFoldingManager;
import org.jetbrains.annotations.Nullable;
+import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.util.ArrayList;
public TextBlockTransferableData extractTransferableData(final Transferable content) {
FoldingTransferableData foldingData = null;
try {
- foldingData =
- (FoldingTransferableData)content.getTransferData(FoldingTransferableData.FoldingData.FLAVOR);
+ final DataFlavor flavor = FoldingTransferableData.FoldingData.getDataFlavor();
+ if (flavor != null) {
+ foldingData = (FoldingTransferableData)content.getTransferData(flavor);
+ }
}
catch (UnsupportedFlavorException e) {
}
package com.intellij.codeInsight.editorActions;
-import com.intellij.codeInsight.CodeInsightBundle;
import org.jetbrains.annotations.NonNls;
import java.awt.datatransfer.DataFlavor;
}
public DataFlavor getFlavor() {
- return FoldingData.FLAVOR;
+ return FoldingData.getDataFlavor();
}
public int getOffsetCount() {
}
public static class FoldingData implements Cloneable, Serializable {
- public static final @NonNls DataFlavor FLAVOR = new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType + ";class=" + FoldingData.class.getName(),
- CodeInsightBundle.message("paste.data.flavor.folding"));
+ private static @NonNls DataFlavor ourFlavor;
public int startOffset;
public int endOffset;
throw new RuntimeException();
}
}
+
+ public static DataFlavor getDataFlavor() {
+ if (ourFlavor != null) {
+ return ourFlavor;
+ }
+ try {
+ ourFlavor = new DataFlavor(DataFlavor.javaJVMLocalObjectMimeType + ";class=" + FoldingData.class.getName(), "FoldingData");
+ }
+ catch (NoClassDefFoundError e) {
+ return null;
+ }
+ return ourFlavor;
+ }
}
}