From 150e5db061676ef11da1592ec315b24eb55962d9 Mon Sep 17 00:00:00 2001
From: Vincent Aravantinos <aravantinos@fortiss.org>
Date: Mon, 17 Mar 2014 14:26:21 +0000
Subject: [PATCH] Fixed the issue. Made the behavior general: any model whose
 behavior on double click is undefined will trigger the display of the
 properties tab. Can only be better than nothing it seems. If not, it will be
 easy to revert. refs 1911

---
 .../ui/editpart/ConnectionEditPartBase.java   | 19 ++++++++++++++++++-
 .../ui/editpart/ConnectorEditPartBase.java    | 19 ++++++++++++++++++-
 .../ui/editpart/GraphicalEditPartBase.java    | 19 ++++++++++++++++++-
 3 files changed, 54 insertions(+), 3 deletions(-)

diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ConnectionEditPartBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ConnectionEditPartBase.java
index 0c6ae6105..981de7868 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ConnectionEditPartBase.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ConnectionEditPartBase.java
@@ -41,14 +41,18 @@ import org.eclipse.emf.common.notify.Adapter;
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.gef.Request;
 import org.eclipse.gef.commands.Command;
 import org.eclipse.gef.editparts.AbstractConnectionEditPart;
 import org.eclipse.gef.editpolicies.BendpointEditPolicy;
 import org.eclipse.gef.requests.BendpointRequest;
 import org.eclipse.swt.graphics.Color;
 import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
 import org.fortiss.tooling.base.model.base.ConnectionSegmentBase;
 import org.fortiss.tooling.base.model.layout.Points;
+import org.fortiss.tooling.base.ui.ToolingBaseUIActivator;
 import org.fortiss.tooling.base.ui.editpart.command.bendpoint.CreateCommand;
 import org.fortiss.tooling.base.ui.editpart.command.bendpoint.DeleteCommand;
 import org.fortiss.tooling.base.ui.editpart.command.bendpoint.MoveCommand;
@@ -59,6 +63,7 @@ import org.fortiss.tooling.kernel.extension.data.IConstraintViolation.ESeverity;
 import org.fortiss.tooling.kernel.ui.extension.IModelElementHandler;
 import org.fortiss.tooling.kernel.ui.service.IMarkerService;
 import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService;
+import org.fortiss.tooling.kernel.utils.LoggingUtils;
 
 /**
  * Base class for connection edit parts. It provides the figure, labels for the
@@ -68,7 +73,7 @@ import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService;
  * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating GREEN Hash: 0EDD0FD2EE6E1EE6F23D0A5618118720
+ * @ConQAT.Rating YELLOW Hash: 9D3E456FAADAE2A956385D7E24C06B58
  */
 public abstract class ConnectionEditPartBase<T extends ConnectionSegmentBase> extends
 		AbstractConnectionEditPart {
@@ -393,4 +398,16 @@ public abstract class ConnectionEditPartBase<T extends ConnectionSegmentBase> ex
 	public IDiagramLayoutConfiguration getLayoutConfiguration() {
 		return layoutConfiguration;
 	}
+
+	/** {@inheritDoc} */
+	@Override
+	public void performRequest(Request req) {
+		try {
+			PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
+					.showView("org.eclipse.ui.views.PropertySheet");
+		} catch(PartInitException e) {
+			LoggingUtils.info(ToolingBaseUIActivator.getDefault(),
+					"No property section to display.");
+		}
+	}
 }
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ConnectorEditPartBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ConnectorEditPartBase.java
index 4aecaf994..f333d8b1f 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ConnectorEditPartBase.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ConnectorEditPartBase.java
@@ -40,17 +40,22 @@ import org.eclipse.draw2d.Label;
 import org.eclipse.draw2d.XYLayout;
 import org.eclipse.draw2d.geometry.Rectangle;
 import org.eclipse.gef.ConnectionEditPart;
