This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 77154 - Review for File Drag and Drop Implementation
Summary: Review for File Drag and Drop Implementation
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Window System (show other bugs)
Version: 6.x
Hardware: All All
: P3 blocker (vote)
Assignee: Stanislav Aubrecht
URL:
Keywords: API_REVIEW_FAST
Depends on:
Blocks: 35228 50129
  Show dependency tree
 
Reported: 2006-05-31 14:36 UTC by Stanislav Aubrecht
Modified: 2008-12-23 00:39 UTC (History)
0 users

See Also:
Issue Type: TASK
Exception Reporter:


Attachments
source code diffs (18.94 KB, application/x-compressed)
2006-05-31 14:42 UTC, Stanislav Aubrecht
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Stanislav Aubrecht 2006-05-31 14:36:50 UTC
This is an issue for the review of new drag and drop implementation which allows
files to be dragged from outside to the IDE and also allows files to be dragged
from the IDE to other applications.
Comment 1 Stanislav Aubrecht 2006-05-31 14:42:21 UTC
Created attachment 30706 [details]
source code diffs
Comment 2 Stanislav Aubrecht 2006-05-31 14:57:40 UTC
The overhaul of file related drag and drop implementation adds to following
features:

* drag a file from an external application and drop it to Projects view or Files
view to copy the file to a selected project folder (the same applies to
copy/paste operations)
* drag a file from an external application and drop it to editor area to open
the file in a new editor tab
* drag a file from Projects view or Files view and drop it to an external
application (e.g. file manager) to move or to copy the file to a new folder
(same applies to copy/cut/paste operations)

Full UI specification is available here:
http://core.netbeans.org/proposals/dnd-ui-spec.html

The following modules are affected:
* openide/explorer, openide/loaders - for dropping of files into Projects/Files
view. There's no new Java interface introduced, only the DataFolder.FolderNode
now supports standard DataFlavors for file drag and drop (javaFileList and URI
file list) and drag and drop support in explorer module now passes appropriate
drag events to Nodes under the cursor

* openide/loaders - for the dragging of files from the IDE. The DataObject now
adds standard file drag and drop DataFlavors when it constructs its Transferable
for dragging.

* openide/windows, utilities, openide/text, core/windows - for the opening of
dragged files in a new editor tab. Module openide/windows adds a new Java
interface org.openide.windows.ExternalDropHandler. The implementation of this
interface is available in the global Lookup (default implementation is in
utilities module) and is used by the window system to handle dragged files.
Comment 3 Jaroslav Tulach 2006-06-07 09:48:19 UTC
Missing @since tag in ExternalDropHandler
core/windows shall depend on openide/windows > 6.7, other modules as well.
Comment 4 Stanislav Aubrecht 2006-06-07 16:33:10 UTC
if there are no more comments i'll add the @since tag and i'll integrate it to
trunk tomorrow.
Comment 5 Stanislav Aubrecht 2006-06-08 11:17:25 UTC
the changes were merged to trunk

Checking in utilities/test/cfg-unit.xml;
/cvs/utilities/test/cfg-unit.xml,v  <--  cfg-unit.xml
new revision: 1.2; previous revision: 1.1
done
Checking in utilities/test/build-unit.xml;
/cvs/utilities/test/build-unit.xml,v  <--  build-unit.xml
new revision: 1.2; previous revision: 1.1
done
Checking in utilities/test/build.xml;
/cvs/utilities/test/build.xml,v  <--  build.xml
new revision: 1.2; previous revision: 1.1
done
Checking in openide/explorer/src/org/openide/explorer/view/ListView.java;
/cvs/openide/explorer/src/org/openide/explorer/view/ListView.java,v  <-- 
ListView.java
new revision: 1.9; previous revision: 1.8
done
Checking in openide/explorer/src/org/openide/explorer/view/TreeViewDropSupport.java;
/cvs/openide/explorer/src/org/openide/explorer/view/TreeViewDropSupport.java,v 
<--  TreeViewDropSupport.java
new revision: 1.5; previous revision: 1.4
done
Checking in openide/explorer/src/org/openide/explorer/view/ListViewDropSupport.java;
/cvs/openide/explorer/src/org/openide/explorer/view/ListViewDropSupport.java,v 
<--  ListViewDropSupport.java
new revision: 1.5; previous revision: 1.4
done
Checking in openide/explorer/src/org/openide/explorer/view/TreeView.java;
/cvs/openide/explorer/src/org/openide/explorer/view/TreeView.java,v  <-- 
TreeView.java
new revision: 1.11; previous revision: 1.10
done
Checking in openide/explorer/src/org/openide/explorer/view/ExplorerDnDManager.java;
/cvs/openide/explorer/src/org/openide/explorer/view/ExplorerDnDManager.java,v 
<--  ExplorerDnDManager.java
new revision: 1.2; previous revision: 1.1
done
Checking in utilities/src/META-INF/services/org.openide.windows.ExternalDropHandler;
/cvs/utilities/src/META-INF/services/org.openide.windows.ExternalDropHandler,v 
<--  org.openide.windows.ExternalDropHandler
new revision: 1.2; previous revision: 1.1
done
Checking in openide/loaders/api/apichanges.xml;
/cvs/openide/loaders/api/apichanges.xml,v  <--  apichanges.xml
new revision: 1.20; previous revision: 1.19
done
Checking in openide/text/apichanges.xml;
/cvs/openide/text/apichanges.xml,v  <--  apichanges.xml
new revision: 1.12; previous revision: 1.11
done
Checking in openide/text/manifest.mf;
/cvs/openide/text/manifest.mf,v  <--  manifest.mf
new revision: 1.13; previous revision: 1.12
done
Checking in openide/loaders/nbproject/project.xml;
/cvs/openide/loaders/nbproject/project.xml,v  <--  project.xml
new revision: 1.14; previous revision: 1.13
done
Checking in openide/loaders/nbproject/project.properties;
/cvs/openide/loaders/nbproject/project.properties,v  <--  project.properties
new revision: 1.11; previous revision: 1.10
done
Checking in core/windows/src/org/netbeans/core/windows/view/EditorView.java;
/cvs/core/windows/src/org/netbeans/core/windows/view/EditorView.java,v  <-- 
EditorView.java
new revision: 1.20; previous revision: 1.19
done
Checking in
utilities/src/org/netbeans/modules/openfile/DefaultExternalDropHandler.java;
/cvs/utilities/src/org/netbeans/modules/openfile/DefaultExternalDropHandler.java,v
 <--  DefaultExternalDropHandler.java
