|
From: <caw...@us...> - 2007-09-10 14:56:25
|
Revision: 3118
http://rubyeclipse.svn.sourceforge.net/rubyeclipse/?rev=3118&view=rev
Author: cawilliams
Date: 2007-09-10 07:56:18 -0700 (Mon, 10 Sep 2007)
Log Message:
-----------
add a find references in hierarchy action
Modified Paths:
--------------
trunk/org.rubypeople.rdt.ui/plugin.xml
trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/search/SearchMessages.java
trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/search/SearchMessages.properties
trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/actions/IRubyEditorActionDefinitionIds.java
trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/actions/RdtActionConstants.java
trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/actions/ReferencesSearchGroup.java
Added Paths:
-----------
trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/actions/FindReferencesInHierarchyAction.java
Modified: trunk/org.rubypeople.rdt.ui/plugin.xml
===================================================================
--- trunk/org.rubypeople.rdt.ui/plugin.xml 2007-09-10 14:54:50 UTC (rev 3117)
+++ trunk/org.rubypeople.rdt.ui/plugin.xml 2007-09-10 14:56:18 UTC (rev 3118)
@@ -692,6 +692,12 @@
id="org.rubypeople.rdt.ui.edit.text.ruby.search.references.in.project">
</command>
<command
+ name="%ActionDefinition.referencesInHierarchy.name"
+ description="%ActionDefinition.referencesInHierarchy.description"
+ categoryId="org.eclipse.search.ui.category.search"
+ id="org.rubypeople.rdt.ui.edit.text.ruby.search.references.in.hierarchy">
+ </command>
+ <command
name="%ActionDefinition.referencesInWorkingSet.name"
description="%ActionDefinition.referencesInWorkingSet.description"
categoryId="org.eclipse.search.ui.category.search"
@@ -1174,6 +1180,14 @@
id="org.rubypeople.rdt.ui.actions.ReferencesInHierarchy">
</action>
<action
+ definitionId="org.rubypeople.rdt.ui.edit.text.ruby.search.references.in.hierarchy"
+ label="%InHierarchy.label"
+ retarget="true"
+ menubarPath="org.eclipse.search.menu/referencesSubMenu/group1"
+ allowLabelUpdate="true"
+ id="org.rubypeople.rdt.ui.actions.ReferencesInHierarchy">
+ </action>
+ <action
definitionId="org.rubypeople.rdt.ui.edit.text.ruby.search.references.in.project"
label="%InProject.label"
retarget="true"
Modified: trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/search/SearchMessages.java
===================================================================
--- trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/search/SearchMessages.java 2007-09-10 14:54:50 UTC (rev 3117)
+++ trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/search/SearchMessages.java 2007-09-10 14:56:18 UTC (rev 3118)
@@ -192,6 +192,9 @@
public static String Search_FindWriteReferencesInProjectAction_label;
public static String Search_FindWriteReferencesInProjectAction_tooltip;
+ public static String Search_FindHierarchyReferencesAction_label;
+ public static String Search_FindHierarchyReferencesAction_tooltip;
+
static {
NLS.initializeMessages(BUNDLE_NAME, SearchMessages.class);
}
Modified: trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/search/SearchMessages.properties
===================================================================
--- trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/search/SearchMessages.properties 2007-09-10 14:54:50 UTC (rev 3117)
+++ trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/search/SearchMessages.properties 2007-09-10 14:56:18 UTC (rev 3118)
@@ -128,6 +128,9 @@
Search_FindReferencesInWorkingSetAction_label= Working &Set...
Search_FindReferencesInWorkingSetAction_tooltip= Search for References to the Selected Element in a Working Set
+Search_FindHierarchyReferencesAction_label= &Hierarchy
+Search_FindHierarchyReferencesAction_tooltip= Search for References of the Selected Element in its Hierarchy
+
Search_FindReadReferencesAction_label= &Workspace
Search_FindReadReferencesAction_tooltip= Search for Read References to the Selected Element in the Workspace
Added: trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/actions/FindReferencesInHierarchyAction.java
===================================================================
--- trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/actions/FindReferencesInHierarchyAction.java (rev 0)
+++ trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/actions/FindReferencesInHierarchyAction.java 2007-09-10 14:56:18 UTC (rev 3118)
@@ -0,0 +1,85 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are 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:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.rubypeople.rdt.ui.actions;
+
+import org.eclipse.ui.IWorkbenchSite;
+import org.eclipse.ui.PlatformUI;
+import org.rubypeople.rdt.core.IField;
+import org.rubypeople.rdt.core.ILocalVariable;
+import org.rubypeople.rdt.core.IMethod;
+import org.rubypeople.rdt.core.IRubyElement;
+import org.rubypeople.rdt.core.IRubyScript;
+import org.rubypeople.rdt.core.IType;
+import org.rubypeople.rdt.core.RubyModelException;
+import org.rubypeople.rdt.core.search.IRubySearchScope;
+import org.rubypeople.rdt.core.search.SearchEngine;
+import org.rubypeople.rdt.internal.ui.IRubyHelpContextIds;
+import org.rubypeople.rdt.internal.ui.RubyPluginImages;
+import org.rubypeople.rdt.internal.ui.rubyeditor.RubyEditor;
+import org.rubypeople.rdt.internal.ui.search.RubySearchScopeFactory;
+import org.rubypeople.rdt.internal.ui.search.SearchMessages;
+import org.rubypeople.rdt.ui.search.ElementQuerySpecification;
+import org.rubypeople.rdt.ui.search.QuerySpecification;
+
+/**
+ * Finds references of the selected element in its hierarchy.
+ * The action is applicable to selections representing a Ruby element.
+ *
+ * <p>
+ * This class may be instantiated; it is not intended to be subclassed.
+ * </p>
+ *
+ * @since 2.0
+ */
+public class FindReferencesInHierarchyAction extends FindReferencesAction {
+
+ /**
+ * Creates a new <code>FindReferencesInHierarchyAction</code>. The action
+ * requires that the selection provided by the site's selection provider is of type
+ * <code>org.eclipse.jface.viewers.IStructuredSelection</code>.
+ *
+ * @param site the site providing context information for this action
+ */
+ public FindReferencesInHierarchyAction(IWorkbenchSite site) {
+ super(site);
+ }
+
+ /**
+ * Note: This constructor is for internal use only. Clients should not call this constructor.
+ * @param editor the Ruby editor
+ */
+ public FindReferencesInHierarchyAction(RubyEditor editor) {
+ super(editor);
+ }
+
+ Class[] getValidTypes() {
+ return new Class[] { IRubyScript.class, IType.class, IMethod.class, IField.class, ILocalVariable.class };
+ }
+
+ void init() {
+ setText(SearchMessages.Search_FindHierarchyReferencesAction_label);
+ setToolTipText(SearchMessages.Search_FindHierarchyReferencesAction_tooltip);
+ setImageDescriptor(RubyPluginImages.DESC_OBJS_SEARCH_REF);
+ PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IRubyHelpContextIds.FIND_REFERENCES_IN_HIERARCHY_ACTION);
+ }
+
+ QuerySpecification createQuery(IRubyElement element) throws RubyModelException {
+ IType type= getType(element);
+ if (type == null) {
+ return super.createQuery(element);
+ }
+ RubySearchScopeFactory factory= RubySearchScopeFactory.getInstance();
+ IRubySearchScope scope= SearchEngine.createHierarchyScope(type);
+ String description= factory.getHierarchyScopeDescription(type);
+ return new ElementQuerySpecification(element, getLimitTo(), scope, description);
+ }
+
+}
Property changes on: trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/actions/FindReferencesInHierarchyAction.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/actions/IRubyEditorActionDefinitionIds.java
===================================================================
--- trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/actions/IRubyEditorActionDefinitionIds.java 2007-09-10 14:54:50 UTC (rev 3117)
+++ trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/actions/IRubyEditorActionDefinitionIds.java 2007-09-10 14:56:18 UTC (rev 3118)
@@ -78,6 +78,12 @@
public static final String SEARCH_REFERENCES_IN_PROJECT= "org.rubypeople.rdt.ui.edit.text.ruby.search.references.in.project"; //$NON-NLS-1$
/**
+ * Action definition ID of the search -> references in hierarchy action
+ * (value <code>"org.rubypeople.rdt.ui.edit.text.ruby.search.references.in.hierarchy"</code>).
+ */
+ public static final String SEARCH_REFERENCES_IN_HIERARCHY= "org.rubypeople.rdt.ui.edit.text.ruby.search.references.in.hierarchy"; //$NON-NLS-1$
+
+ /**
* Action definition ID of the search -> references in working set action
* (value <code>"org.rubypeople.rdt.ui.edit.text.ruby.search.references.in.working.set"</code>).
*/
Modified: trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/actions/RdtActionConstants.java
===================================================================
--- trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/actions/RdtActionConstants.java 2007-09-10 14:54:50 UTC (rev 3117)
+++ trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/actions/RdtActionConstants.java 2007-09-10 14:56:18 UTC (rev 3118)
@@ -42,6 +42,12 @@
public static final String FIND_REFERENCES_IN_PROJECT= "org.rubypeople.rdt.ui.actions.ReferencesInProject"; //$NON-NLS-1$
/**
+ * Search menu: name of standard Find References in Hierarchy global action
+ * (value <code>"org.rubypeople.rdt.ui.actions.ReferencesInHierarchy"</code>).
+ */
+ public static final String FIND_REFERENCES_IN_HIERARCHY= "org.rubypeople.rdt.ui.actions.ReferencesInHierarchy"; //$NON-NLS-1$
+
+ /**
* Search menu: name of standard Find References in Working Set global action
* (value <code>"org.rubypeople.rdt.ui.actions.ReferencesInWorkingSet"</code>).
*/
Modified: trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/actions/ReferencesSearchGroup.java
===================================================================
--- trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/actions/ReferencesSearchGroup.java 2007-09-10 14:54:50 UTC (rev 3117)
+++ trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/ui/actions/ReferencesSearchGroup.java 2007-09-10 14:56:18 UTC (rev 3118)
@@ -52,7 +52,7 @@
private FindReferencesAction fFindReferencesAction;
private FindReferencesInProjectAction fFindReferencesInProjectAction;
-// private FindReferencesInHierarchyAction fFindReferencesInHierarchyAction;
+ private FindReferencesInHierarchyAction fFindReferencesInHierarchyAction;
private FindReferencesInWorkingSetAction fFindReferencesInWorkingSetAction;
/**
@@ -72,8 +72,8 @@
fFindReferencesInProjectAction= new FindReferencesInProjectAction(site);
fFindReferencesInProjectAction.setActionDefinitionId(IRubyEditorActionDefinitionIds.SEARCH_REFERENCES_IN_PROJECT);
-// fFindReferencesInHierarchyAction= new FindReferencesInHierarchyAction(site);
-// fFindReferencesInHierarchyAction.setActionDefinitionId(IRubyEditorActionDefinitionIds.SEARCH_REFERENCES_IN_HIERARCHY);
+ fFindReferencesInHierarchyAction= new FindReferencesInHierarchyAction(site);
+ fFindReferencesInHierarchyAction.setActionDefinitionId(IRubyEditorActionDefinitionIds.SEARCH_REFERENCES_IN_HIERARCHY);
fFindReferencesInWorkingSetAction= new FindReferencesInWorkingSetAction(site);
fFindReferencesInWorkingSetAction.setActionDefinitionId(IRubyEditorActionDefinitionIds.SEARCH_REFERENCES_IN_WORKING_SET);
@@ -83,7 +83,7 @@
ISelection selection= provider.getSelection();
registerAction(fFindReferencesAction, provider, selection);
registerAction(fFindReferencesInProjectAction, provider, selection);
-// registerAction(fFindReferencesInHierarchyAction, provider, selection);
+ registerAction(fFindReferencesInHierarchyAction, provider, selection);
registerAction(fFindReferencesInWorkingSetAction, provider, selection);
}
@@ -106,9 +106,9 @@
fFindReferencesInProjectAction.setActionDefinitionId(IRubyEditorActionDefinitionIds.SEARCH_REFERENCES_IN_PROJECT);
fEditor.setAction("SearchReferencesInProject", fFindReferencesInProjectAction); //$NON-NLS-1$
-// fFindReferencesInHierarchyAction= new FindReferencesInHierarchyAction(fEditor);
-// fFindReferencesInHierarchyAction.setActionDefinitionId(IRubyEditorActionDefinitionIds.SEARCH_REFERENCES_IN_HIERARCHY);
-// fEditor.setAction("SearchReferencesInHierarchy", fFindReferencesInHierarchyAction); //$NON-NLS-1$
+ fFindReferencesInHierarchyAction= new FindReferencesInHierarchyAction(fEditor);
+ fFindReferencesInHierarchyAction.setActionDefinitionId(IRubyEditorActionDefinitionIds.SEARCH_REFERENCES_IN_HIERARCHY);
+ fEditor.setAction("SearchReferencesInHierarchy", fFindReferencesInHierarchyAction); //$NON-NLS-1$
fFindReferencesInWorkingSetAction= new FindReferencesInWorkingSetAction(fEditor);
fFindReferencesInWorkingSetAction.setActionDefinitionId(IRubyEditorActionDefinitionIds.SEARCH_REFERENCES_IN_WORKING_SET);
@@ -164,7 +164,7 @@
MenuManager javaSearchMM= new MenuManager(getName(), IContextMenuConstants.GROUP_SEARCH);
addAction(fFindReferencesAction, javaSearchMM);
addAction(fFindReferencesInProjectAction, javaSearchMM);
-// addAction(fFindReferencesInHierarchyAction, javaSearchMM);
+ addAction(fFindReferencesInHierarchyAction, javaSearchMM);
javaSearchMM.add(new Separator());
@@ -186,12 +186,12 @@
if (provider != null) {
disposeAction(fFindReferencesAction, provider);
disposeAction(fFindReferencesInProjectAction, provider);
-// disposeAction(fFindReferencesInHierarchyAction, provider);
+ disposeAction(fFindReferencesInHierarchyAction, provider);
disposeAction(fFindReferencesInWorkingSetAction, provider);
}
fFindReferencesAction= null;
fFindReferencesInProjectAction= null;
-// fFindReferencesInHierarchyAction= null;
+ fFindReferencesInHierarchyAction= null;
fFindReferencesInWorkingSetAction= null;
updateGlobalActionHandlers();
super.dispose();
@@ -201,7 +201,7 @@
if (fActionBars != null) {
fActionBars.setGlobalActionHandler(RdtActionConstants.FIND_REFERENCES_IN_WORKSPACE, fFindReferencesAction);
fActionBars.setGlobalActionHandler(RdtActionConstants.FIND_REFERENCES_IN_PROJECT, fFindReferencesInProjectAction);
-// fActionBars.setGlobalActionHandler(RdtActionConstants.FIND_REFERENCES_IN_HIERARCHY, fFindReferencesInHierarchyAction);
+ fActionBars.setGlobalActionHandler(RdtActionConstants.FIND_REFERENCES_IN_HIERARCHY, fFindReferencesInHierarchyAction);
fActionBars.setGlobalActionHandler(RdtActionConstants.FIND_REFERENCES_IN_WORKING_SET, fFindReferencesInWorkingSetAction);
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|