diff options
3 files changed, 23 insertions, 2 deletions
diff --git a/bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/PDEClassContributionProvider.java b/bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/PDEClassContributionProvider.java index 4b3c3de3..540d02b2 100644 --- a/bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/PDEClassContributionProvider.java +++ b/bundles/org.eclipse.e4.tools.emf.editor3x/src/org/eclipse/e4/tools/emf/editor3x/PDEClassContributionProvider.java @@ -145,7 +145,7 @@ public class PDEClassContributionProvider implements IClassContributionProvider packageName, SearchPattern.R_PATTERN_MATCH, typeName, - SearchPattern.R_PREFIX_MATCH, + SearchPattern.R_PREFIX_MATCH | SearchPattern.R_CAMELCASE_MATCH, IJavaSearchConstants.CLASS, scope, req, diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/Messages.properties b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/Messages.properties index 609bcdc4..8b813e46 100644 --- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/Messages.properties +++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/Messages.properties @@ -271,7 +271,7 @@ AddonsEditor_Tags=Tags ContributionClassDialog_DialogMessage=Enter the name of the contributing class ContributionClassDialog_DialogTitle=Find Contribution Class -ContributionClassDialog_Label_Classname=Classname +ContributionClassDialog_Label_Classname=Class Name ContributionClassDialog_ShellTitle=Find Contribution Class MenuContributionEditor_MenuItems=Menu Items diff --git a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/dialogs/ContributionClassDialog.java b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/dialogs/ContributionClassDialog.java index 50b4056f..d4a02ef7 100644 --- a/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/dialogs/ContributionClassDialog.java +++ b/bundles/org.eclipse.e4.tools.emf.ui/src/org/eclipse/e4/tools/emf/ui/internal/common/component/dialogs/ContributionClassDialog.java @@ -35,6 +35,8 @@ import org.eclipse.jface.viewers.ViewerCell; import org.eclipse.swt.SWT; import org.eclipse.swt.events.DisposeEvent; import org.eclipse.swt.events.DisposeListener; +import org.eclipse.swt.events.KeyAdapter; +import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.graphics.Image; @@ -151,6 +153,25 @@ public class ContributionClassDialog extends TitleAreaDialog { currentResultHandler = new ContributionResultHandlerImpl(list); Filter filter = new Filter(project, t.getText()); collector.findContributions(filter, currentResultHandler); + t.addKeyListener(new KeyAdapter() { + public void keyPressed(KeyEvent e) { + if (e.keyCode == SWT.ARROW_DOWN) { + if (viewer.getTable().getItemCount() > 0) { + viewer.getTable().setFocus(); + viewer.getTable().select(0); + } + } + } + }); + viewer.getTable().addKeyListener(new KeyAdapter() { + @Override + public void keyPressed(KeyEvent e) { + super.keyPressed(e); + if ((e.keyCode == SWT.ARROW_UP) && (viewer.getTable().getSelectionIndex() == 0)) { + t.setFocus(); + } + } + }); } }); |