Author: vyemialyanchyk
Date: 2009-07-27 13:54:15 -0400 (Mon, 27 Jul 2009)
New Revision: 16822
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/parts/ExpandeableShapeTreeEditPart.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/parts/ShapeTreeEditPart.java
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/popup/PopupMenuProvider.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4621 - fixed
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/parts/ExpandeableShapeTreeEditPart.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/parts/ExpandeableShapeTreeEditPart.java 2009-07-27
15:40:13 UTC (rev 16821)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/parts/ExpandeableShapeTreeEditPart.java 2009-07-27
17:54:15 UTC (rev 16822)
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
package org.jboss.tools.hibernate.ui.diagram.editors.parts;
import java.beans.PropertyChangeEvent;
@@ -12,6 +22,9 @@
import org.jboss.tools.hibernate.ui.diagram.editors.model.Shape;
import org.jboss.tools.hibernate.ui.view.OrmLabelProvider;
+/**
+ *
+ */
public class ExpandeableShapeTreeEditPart extends
org.eclipse.gef.editparts.AbstractTreeEditPart implements
PropertyChangeListener {
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/parts/ShapeTreeEditPart.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/parts/ShapeTreeEditPart.java 2009-07-27
15:40:13 UTC (rev 16821)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/parts/ShapeTreeEditPart.java 2009-07-27
17:54:15 UTC (rev 16822)
@@ -1,3 +1,13 @@
+/*******************************************************************************
+ * Copyright (c) 2007-2009 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at
http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributor:
+ * Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
package org.jboss.tools.hibernate.ui.diagram.editors.parts;
import java.beans.PropertyChangeEvent;
@@ -11,6 +21,9 @@
import org.jboss.tools.hibernate.ui.diagram.editors.model.Shape;
import org.jboss.tools.hibernate.ui.view.OrmLabelProvider;
+/**
+ *
+ */
public class ShapeTreeEditPart extends
org.eclipse.gef.editparts.AbstractTreeEditPart implements
PropertyChangeListener {
Modified:
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/popup/PopupMenuProvider.java
===================================================================
---
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/popup/PopupMenuProvider.java 2009-07-27
15:40:13 UTC (rev 16821)
+++
trunk/hibernatetools/plugins/org.jboss.tools.hibernate.ui/src/org/jboss/tools/hibernate/ui/diagram/editors/popup/PopupMenuProvider.java 2009-07-27
17:54:15 UTC (rev 16822)
@@ -12,6 +12,7 @@
import org.eclipse.gef.ContextMenuProvider;
import org.eclipse.gef.EditPartViewer;
+import org.eclipse.gef.editparts.AbstractTreeEditPart;
import org.eclipse.gef.ui.actions.ActionRegistry;
import org.eclipse.gef.ui.actions.GEFActionConstants;
import org.eclipse.jface.action.IAction;
@@ -39,7 +40,7 @@
import org.jboss.tools.hibernate.ui.diagram.editors.parts.OrmEditPart;
/**
- *
+ * Context menu provider for Diagram Viewer and Diagram Outline.
*/
public class PopupMenuProvider extends ContextMenuProvider {
private ActionRegistry actionRegistry;
@@ -56,26 +57,37 @@
menu.add(new Separator(GEFActionConstants.MB_ADDITIONS));
IAction action = null;
if (getViewer().getSelection() instanceof StructuredSelection) {
+ Shape selectedShape = null;
IStructuredSelection selection = (IStructuredSelection) getViewer().getSelection();
- if (selection != null && selection.getFirstElement() instanceof OrmEditPart)
{
- Object obj = ((OrmEditPart)selection.getFirstElement()).getModel();
- if (null != obj && obj instanceof Shape) {
- Shape shape = (Shape)obj;
- Object first = shape.getOrmElement();
- if (first instanceof PersistentClass
- || first.getClass() == Property.class
- || first instanceof Table
- || first instanceof Column) {
- action = getActionRegistry().getAction(OpenSourceAction.ACTION_ID);
- appendToGroup(GEFActionConstants.MB_ADDITIONS, action);
- createMenuItem(getMenu(), action);
-
- action = getActionRegistry().getAction(OpenMappingAction.ACTION_ID);
- appendToGroup(GEFActionConstants.MB_ADDITIONS, action);
- createMenuItem(getMenu(), action);
+ if (selection != null) {
+ Object firstElement = selection.getFirstElement();
+ if (firstElement instanceof OrmEditPart) {
+ Object obj = ((OrmEditPart)firstElement).getModel();
+ if (null != obj && obj instanceof Shape) {
+ selectedShape = (Shape)obj;
+ }
+ } else if (firstElement instanceof AbstractTreeEditPart) {
+ Object obj = ((AbstractTreeEditPart)firstElement).getModel();
+ if (null != obj && obj instanceof Shape) {
+ selectedShape = (Shape)obj;
}
- }
+ }
}
+ if (selectedShape != null) {
+ Object first = selectedShape.getOrmElement();
+ if (first instanceof PersistentClass
+ || first.getClass() == Property.class
+ || first instanceof Table
+ || first instanceof Column) {
+ action = getActionRegistry().getAction(OpenSourceAction.ACTION_ID);
+ appendToGroup(GEFActionConstants.MB_ADDITIONS, action);
+ createMenuItem(getMenu(), action);
+
+ action = getActionRegistry().getAction(OpenMappingAction.ACTION_ID);
+ appendToGroup(GEFActionConstants.MB_ADDITIONS, action);
+ createMenuItem(getMenu(), action);
+ }
+ }
}
action = getActionRegistry().getAction(AutoLayoutAction.ACTION_ID);