--- openide/src/org/openide/text/CloneableEditor.java
+++ openide/src/org/openide/text/CloneableEditor.java
@@ -202,6 +208,25 @@
pane.setEditorKit (support.kit ());
pane.setDocument (doc);
+// <> NB #53439 Temporary put back (to fix a bug),
+// when is figured out another method to hack this (at least from editor module).
+// Originally modified by Tor: install drag & drop handlers on the editor
+ // In order to minimaze the impact on NB code (two large classes added), this service (see bottom),
+ // was declared.
+ DnDSupportFactory factory = (DnDSupportFactory)org.openide.util.Lookup.getDefault().lookup(DnDSupportFactory.class);
+ if(factory != null) {
+ pane.setTransferHandler(factory.createCloneableEditorPaneTransferHandler());
+ java.awt.dnd.DropTarget dropTarget = pane.getDropTarget();
+ if (dropTarget != null) {
+ java.awt.dnd.DropTargetListener dropTargetListener = factory.createCloneableEditorPaneDropTargetListener();
+ try {
+ dropTarget.addDropTargetListener(dropTargetListener);
+ } catch(java.util.TooManyListenersException tmle) {
+ ErrorManager.getDefault().notify(ErrorManager.INFORMATIONAL, tmle);
+ }
+ }
+ }
+// >
if (doc instanceof NbDocument.CustomEditor) {
NbDocument.CustomEditor ce = (NbDocument.CustomEditor)doc;
customComponent = ce.createEditor(pane);
@@ -640,4 +665,16 @@
requestVisible();
}
+// <> NB #53439 See also above.
+// Hacks the code, in order to minimaze the changed code, to be able to better
+// depict the needed change.
+ public interface DnDSupportFactory {
+ /** Creates TransferHandler
instance which will be used
+ in CloneableEditor.pane
component. On 1 per 1 basis. */
+ public javax.swing.TransferHandler createCloneableEditorPaneTransferHandler();
+ /** Creates DropTargetListener
instance which will be used
+ in CloneableEditor.Pane
component. On 1 per 1 basis. */
+ public java.awt.dnd.DropTargetListener createCloneableEditorPaneDropTargetListener();
+ }
+// >
}