diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/gef/.ratings b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/gef/.ratings index 5697540ac6c14cb177229b94761a8447c8c97270..1d34bbdbe5589743708ede5f2b3471f31d496108 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/gef/.ratings +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/gef/.ratings @@ -1,2 +1,2 @@ -ConnectionCompositionDropTargetListener.java ba861adbef5ca39644386be53826a939be5110a3 RED -ElementCompositionDropTargetListener.java ab0fd4910f84790d72ec76ad20d87542019ed206 RED +ConnectionCompositionDropTargetListener.java 502736cffbe766ee4df5fec44e90b6d9d49584a8 YELLOW +ElementCompositionDropTargetListener.java 1fda888c2229eab3f20ea0d32be27520eeed9519 YELLOW diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/gef/ConnectionCompositionDropTargetListener.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/gef/ConnectionCompositionDropTargetListener.java index 556c06cd34fd67eefcf5bcaf1e9ecbf4428fb7da..381852ea10180afd9ff43c89cbc91227627e7374 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/gef/ConnectionCompositionDropTargetListener.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/gef/ConnectionCompositionDropTargetListener.java @@ -25,7 +25,6 @@ import org.fortiss.tooling.kernel.service.IConnectionCompositorService; import org.fortiss.tooling.kernel.ui.dnd.CompositionServiceLocalDNDTransfer; import org.fortiss.tooling.kernel.ui.dnd.ConnectionCompositionSource; -// TODO(SB,6) (x2) /** * This class implements a drop target listener for {@link EditPartViewer}s, * which creates {@link CreateConnectionCompositionRequest}s. The request @@ -34,13 +33,10 @@ import org.fortiss.tooling.kernel.ui.dnd.ConnectionCompositionSource; * which completes the DND operation with the target information. It then relays * the completed DND operation to the {@link IConnectionCompositorService}. * <p> - * This class mimics the behavior of the kernel's SWT-based * - * {@link ConnectionCompositionDropTargetAdapter}, but uses the GEF abstraction * {@link AbstractTransferDropTargetListener} super class. * * @see RelayCreateCommandEditPolicyBase - * @see ConnectionCompositionDropTargetAdapter * * @author hoelzl */ @@ -68,14 +64,12 @@ public class ConnectionCompositionDropTargetListener extends AbstractTransferDro ConnectionCompositionSource sourceData = null; if(getCurrentEvent().data instanceof ConnectionCompositionSource) { sourceData = (ConnectionCompositionSource)getCurrentEvent().data; - // TODO(SB,20) } else if(CompositionServiceLocalDNDTransfer.getInstance().getObject() instanceof ConnectionCompositionSource) { // there have been reports about SWT platform inconsistencies: // on OSX getCurrentEvent().data might be null during dragging // while it is not null on other platforms. Therefore, we use this // fallback. sourceData = - // TODO(SB,20) (ConnectionCompositionSource)CompositionServiceLocalDNDTransfer.getInstance() .getObject(); } diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/gef/ElementCompositionDropTargetListener.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/gef/ElementCompositionDropTargetListener.java index 5ec27bb544870d3845dfbe5614cdc9e0e0569ef0..cd5f5984a7da89a85f235e7a6b63a915e7f7bd90 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/gef/ElementCompositionDropTargetListener.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/gef/ElementCompositionDropTargetListener.java @@ -25,7 +25,6 @@ import org.fortiss.tooling.kernel.service.IElementCompositorService; import org.fortiss.tooling.kernel.ui.dnd.CompositionServiceLocalDNDTransfer; import org.fortiss.tooling.kernel.ui.dnd.ElementCompositionSource; -// TODO(SB,6) (x2) /** * This class implements a drop target listener for {@link EditPartViewer}s, * which creates {@link CreateElementCompositionRequest}s. The request contains @@ -34,16 +33,14 @@ import org.fortiss.tooling.kernel.ui.dnd.ElementCompositionSource; * the DND operation with the target information. It then relays the completed * DND operation to the {@link IElementCompositorService}. * <p> - * This class mimics the behavior of the kernel's SWT-based // TODO(SB,20) * - * {@link ElementCompositionDropTargetAdapter}, but uses the GEF abstraction * {@link AbstractTransferDropTargetListener} super class. * * @see RelayCreateCommandEditPolicyBase - * @see ElementCompositionDropTargetAdapter * * @author hoelzl */ + public class ElementCompositionDropTargetListener extends AbstractTransferDropTargetListener { /** Constructor. */ @@ -67,13 +64,11 @@ public class ElementCompositionDropTargetListener extends AbstractTransferDropTa ElementCompositionSource sourceData = null; if(getCurrentEvent().data instanceof ElementCompositionSource) { sourceData = (ElementCompositionSource)getCurrentEvent().data; - // TODO(SB,20) } else if(CompositionServiceLocalDNDTransfer.getInstance().getObject() instanceof ElementCompositionSource) { // there have been reports about SWT platform inconsistencies: // on OSX getCurrentEvent().data might be null during dragging // while it is not null on other platforms. Therefore, we use this // fallback. - // TODO(SB,20) sourceData = (ElementCompositionSource)CompositionServiceLocalDNDTransfer.getInstance() .getObject(); diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/jface/.ratings b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/jface/.ratings index b66c64bb4e660ac115a5965ba137298d05c0a389..22690d6274dc1b4d6eae0be87b2457c213f407e5 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/jface/.ratings +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/jface/.ratings @@ -1 +1 @@ -ViewerElementCompositionDropAdapter.java 7f3adb61b8e7caba17e501a7260f72853f995606 RED +ViewerElementCompositionDropAdapter.java 255646545e2c72055c1c090396525f21491f70e4 YELLOW diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/jface/ViewerElementCompositionDropAdapter.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/jface/ViewerElementCompositionDropAdapter.java index f74e3ceaba8fcd4afc38ab111848b1b025fee0ee..fe78ecb4854495f1fae994ad33dece9edb423650 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/jface/ViewerElementCompositionDropAdapter.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/dnd/jface/ViewerElementCompositionDropAdapter.java @@ -24,24 +24,18 @@ import org.eclipse.jface.viewers.TreeViewer; import org.eclipse.jface.viewers.Viewer; import org.eclipse.jface.viewers.ViewerDropAdapter; import org.eclipse.swt.dnd.DND; -import org.eclipse.swt.dnd.DropTargetAdapter; import org.eclipse.swt.dnd.DropTargetEvent; import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.dnd.TransferData; import org.fortiss.tooling.kernel.service.IElementCompositorService; import org.fortiss.tooling.kernel.ui.dnd.CompositionServiceLocalDNDTransfer; -import org.fortiss.tooling.kernel.ui.util.DragAndDropUtils; -//TODO(SB,6) (x2) /** - * {@link ViewerDropAdapter} implementation for a JFace {@link TreeViewer}. This - * implementation mimics the behavior of SWT-based {@link ElementCompositionDropTargetAdapter}, but - * uses the JFace super class {@link ViewerDropAdapter} instead of SWT's {@link DropTargetAdapter}. - * - * @see ElementCompositionDropTargetAdapter - * + * {@link ViewerDropAdapter} implementation for a JFace {@link TreeViewer}. + * * @author hoelzl */ + public class ViewerElementCompositionDropAdapter extends ViewerDropAdapter { /** Remember the last target. */ @@ -77,15 +71,14 @@ public class ViewerElementCompositionDropAdapter extends ViewerDropAdapter { public boolean performDrop(Object data) { if(lastTarget instanceof EObject) { final EObject target = (EObject)lastTarget; - // TODO(SB,25) - final EObject dropped = DragAndDropUtils.extractDroppedEObject(data); - // TODO(SB,20) - if(IElementCompositorService.getInstance().canCompose(target, dropped, null)) { + final EObject dropped = extractDroppedEObject(data); + + IElementCompositorService instance = IElementCompositorService.getInstance(); + if(instance.canCompose(target, dropped, null)) { runAsCommand(target, new Runnable() { @Override public void run() { - // TODO(SB,20) - IElementCompositorService.getInstance().compose(target, dropped, null); + instance.compose(target, dropped, null); } }); return true; diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/.ratings b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/.ratings index cb8b8ff89c1f25ef5f8cb565142482ef03e5f69d..25505d025dfeb99e0dadb33892c120543a1fd521 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/.ratings +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/.ratings @@ -7,4 +7,4 @@ DiagramKeyHandler.java 9c59eca862c9f878da7cbf7c220f26b38737095c GREEN FormsEditorBase.java 50934d36124dea9b16ac45fe3621d878afb48bc7 GREEN GEFEditorBase.java 7cc55eaf9c9ffa351b683512832273a4b54a3830 GREEN StyledTextCellEditor.java 3e678e4e8dbadb8463201bc62e7a67003acae8a8 GREEN -TreeViewerEditorBase.java 8cff2f2c65d61d267513a787b76d991dda7ff317 GREEN +TreeViewerEditorBase.java 5d2f159b59a1785cf118ac95cf4ad99b475efbe2 YELLOW diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/TreeViewerEditorBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/TreeViewerEditorBase.java index 57835acf40be7ffe17989c54743f0ebeadadeace..72c5464f74fc2d4f06bccfcf01ee2684997531e6 100644 --- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/TreeViewerEditorBase.java +++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/TreeViewerEditorBase.java @@ -38,6 +38,7 @@ import org.fortiss.tooling.kernel.ui.extension.base.EditorBase; * * @author hoelzl */ + public abstract class TreeViewerEditorBase<T extends EObject> extends EditorBase<T> { /** Stores the {@link TreeViewer}. */