diff options
| author | Laurent Redor | 2015-01-26 15:16:25 +0000 |
|---|---|---|
| committer | Laurent Redor | 2015-01-27 08:55:26 +0000 |
| commit | ebfbfea8deaf1a48fd22e9476d060901c94e26c8 (patch) | |
| tree | a1157a203186748bc7d4015035fa38f7b3a6bda4 | |
| parent | b50c0d58a9cb393a76f07896e0afdf342de93757 (diff) | |
| download | org.eclipse.sirius-ebfbfea8deaf1a48fd22e9476d060901c94e26c8.tar.gz org.eclipse.sirius-ebfbfea8deaf1a48fd22e9476d060901c94e26c8.tar.xz org.eclipse.sirius-ebfbfea8deaf1a48fd22e9476d060901c94e26c8.zip | |
[458491] Fix directEdit capability after node creation
The solution proposed on GEF bug 458416 has been directly done in Sirius
subClass SiriusDiagramGraphicalViewer.
The setFocus(null) is called only if newSelection is an instance of
IStructuredSelection because in other case, the
org.eclipse.gef.SelectionManager.setSelection(ISelection) does nothing.
Bug: 458491
Cherry-picked-from: 458417
Change-Id: Iab1d94ca772ca2bf26de22d02dd17b89cab557af
Signed-off-by: Laurent Redor <laurent.redor@obeo.fr>
| -rw-r--r-- | plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/part/SiriusDiagramGraphicalViewer.java | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/part/SiriusDiagramGraphicalViewer.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/part/SiriusDiagramGraphicalViewer.java index 23466d650b..58cc47b07b 100644 --- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/part/SiriusDiagramGraphicalViewer.java +++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/part/SiriusDiagramGraphicalViewer.java @@ -23,6 +23,8 @@ import org.eclipse.gef.EditPart; import org.eclipse.gmf.runtime.diagram.ui.internal.parts.PaletteToolTransferDropTargetListener; import org.eclipse.gmf.runtime.diagram.ui.parts.DiagramGraphicalViewer; import org.eclipse.jface.util.TransferDropTargetListener; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.sirius.diagram.DiagramPlugin; import org.eclipse.sirius.diagram.ui.tools.api.part.IDiagramDialectGraphicalViewer; import org.eclipse.sirius.diagram.ui.tools.internal.editor.SiriusPaletteToolDropTargetListener; @@ -335,4 +337,14 @@ public class SiriusDiagramGraphicalViewer extends DiagramGraphicalViewer impleme } } + @Override + public void setSelection(ISelection newSelection) { + // This setFocus to null must be provided by the super class directly. + // The corresponding GEF bugzilla is 458416. + if (newSelection instanceof IStructuredSelection) { + setFocus(null); + } + + super.setSelection(newSelection); + } } |
