Author: scabanovich
Date: 2008-05-29 08:37:01 -0400 (Thu, 29 May 2008)
New Revision: 8424
Added:
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/SelectOnDiagramHandler.java
Modified:
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/plugin.xml
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/resources/meta/seam-pages.meta
Log:
JBIDE-1189
Modified: trunk/seam/plugins/org.jboss.tools.seam.pages.xml/plugin.xml
===================================================================
--- trunk/seam/plugins/org.jboss.tools.seam.pages.xml/plugin.xml 2008-05-29 11:51:52 UTC
(rev 8423)
+++ trunk/seam/plugins/org.jboss.tools.seam.pages.xml/plugin.xml 2008-05-29 12:37:01 UTC
(rev 8424)
@@ -64,6 +64,8 @@
class="org.jboss.tools.seam.pages.xml.model.handlers.DeleteOutputHandler"/>
<xclass
id="org.jboss.tools.seam.pages.xml.model.handlers.OpenPageHandler"
class="org.jboss.tools.seam.pages.xml.model.handlers.OpenPageHandler"/>
+ <xclass
id="org.jboss.tools.seam.pages.xml.model.handlers.SelectOnDiagramHandler"
+ class="org.jboss.tools.seam.pages.xml.model.handlers.SelectOnDiagramHandler"/>
</extension>
<extension point="org.eclipse.wst.xml.core.catalogContributions">
Modified:
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/resources/meta/seam-pages.meta
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/resources/meta/seam-pages.meta 2008-05-29
11:51:52 UTC (rev 8423)
+++
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/resources/meta/seam-pages.meta 2008-05-29
12:37:01 UTC (rev 8424)
@@ -757,6 +757,13 @@
</XActionItem>
</XActionItem>
<XActionItem ICON="action.empty" displayName="Create"
kind="list" name="EditActions"/>
+ <XActionItem HIDE="disabled"
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.OpenPageHandler"
+ ICON="action.empty" PROPERTIES="actionpath=Open"
+ displayName="Open Page" kind="action"
name="OpenPage"/>
+ <XActionItem
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.SelectOnDiagramHandler"
+ ICON="action.empty" displayName="Select on Diagram"
kind="action" name="Select"/>
<XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
<XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
ICON="action.copy" displayName="Copy" kind="action"
name="Copy"/>
@@ -862,6 +869,13 @@
</XActionItem>
</XActionItem>
<XActionItem ICON="action.empty" displayName="Create"
kind="list" name="EditActions"/>
+ <XActionItem HIDE="disabled"
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.OpenPageHandler"
+ ICON="action.empty" PROPERTIES="actionpath=Open"
+ displayName="Open Page" kind="action"
name="OpenPage"/>
+ <XActionItem
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.SelectOnDiagramHandler"
+ ICON="action.empty" displayName="Select on Diagram"
kind="action" name="Select"/>
<XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
<XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
ICON="action.copy" displayName="Copy" kind="action"
name="Copy"/>
@@ -1962,6 +1976,13 @@
</XActionItem>
</XActionItem>
<XActionItem ICON="action.empty" displayName="Create"
kind="list" name="EditActions"/>
+ <XActionItem HIDE="disabled"
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.OpenPageHandler"
+ ICON="action.empty" PROPERTIES="actionpath=Open"
+ displayName="Open Page" kind="action"
name="OpenPage"/>
+ <XActionItem
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.SelectOnDiagramHandler"
+ ICON="action.empty" displayName="Select on Diagram"
kind="action" name="Select"/>
<XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
<XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
ICON="action.copy" displayName="Copy" kind="action"
name="Copy"/>
@@ -2032,6 +2053,13 @@
</XActionItem>
</XActionItem>
<XActionItem ICON="action.empty" displayName="Create"
kind="list" name="EditActions"/>
+ <XActionItem HIDE="disabled"
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.OpenPageHandler"
+ ICON="action.empty" PROPERTIES="actionpath=Open"
+ displayName="Open Page" kind="action"
name="OpenPage"/>
+ <XActionItem
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.SelectOnDiagramHandler"
+ ICON="action.empty" displayName="Select on Diagram"
kind="action" name="Select"/>
<XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
<XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
ICON="action.copy" displayName="Copy" kind="action"
name="Copy"/>
@@ -2313,6 +2341,13 @@
</XActionItem>
</XActionItem>
<XActionItem ICON="action.empty" displayName="Create"
kind="list" name="EditActions"/>
+ <XActionItem HIDE="disabled"
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.OpenPageHandler"
+ ICON="action.empty" PROPERTIES="actionpath=Open"
+ displayName="Open Page" kind="action"
name="OpenPage"/>
+ <XActionItem
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.SelectOnDiagramHandler"
+ ICON="action.empty" displayName="Select on Diagram"
kind="action" name="Select"/>
<XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
<XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
ICON="action.copy" displayName="Copy" kind="action"
name="Copy"/>
@@ -2388,6 +2423,13 @@
</XActionItem>
</XActionItem>
<XActionItem ICON="action.empty" displayName="Create"
kind="list" name="EditActions"/>
+ <XActionItem HIDE="disabled"
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.OpenPageHandler"
+ ICON="action.empty" PROPERTIES="actionpath=Open"
+ displayName="Open Page" kind="action"
name="OpenPage"/>
+ <XActionItem
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.SelectOnDiagramHandler"
+ ICON="action.empty" displayName="Select on Diagram"
kind="action" name="Select"/>
<XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
<XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
ICON="action.copy" displayName="Copy" kind="action"
name="Copy"/>
@@ -2454,6 +2496,13 @@
</XActionItem>
</XActionItem>
<XActionItem ICON="action.empty" displayName="Create"
kind="list" name="EditActions"/>
+ <XActionItem HIDE="disabled"
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.OpenPageHandler"
+ ICON="action.empty" PROPERTIES="actionpath=Open"
+ displayName="Open Page" kind="action"
name="OpenPage"/>
+ <XActionItem
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.SelectOnDiagramHandler"
+ ICON="action.empty" displayName="Select on Diagram"
kind="action" name="Select"/>
<XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
<XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
ICON="action.copy" displayName="Copy" kind="action"
name="Copy"/>
@@ -2567,6 +2616,13 @@
</XActionItem>
</XActionItem>
<XActionItem ICON="action.empty" displayName="Create"
kind="list" name="EditActions"/>
+ <XActionItem HIDE="disabled"
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.OpenPageHandler"
+ ICON="action.empty" PROPERTIES="actionpath=Open"
+ displayName="Open Page" kind="action"
name="OpenPage"/>
+ <XActionItem
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.SelectOnDiagramHandler"
+ ICON="action.empty" displayName="Select on Diagram"
kind="action" name="Select"/>
<XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
<XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
ICON="action.copy" displayName="Copy" kind="action"
name="Copy"/>
@@ -2636,6 +2692,13 @@
</XActionItem>
</XActionItem>
<XActionItem ICON="action.empty" displayName="Create"
kind="list" name="EditActions"/>
+ <XActionItem HIDE="disabled"
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.OpenPageHandler"
+ ICON="action.empty" PROPERTIES="actionpath=Open"
+ displayName="Open Page" kind="action"
name="OpenPage"/>
+ <XActionItem
+
HandlerClassName="org.jboss.tools.seam.pages.xml.model.handlers.SelectOnDiagramHandler"
+ ICON="action.empty" displayName="Select on Diagram"
kind="action" name="Select"/>
<XActionItem ICON="action.copy" displayName="Copy"
kind="list" name="CopyActions">
<XActionItem BaseActionName="Copy" HandlerClassName="%Copy%"
ICON="action.copy" displayName="Copy" kind="action"
name="Copy"/>
Added:
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/SelectOnDiagramHandler.java
===================================================================
---
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/SelectOnDiagramHandler.java
(rev 0)
+++
trunk/seam/plugins/org.jboss.tools.seam.pages.xml/src/org/jboss/tools/seam/pages/xml/model/handlers/SelectOnDiagramHandler.java 2008-05-29
12:37:01 UTC (rev 8424)
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ * Copyright (c) 2007 Exadel, Inc. and 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
+ *
+ * Contributors:
+ * Exadel, Inc. and Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.seam.pages.xml.model.handlers;
+
+import java.util.*;
+import org.jboss.tools.common.model.*;
+import org.jboss.tools.common.model.util.FindObjectHelper;
+import org.jboss.tools.common.meta.action.impl.*;
+import org.jboss.tools.jst.web.model.ReferenceObject;
+import org.jboss.tools.seam.pages.xml.model.SeamPagesConstants;
+import org.jboss.tools.seam.pages.xml.model.helpers.SeamPagesProcessStructureHelper;
+
+public class SelectOnDiagramHandler extends AbstractHandler implements SeamPagesConstants
{
+
+ public SelectOnDiagramHandler() {}
+
+ public boolean isEnabled(XModelObject object) {
+ return (object != null && object.isActive());
+ }
+
+ public void executeHandler(XModelObject object, Properties p) throws XModelException
{
+ if(object == null) return;
+ String entity = object.getModelEntity().getName();
+ if(entity.startsWith(SeamPagesConstants.ENT_NAVIGATION_RULE)
+ || entity.startsWith(SeamPagesConstants.ENT_RULE)) {
+ object = object.getChildByPath("target");
+ }
+ XModelObject item = getItemOnProcess(object);
+ if(item == null) return;
+ FindObjectHelper.findModelObject(item, FindObjectHelper.IN_EDITOR_ONLY,
"Diagram");
+ FindObjectHelper.findModelObject(object, FindObjectHelper.IN_EDITOR_ONLY);
+ }
+
+ public static XModelObject getItemOnProcess(XModelObject object) {
+ if(object == null) return null;
+ XModelObject process =
SeamPagesProcessStructureHelper.instance.getProcess(object);
+ return (process == null) ? null : getItemOnProcess(process, object);
+ }
+
+ public static XModelObject getItemOnProcess(XModelObject processObject, XModelObject
object) {
+ if(processObject instanceof ReferenceObject) {
+ if(((ReferenceObject)processObject).getReference() == object) return
processObject;
+ }
+ return getItemOnProcess(processObject.getChildren(), object);
+ }
+
+ public static XModelObject getItemOnProcess(XModelObject[] processObjects,
XModelObject object) {
+ for (int i = 0; i < processObjects.length; i++) {
+ XModelObject cr = getItemOnProcess(processObjects[i], object);
+ if(cr != null) return cr;
+ }
+ return null;
+ }
+
+}
+