|
Lines 3-14
Link Here
|
| 3 |
import java.util.ArrayList; |
3 |
import java.util.ArrayList; |
| 4 |
import java.util.HashMap; |
4 |
import java.util.HashMap; |
| 5 |
import java.util.LinkedList; |
5 |
import java.util.LinkedList; |
|
|
6 |
import java.util.List; |
| 6 |
import java.util.Map; |
7 |
import java.util.Map; |
| 7 |
import java.util.StringTokenizer; |
8 |
import java.util.StringTokenizer; |
| 8 |
|
9 |
|
| 9 |
import org.eclipse.core.commands.AbstractHandler; |
10 |
import org.eclipse.core.commands.AbstractHandler; |
| 10 |
import org.eclipse.core.commands.ExecutionEvent; |
11 |
import org.eclipse.core.commands.ExecutionEvent; |
| 11 |
import org.eclipse.core.runtime.Assert; |
12 |
import org.eclipse.core.runtime.Assert; |
|
|
13 |
import org.eclipse.core.runtime.CoreException; |
| 14 |
import org.eclipse.core.runtime.IConfigurationElement; |
| 15 |
import org.eclipse.core.runtime.IStatus; |
| 16 |
import org.eclipse.core.runtime.Platform; |
| 12 |
import org.eclipse.jface.dialogs.IDialogSettings; |
17 |
import org.eclipse.jface.dialogs.IDialogSettings; |
| 13 |
import org.eclipse.jface.resource.DeviceResourceException; |
18 |
import org.eclipse.jface.resource.DeviceResourceException; |
| 14 |
import org.eclipse.jface.resource.ImageDescriptor; |
19 |
import org.eclipse.jface.resource.ImageDescriptor; |
|
Lines 35-41
Link Here
|
| 35 |
import org.eclipse.ui.internal.IWorkbenchGraphicConstants; |
40 |
import org.eclipse.ui.internal.IWorkbenchGraphicConstants; |
| 36 |
import org.eclipse.ui.internal.WorkbenchImages; |
41 |
import org.eclipse.ui.internal.WorkbenchImages; |
| 37 |
import org.eclipse.ui.internal.WorkbenchPlugin; |
42 |
import org.eclipse.ui.internal.WorkbenchPlugin; |
|
|
43 |
import org.eclipse.ui.internal.misc.StatusUtil; |
| 38 |
import org.eclipse.ui.internal.progress.ProgressManagerUtil; |
44 |
import org.eclipse.ui.internal.progress.ProgressManagerUtil; |
|
|
45 |
import org.eclipse.ui.statushandling.StatusManager; |
| 39 |
|
46 |
|
| 40 |
/** |
47 |
/** |
| 41 |
* Experimental Action for search-based navigation to UI elements such as |
48 |
* Experimental Action for search-based navigation to UI elements such as |
|
Lines 71-81
Link Here
|
| 71 |
} |
78 |
} |
| 72 |
|
79 |
|
| 73 |
if (providers == null) { |
80 |
if (providers == null) { |
| 74 |
providers = new AbstractProvider[] { new PreviousPicksProvider(), |
81 |
List providerList = new ArrayList(); |
| 75 |
new EditorProvider(), new ViewProvider(), |
82 |
providerList.add(new PreviousPicksProvider()); |
| 76 |
new PerspectiveProvider(), new CommandProvider(), |
83 |
providerList.add(new EditorProvider()); |
| 77 |
new ActionProvider(), new WizardProvider(), |
84 |
providerList.add(new ViewProvider()); |
| 78 |
new PreferenceProvider() }; |
85 |
providerList.add(new PerspectiveProvider()); |
|
|
86 |
// add contributed providers |
| 87 |
IConfigurationElement[] elements = Platform.getExtensionRegistry() |
| 88 |
.getConfigurationElementsFor( |
| 89 |
"org.eclipse.ui.internalQuickAccessProvider"); //$NON-NLS-1$ |
| 90 |
for (int i = 0; i < elements.length; i++) { |
| 91 |
AbstractProvider provider; |
| 92 |
try { |
| 93 |
provider = (AbstractProvider) elements[i] |
| 94 |
.createExecutableExtension("class"); //$NON-NLS-1$ |
| 95 |
providerList.add(provider); |
| 96 |
} catch (CoreException e) { |
| 97 |
StatusManager |
| 98 |
.getManager() |
| 99 |
.handle( |
| 100 |
StatusUtil |
| 101 |
.newStatus( |
| 102 |
IStatus.ERROR, |
| 103 |
"NON-NLSed: Error with extension " + elements[i], e), //$NON-NLS-1$ |
| 104 |
StatusManager.LOG); |
| 105 |
} |
| 106 |
} |
| 107 |
|
| 108 |
providerList.add(new CommandProvider()); |
| 109 |
providerList.add(new ActionProvider()); |
| 110 |
providerList.add(new WizardProvider()); |
| 111 |
providerList.add(new PreferenceProvider()); |
| 112 |
providers = (AbstractProvider[]) providerList |
| 113 |
.toArray(new AbstractProvider[providerList.size()]); |
| 79 |
|
114 |
|
| 80 |
providerMap = new HashMap(); |
115 |
providerMap = new HashMap(); |
| 81 |
for (int i = 0; i < providers.length; i++) { |
116 |
for (int i = 0; i < providers.length; i++) { |
|
Lines 171-177
Link Here
|
| 171 |
public String[] getMatchNames(Object element, Object parentElementOrNull) { |
206 |
public String[] getMatchNames(Object element, Object parentElementOrNull) { |
| 172 |
if (element instanceof AbstractProvider) { |
207 |
if (element instanceof AbstractProvider) { |
| 173 |
AbstractProvider provider = (AbstractProvider) element; |
208 |
AbstractProvider provider = (AbstractProvider) element; |
| 174 |
return (new String[]{provider.getName()}); |
209 |
return (new String[] { provider.getName() }); |
| 175 |
} else if (element instanceof AbstractElement) { |
210 |
} else if (element instanceof AbstractElement) { |
| 176 |
AbstractElement abstractElement = (AbstractElement) element; |
211 |
AbstractElement abstractElement = (AbstractElement) element; |
| 177 |
String sortLabel = abstractElement.getSortLabel(); |
212 |
String sortLabel = abstractElement.getSortLabel(); |
|
Lines 181-201
Link Here
|
| 181 |
String combinedLabel = abstractProvider.getName() |
216 |
String combinedLabel = abstractProvider.getName() |
| 182 |
+ " " + abstractElement.getLabel(); //$NON-NLS-1$ |
217 |
+ " " + abstractElement.getLabel(); //$NON-NLS-1$ |
| 183 |
String combinedCamelCase = getCamelCase(combinedLabel); |
218 |
String combinedCamelCase = getCamelCase(combinedLabel); |
| 184 |
return (new String[] { sortLabel, camelCase, combinedLabel, combinedCamelCase }); |
219 |
return (new String[] { sortLabel, camelCase, combinedLabel, |
|
|
220 |
combinedCamelCase }); |
| 185 |
} |
221 |
} |
| 186 |
return (new String[] { sortLabel, camelCase }); |
222 |
return (new String[] { sortLabel, camelCase }); |
| 187 |
} |
223 |
} |
| 188 |
return (new String[]{""}); //$NON-NLS-1$ |
224 |
return (new String[] { "" }); //$NON-NLS-1$ |
| 189 |
} |
225 |
} |
| 190 |
|
226 |
|
| 191 |
/** |
227 |
/** |
| 192 |
* @return a string containing the first character of every word for |
228 |
* @return a string containing the first character of every word for |
| 193 |
* camel case checking. |
229 |
* camel case checking. |
| 194 |
*/ |
230 |
*/ |
| 195 |
private String getCamelCase(String label) { |
231 |
private String getCamelCase(String label) { |
| 196 |
StringTokenizer tokenizer = new StringTokenizer(label); |
232 |
StringTokenizer tokenizer = new StringTokenizer(label); |
| 197 |
StringBuffer camelCase = new StringBuffer(); |
233 |
StringBuffer camelCase = new StringBuffer(); |
| 198 |
while(tokenizer.hasMoreTokens()) { |
234 |
while (tokenizer.hasMoreTokens()) { |
| 199 |
String word = tokenizer.nextToken(); |
235 |
String word = tokenizer.nextToken(); |
| 200 |
camelCase.append(word.charAt(0)); |
236 |
camelCase.append(word.charAt(0)); |
| 201 |
} |
237 |
} |