Skip to content
Snippets Groups Projects
Commit bc9a78f7 authored by Daniel Ratiu's avatar Daniel Ratiu
Browse files

adding a tooltip with a hint about how to draw connections

refs 1084
parent fd5cf069
No related branches found
No related tags found
No related merge requests found
...@@ -27,6 +27,7 @@ import static org.eclipse.gef.editparts.ZoomManager.FIT_WIDTH; ...@@ -27,6 +27,7 @@ import static org.eclipse.gef.editparts.ZoomManager.FIT_WIDTH;
import static org.fortiss.tooling.base.layout.DefaultLayoutConstants.DEFAULT_GRID_ORIGIN_X; import static org.fortiss.tooling.base.layout.DefaultLayoutConstants.DEFAULT_GRID_ORIGIN_X;
import static org.fortiss.tooling.base.layout.DefaultLayoutConstants.DEFAULT_GRID_ORIGIN_Y; import static org.fortiss.tooling.base.layout.DefaultLayoutConstants.DEFAULT_GRID_ORIGIN_Y;
import static org.fortiss.tooling.base.layout.DefaultLayoutConstants.DEFAULT_GRID_SIZE; import static org.fortiss.tooling.base.layout.DefaultLayoutConstants.DEFAULT_GRID_SIZE;
import static org.fortiss.tooling.kernel.ui.util.EObjectSelectionUtils.getFirstElement;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
...@@ -35,6 +36,7 @@ import java.util.HashSet; ...@@ -35,6 +36,7 @@ import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import org.conqat.ide.commons.ui.selection.SelectionUtils;
import org.eclipse.draw2d.ColorConstants; import org.eclipse.draw2d.ColorConstants;
import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.IFigure;
import org.eclipse.draw2d.geometry.Dimension; import org.eclipse.draw2d.geometry.Dimension;
...@@ -74,6 +76,7 @@ import org.eclipse.jface.viewers.ISelectionChangedListener; ...@@ -74,6 +76,7 @@ import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.swt.SWT; import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Menu; import org.eclipse.swt.widgets.Menu;
import org.eclipse.ui.IActionBars; import org.eclipse.ui.IActionBars;
import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IEditorInput;
...@@ -81,6 +84,8 @@ import org.eclipse.ui.IEditorSite; ...@@ -81,6 +84,8 @@ import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.ISelectionListener; import org.eclipse.ui.ISelectionListener;
import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.PartInitException; import org.eclipse.ui.PartInitException;
import org.fortiss.tooling.base.model.element.IConnector;
import org.fortiss.tooling.base.model.element.IHierarchicElement;
import org.fortiss.tooling.base.ui.dnd.gef.ElementCompositionDropTargetListener; import org.fortiss.tooling.base.ui.dnd.gef.ElementCompositionDropTargetListener;
import org.fortiss.tooling.base.ui.editpart.ConnectorEditPartBase; import org.fortiss.tooling.base.ui.editpart.ConnectorEditPartBase;
import org.fortiss.tooling.base.ui.editpart.DiagramEditPartBase; import org.fortiss.tooling.base.ui.editpart.DiagramEditPartBase;
...@@ -91,7 +96,6 @@ import org.fortiss.tooling.kernel.ui.extension.base.EObjectActionBase; ...@@ -91,7 +96,6 @@ import org.fortiss.tooling.kernel.ui.extension.base.EObjectActionBase;
import org.fortiss.tooling.kernel.ui.extension.data.ContextMenuContextProvider; import org.fortiss.tooling.kernel.ui.extension.data.ContextMenuContextProvider;
import org.fortiss.tooling.kernel.ui.service.IContextMenuService; import org.fortiss.tooling.kernel.ui.service.IContextMenuService;
import org.fortiss.tooling.kernel.ui.service.IEditPartFactoryService; import org.fortiss.tooling.kernel.ui.service.IEditPartFactoryService;
import org.fortiss.tooling.kernel.ui.util.EObjectSelectionUtils;
/** /**
* GEF editor base implementation for graphical viewer editors. * GEF editor base implementation for graphical viewer editors.
...@@ -101,7 +105,7 @@ import org.fortiss.tooling.kernel.ui.util.EObjectSelectionUtils; ...@@ -101,7 +105,7 @@ import org.fortiss.tooling.kernel.ui.util.EObjectSelectionUtils;
* @author hoelzl * @author hoelzl
* @author $Author$ * @author $Author$
* @version $Rev$ * @version $Rev$
* @ConQAT.Rating YELLOW Hash: ED4D836D8777F3C81641AFB476504921 * @ConQAT.Rating YELLOW Hash: 34AD598E80FD2507CF8EF5AD46AC9A9E
*/ */
public class DiagramEditorBase<T extends EObject> extends GEFEditorBase<T> implements public class DiagramEditorBase<T extends EObject> extends GEFEditorBase<T> implements
IPostSelectionProvider, ContextMenuContextProvider { IPostSelectionProvider, ContextMenuContextProvider {
...@@ -128,6 +132,15 @@ public class DiagramEditorBase<T extends EObject> extends GEFEditorBase<T> imple ...@@ -128,6 +132,15 @@ public class DiagramEditorBase<T extends EObject> extends GEFEditorBase<T> imple
private final ISelectionListener selectionListener = new ISelectionListener() { private final ISelectionListener selectionListener = new ISelectionListener() {
@Override @Override
public void selectionChanged(IWorkbenchPart part, ISelection selection) { public void selectionChanged(IWorkbenchPart part, ISelection selection) {
EditPart ep = SelectionUtils.checkAndPickFirstSafe(selection, EditPart.class);
if(ep != null) {
Control control = ep.getViewer().getControl();
if(ep.getModel() instanceof IConnector) {
control.setToolTipText("Link two connectors by pressing ALT and dragging from source to target.");
} else if(ep.getModel() instanceof IHierarchicElement) {
control.setToolTipText("Create a connection by pressing ALT and dragging.");
}
}
updateActions(selectionActions); updateActions(selectionActions);
} }
}; };
...@@ -146,8 +159,7 @@ public class DiagramEditorBase<T extends EObject> extends GEFEditorBase<T> imple ...@@ -146,8 +159,7 @@ public class DiagramEditorBase<T extends EObject> extends GEFEditorBase<T> imple
@Override @Override
public EObject getSelectedModelElement() { public EObject getSelectedModelElement() {
if(getSite().getSelectionProvider() != null) { if(getSite().getSelectionProvider() != null) {
return EObjectSelectionUtils.getFirstElement(getSite().getSelectionProvider() return getFirstElement(getSite().getSelectionProvider().getSelection());
.getSelection());
} }
return null; return null;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment