Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 81211 Details for
Bug 165553
Regression: CView lost some Drag&Drop functionality support
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Patch for 4.0.2 (branch CDT_4_0)
patch.4.0.2.txt (text/plain), 6.55 KB, created by
Alex Chapiro
on 2007-10-25 18:21:51 EDT
(
hide
)
Description:
Patch for 4.0.2 (branch CDT_4_0)
Filename:
MIME Type:
Creator:
Alex Chapiro
Created:
2007-10-25 18:21:51 EDT
Size:
6.55 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.cdt.ui >Index: src/org/eclipse/cdt/internal/ui/cview/CView.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.cdt-core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/cview/CView.java,v >retrieving revision 1.72 >diff -u -r1.72 CView.java >--- src/org/eclipse/cdt/internal/ui/cview/CView.java 10 Sep 2007 13:05:29 -0000 1.72 >+++ src/org/eclipse/cdt/internal/ui/cview/CView.java 25 Oct 2007 19:40:47 -0000 >@@ -74,6 +74,7 @@ > import org.eclipse.ui.part.IShowInSource; > import org.eclipse.ui.part.IShowInTarget; > import org.eclipse.ui.part.IShowInTargetList; >+import org.eclipse.ui.part.PluginTransfer; > import org.eclipse.ui.part.ResourceTransfer; > import org.eclipse.ui.part.ShowInContext; > import org.eclipse.ui.part.ViewPart; >@@ -376,7 +377,8 @@ > Transfer[] transfers= new Transfer[] { > LocalSelectionTransfer.getInstance(), > ResourceTransfer.getInstance(), >- FileTransfer.getInstance() >+ FileTransfer.getInstance(), >+ PluginTransfer.getInstance() > }; > TransferDragSourceListener[] dragListeners= new TransferDragSourceListener[] { > new SelectionTransferDragAdapter(viewer), >@@ -397,8 +399,7 @@ > new ResourceTransferDropAdapter(viewer), > new FileTransferDropAdapter(viewer) > }; >- viewer.addDropSupport(ops, transfers, new DelegatingDropAdapter(dropListeners)); >- } >+ viewer.addDropSupport(ops, transfers, new DelegatingDropAdapter(viewer, dropListeners)); } > > /** > * Initializes the default preferences >Index: src/org/eclipse/cdt/internal/ui/dnd/DelegatingDropAdapter.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.cdt-core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/dnd/DelegatingDropAdapter.java,v >retrieving revision 1.4 >diff -u -r1.4 DelegatingDropAdapter.java >--- src/org/eclipse/cdt/internal/ui/dnd/DelegatingDropAdapter.java 13 Nov 2006 11:53:42 -0000 1.4 >+++ src/org/eclipse/cdt/internal/ui/dnd/DelegatingDropAdapter.java 25 Oct 2007 19:41:32 -0000 >@@ -11,19 +11,23 @@ > > package org.eclipse.cdt.internal.ui.dnd; > >+import org.eclipse.cdt.core.model.ICElement; >+import org.eclipse.core.resources.IContainer; > import org.eclipse.core.runtime.SafeRunner; > import org.eclipse.core.runtime.Assert; > import org.eclipse.jface.util.SafeRunnable; >+import org.eclipse.jface.viewers.StructuredViewer; > import org.eclipse.swt.dnd.DND; > import org.eclipse.swt.dnd.DropTargetEvent; > import org.eclipse.swt.dnd.DropTargetListener; > import org.eclipse.swt.dnd.Transfer; > import org.eclipse.swt.dnd.TransferData; >+import org.eclipse.ui.part.PluginDropAdapter; > > /** > * DelegatingDropAdapter > */ >-public class DelegatingDropAdapter implements DropTargetListener { >+public class DelegatingDropAdapter extends PluginDropAdapter { // implements DropTargetListener { > private TransferDropTargetListener[] fListeners; > TransferDropTargetListener fCurrentListener; > private int fOriginalDropType; >@@ -33,7 +37,8 @@ > * > * @param listeners an array of potential listeners > */ >- public DelegatingDropAdapter(TransferDropTargetListener[] listeners) { >+ public DelegatingDropAdapter(StructuredViewer viewer, TransferDropTargetListener[] listeners) { >+ super(viewer); > Assert.isNotNull(listeners); > fListeners= listeners; > } >@@ -49,6 +54,7 @@ > public void dragEnter(DropTargetEvent event) { > fOriginalDropType= event.detail; > updateCurrentListener(event); >+ super.dragEnter(event); > } > > /** >@@ -85,6 +91,7 @@ > } > }); > } >+ super.dragOperationChanged(event); > } > > /** >@@ -128,7 +135,8 @@ > getCurrentListener().drop(event); > } > }); >- } >+ } else >+ super.drop(event); > setCurrentListener(null, event); > } > >@@ -139,13 +147,18 @@ > * @see DropTargetListener#dropAccept(DropTargetEvent) > */ > public void dropAccept(final DropTargetEvent event) { >+ updateCurrentListener(event); > if (getCurrentListener() != null) { > SafeRunner.run(new SafeRunnable() { > public void run() throws Exception { > getCurrentListener().dropAccept(event); > } > }); >- } >+ } else >+ super.dropAccept(event); >+ // Copy is the default operation >+ if(DND.DROP_DEFAULT == event.detail) >+ event.detail = DND.DROP_COPY; > } > > /** >@@ -231,7 +244,7 @@ > * > * @param event the drop target event > */ >- private void updateCurrentListener(DropTargetEvent event) { >+ private boolean updateCurrentListener(DropTargetEvent event) { > int originalDetail= event.detail; > // Revert the detail to the "original" drop type that the User > // indicated. This is necessary because the previous listener >@@ -252,13 +265,29 @@ > // event detail > if (!setCurrentListener(listener, event)) > event.detail= originalDetail; >- return; >+ return true; > } > event.currentDataType= originalDataType; > } > } > setCurrentListener(null, event); >- event.detail= DND.DROP_NONE; >+ // event.detail= DND.DROP_NONE; >+ return false; >+ } >+ >+ protected Object determineTarget(DropTargetEvent event) { >+ Object dropTarget = super.determineTarget(event); >+ if (dropTarget instanceof ICElement) >+ dropTarget = ((ICElement)dropTarget).getResource(); >+ return dropTarget; >+ } >+ >+ protected Object getCurrentTarget() { >+ Object dropTarget = super.getCurrentTarget(); >+ if (dropTarget instanceof IContainer) { >+ return dropTarget; >+ } else >+ return null; > } > > } >Index: src/org/eclipse/cdt/internal/ui/editor/CContentOutlinePage.java >=================================================================== >RCS file: /cvsroot/tools/org.eclipse.cdt-core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CContentOutlinePage.java,v >retrieving revision 1.62 >diff -u -r1.62 CContentOutlinePage.java >--- src/org/eclipse/cdt/internal/ui/editor/CContentOutlinePage.java 18 Jul 2007 08:25:17 -0000 1.62 >+++ src/org/eclipse/cdt/internal/ui/editor/CContentOutlinePage.java 25 Oct 2007 19:44:14 -0000 >@@ -531,8 +531,8 @@ > TransferDropTargetListener[] dropListeners= new TransferDropTargetListener[] { > new SelectionTransferDropAdapter(fTreeViewer) > }; >- fTreeViewer.addDropSupport(ops | DND.DROP_DEFAULT, transfers, new DelegatingDropAdapter(dropListeners)); >- >+ fTreeViewer.addDropSupport(ops | DND.DROP_DEFAULT, transfers, >+ new DelegatingDropAdapter(fTreeViewer, dropListeners)); > // Drag Adapter > TransferDragSourceListener[] dragListeners= new TransferDragSourceListener[] { > new SelectionTransferDragAdapter(fTreeViewer) >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
bjorn.freeman-benson
:
iplog+
Actions:
View
|
Diff
Attachments on
bug 165553
:
58288
| 81211