new revision: 1.2; previous revision: 1.1
done
Checking in utilities/src/org/netbeans/modules/openfile/OpenFile.java;
/cvs/utilities/src/org/netbeans/modules/openfile/OpenFile.java,v  <--  OpenFile.java
new revision: 1.62; previous revision: 1.61
done
Checking in openide/windows/src/org/openide/windows/ExternalDropHandler.java;
/cvs/openide/windows/src/org/openide/windows/ExternalDropHandler.java,v  <-- 
ExternalDropHandler.java
new revision: 1.2; previous revision: 1.1
done
Checking in openide/text/src/org/openide/text/QuietEditorPane.java;
/cvs/openide/text/src/org/openide/text/QuietEditorPane.java,v  <-- 
QuietEditorPane.java
new revision: 1.6; previous revision: 1.5
done
Checking in core/windows/nbproject/project.xml;
/cvs/core/windows/nbproject/project.xml,v  <--  project.xml
new revision: 1.13; previous revision: 1.12
done
Checking in openide/loaders/src/org/openide/loaders/DataNode.java;
/cvs/openide/loaders/src/org/openide/loaders/DataNode.java,v  <--  DataNode.java
new revision: 1.25; previous revision: 1.24
done
Checking in openide/loaders/src/org/openide/loaders/DataFolder.java;
/cvs/openide/loaders/src/org/openide/loaders/DataFolder.java,v  <--  DataFolder.java
new revision: 1.47; previous revision: 1.46
done
Checking in openide/loaders/manifest.mf;
/cvs/openide/loaders/manifest.mf,v  <--  manifest.mf
new revision: 1.28; previous revision: 1.27
done
Checking in openide/explorer/manifest.mf;
/cvs/openide/explorer/manifest.mf,v  <--  manifest.mf
new revision: 1.9; previous revision: 1.8
done
Checking in openide/explorer/apichanges.xml;
/cvs/openide/explorer/apichanges.xml,v  <--  apichanges.xml
new revision: 1.7; previous revision: 1.6
done
Checking in openide/windows/manifest.mf;
/cvs/openide/windows/manifest.mf,v  <--  manifest.mf
new revision: 1.8; previous revision: 1.7
done
Checking in openide/windows/apichanges.xml;
/cvs/openide/windows/apichanges.xml,v  <--  apichanges.xml
new revision: 1.4; previous revision: 1.3
done
Checking in
utilities/test/unit/src/org/netbeans/modules/openfile/DefaultExternalDropHandlerTest.java;
/cvs/utilities/test/unit/src/org/netbeans/modules/openfile/DefaultExternalDropHandlerTest.java,v
 <--  DefaultExternalDropHandlerTest.java
new revision: 1.2; previous revision: 1.1
done
Checking in openide/text/nbproject/project.xml;
/cvs/openide/text/nbproject/project.xml,v  <--  project.xml
new revision: 1.8; previous revision: 1.7
done
Checking in
openide/loaders/test/unit/src/org/openide/loaders/DataFolderPasteTypesTest.java;
/cvs/openide/loaders/test/unit/src/org/openide/loaders/DataFolderPasteTypesTest.java,v
 <--  DataFolderPasteTypesTest.java
new revision: 1.2; previous revision: 1.1
done
Checking in
openide/loaders/test/unit/src/org/openide/loaders/DragAndDropDataNodeTest.java;
/cvs/openide/loaders/test/unit/src/org/openide/loaders/DragAndDropDataNodeTest.java,v
 <--  DragAndDropDataNodeTest.java
new revision: 1.2; previous revision: 1.1
done
Checking in utilities/nbproject/project.xml;
/cvs/utilities/nbproject/project.xml,v  <--  project.xml
new revision: 1.16; previous revision: 1.15
done
Checking in utilities/nbproject/project.properties;
/cvs/utilities/nbproject/project.properties,v  <--  project.properties
new revision: 1.15; previous revision: 1.14
done