+import org.eclipse.gef.Request;
 import org.eclipse.swt.graphics.Color;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
 import org.fortiss.tooling.base.model.element.IConnection;
 import org.fortiss.tooling.base.model.element.IConnector;
 import org.fortiss.tooling.base.model.element.IHierarchicElement;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
 import org.fortiss.tooling.base.model.layout.Point;
+import org.fortiss.tooling.base.ui.ToolingBaseUIActivator;
 import org.fortiss.tooling.base.ui.editpart.figure.AntiAliasedEllipse;
 import org.fortiss.tooling.base.ui.editpart.figure.TransparentLabel;
 import org.fortiss.tooling.base.ui.editpart.policy.DirectConnectionAndReconnectionEditPolicy;
 import org.fortiss.tooling.base.ui.editpart.policy.RemoveEditPolicy;
 import org.fortiss.tooling.kernel.model.INamedCommentedElement;
+import org.fortiss.tooling.kernel.utils.LoggingUtils;
 
 /**
  * Base class for connector edit parts.
@@ -58,7 +63,7 @@ import org.fortiss.tooling.kernel.model.INamedCommentedElement;
  * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating GREEN Hash: 9D5CD102C927DE3D070C43F2BC499D1A
+ * @ConQAT.Rating YELLOW Hash: 67112A4B6ABD306367A45DB6E990F5BF
  */
 public abstract class ConnectorEditPartBase<T extends ILayoutedModelElement & IConnector & INamedCommentedElement>
 		extends PositionedEditPartBase<T> {
@@ -246,4 +251,16 @@ public abstract class ConnectorEditPartBase<T extends ILayoutedModelElement & IC
 	 * connector in the current view (i.e. edit part).
 	 */
 	protected abstract boolean isTarget();
+
+	/** {@inheritDoc} */
+	@Override
+	public void performRequest(Request req) {
+		try {
+			PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
+					.showView("org.eclipse.ui.views.PropertySheet");
+		} catch(PartInitException e) {
+			LoggingUtils.info(ToolingBaseUIActivator.getDefault(),
+					"No property section to display.");
+		}
+	}
 }
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/GraphicalEditPartBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/GraphicalEditPartBase.java
index a6ab17602..8089ead18 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/GraphicalEditPartBase.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/GraphicalEditPartBase.java
@@ -21,11 +21,16 @@ import org.eclipse.emf.common.notify.Adapter;
 import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.util.EContentAdapter;
+import org.eclipse.gef.Request;
 import org.eclipse.gef.editparts.AbstractGraphicalEditPart;
 import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.PlatformUI;
+import org.fortiss.tooling.base.ui.ToolingBaseUIActivator;
 import org.fortiss.tooling.base.ui.layout.IDiagramLayoutConfiguration;
 import org.fortiss.tooling.kernel.ui.extension.IModelElementHandler;
 import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService;
+import org.fortiss.tooling.kernel.utils.LoggingUtils;
 
 /**
  * The base class for all graphical edit parts. Any change to the underlying
@@ -37,7 +42,7 @@ import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService;
  * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating GREEN Hash: D644F1A17F6A5E0CE14E49EF15A5052B
+ * @ConQAT.Rating YELLOW Hash: C423AC4A20917C8DA9A7E653191783C6
  */
 public abstract class GraphicalEditPartBase<T extends EObject> extends AbstractGraphicalEditPart {
 
@@ -120,4 +125,16 @@ public abstract class GraphicalEditPartBase<T extends EObject> extends AbstractG
 	 * while all other edit parts delegate this call to their parent edit part.
 	 */
 	public abstract IDiagramLayoutConfiguration getLayoutConfiguration();
+
+	/** {@inheritDoc} */
+	@Override
+	public void performRequest(Request req) {
+		try {
+			PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()
+					.showView("org.eclipse.ui.views.PropertySheet");
+		} catch(PartInitException e) {
+			LoggingUtils.info(ToolingBaseUIActivator.getDefault(),
+					"No property section to display.");
+		}
+	}
 }
-- 
GitLab