Index: java/editor/src/org/netbeans/modules/editor/java/AbstractCamelCasePosition.java =================================================================== RCS file: /cvs/java/editor/src/org/netbeans/modules/editor/java/AbstractCamelCasePosition.java,v retrieving revision 1.1 diff -u -r1.1 AbstractCamelCasePosition.java --- java/editor/src/org/netbeans/modules/editor/java/AbstractCamelCasePosition.java 12 Apr 2007 07:51:38 -0000 1.1 +++ java/editor/src/org/netbeans/modules/editor/java/AbstractCamelCasePosition.java 26 Apr 2007 02:27:30 -0000 @@ -32,19 +32,39 @@ */ /* package */ abstract class AbstractCamelCasePosition extends BaseAction { - public AbstractCamelCasePosition(String name) { + private Action originalAction; + + public AbstractCamelCasePosition(String name, Action originalAction) { super(name); + + if (originalAction != null) { + Object nameObj = originalAction.getValue(Action.NAME); + if (nameObj instanceof String) { + // We will be wrapping around the original action, use its name + putValue(NAME, nameObj); + this.originalAction = originalAction; + } + } + String desc = getShortDescription(); if (desc != null) { putValue(SHORT_DESCRIPTION, desc); } } - public void actionPerformed(ActionEvent evt, JTextComponent target) { + public final void actionPerformed(ActionEvent evt, JTextComponent target) { if (target != null) { - int offset = newOffset(target); - if (offset != -1) { - moveToNewOffset(target, offset); + if (originalAction != null && !isUsingCamelCase()) { + if (originalAction instanceof BaseAction) { + ((BaseAction) originalAction).actionPerformed(evt, target); + } else { + originalAction.actionPerformed(evt); + } + } else { + int offset = newOffset(target); + if (offset != -1) { + moveToNewOffset(target, offset); + } } } } @@ -62,5 +82,9 @@ shortDesc = name; } return shortDesc; + } + + private boolean isUsingCamelCase() { + return !Boolean.getBoolean("no-java-camel-case-style-navigation"); } } Index: java/editor/src/org/netbeans/modules/editor/java/DeleteToNextCamelCasePosition.java =================================================================== RCS file: /cvs/java/editor/src/org/netbeans/modules/editor/java/DeleteToNextCamelCasePosition.java,v retrieving revision 1.1 diff -u -r1.1 DeleteToNextCamelCasePosition.java --- java/editor/src/org/netbeans/modules/editor/java/DeleteToNextCamelCasePosition.java 12 Apr 2007 07:51:37 -0000 1.1 +++ java/editor/src/org/netbeans/modules/editor/java/DeleteToNextCamelCasePosition.java 26 Apr 2007 02:27:30 -0000 @@ -19,6 +19,7 @@ package org.netbeans.modules.editor.java; +import javax.swing.Action; import javax.swing.text.JTextComponent; /** @@ -27,8 +28,8 @@ */ /* package */ final class DeleteToNextCamelCasePosition extends SelectNextCamelCasePosition { - public DeleteToNextCamelCasePosition() { - super(JavaKit.deleteNextCamelCasePosition); + public DeleteToNextCamelCasePosition(Action originalAction) { + super(JavaKit.deleteNextCamelCasePosition, originalAction); } protected void moveToNewOffset(JTextComponent textComponent, int offset) { Index: java/editor/src/org/netbeans/modules/editor/java/DeleteToPreviousCamelCasePosition.java =================================================================== RCS file: /cvs/java/editor/src/org/netbeans/modules/editor/java/DeleteToPreviousCamelCasePosition.java,v retrieving revision 1.1 diff -u -r1.1 DeleteToPreviousCamelCasePosition.java --- java/editor/src/org/netbeans/modules/editor/java/DeleteToPreviousCamelCasePosition.java 12 Apr 2007 07:51:39 -0000 1.1 +++ java/editor/src/org/netbeans/modules/editor/java/DeleteToPreviousCamelCasePosition.java 26 Apr 2007 02:27:30 -0000 @@ -19,6 +19,7 @@ package org.netbeans.modules.editor.java; +import javax.swing.Action; import javax.swing.text.JTextComponent; /** @@ -27,8 +28,8 @@ */ /* package */ final class DeleteToPreviousCamelCasePosition extends SelectPreviousCamelCasePosition { - public DeleteToPreviousCamelCasePosition() { - super(JavaKit.deletePreviousCamelCasePosition); + public DeleteToPreviousCamelCasePosition(Action originalAction) { + super(JavaKit.deletePreviousCamelCasePosition, originalAction); } protected void moveToNewOffset(JTextComponent textComponent, int offset) { Index: java/editor/src/org/netbeans/modules/editor/java/JavaKit.java =================================================================== RCS file: /cvs/java/editor/src/org/netbeans/modules/editor/java/JavaKit.java,v retrieving revision 1.37 diff -u -r1.37 JavaKit.java --- java/editor/src/org/netbeans/modules/editor/java/JavaKit.java 24 Apr 2007 05:17:22 -0000 1.37 +++ java/editor/src/org/netbeans/modules/editor/java/JavaKit.java 26 Apr 2007 02:27:30 -0000 @@ -202,6 +202,7 @@ } protected Action[] createActions() { + Action[] superActions = super.createActions(); Action[] javaActions = new Action[] { new JavaDefaultKeyTypedAction(), new PrefixMakerAction(makeGetterAction, "get", getSetIsPrefixes), // NOI18N @@ -225,19 +226,31 @@ new GenerateCodeAction(), new SelectCodeElementAction(selectNextElementAction, true), new SelectCodeElementAction(selectPreviousElementAction, false), - new NextCamelCasePosition(), - new PreviousCamelCasePosition(), - new SelectNextCamelCasePosition(), - new SelectPreviousCamelCasePosition(), - new DeleteToNextCamelCasePosition(), - new DeleteToPreviousCamelCasePosition(), + + new NextCamelCasePosition(findAction(superActions, nextWordAction)), + new PreviousCamelCasePosition(findAction(superActions, previousWordAction)), + new SelectNextCamelCasePosition(findAction(superActions, selectionNextWordAction)), + new SelectPreviousCamelCasePosition(findAction(superActions, selectionPreviousWordAction)), + new DeleteToNextCamelCasePosition(findAction(superActions, removeNextWordAction)), + new DeleteToPreviousCamelCasePosition(findAction(superActions, removePreviousWordAction)), + new FastImportAction(), new GoToSuperTypeAction(), }; - return TextAction.augmentList(super.createActions(), javaActions); + return TextAction.augmentList(superActions, javaActions); } + private static Action findAction(Action [] actions, String name) { + for(Action a : actions) { + Object nameObj = a.getValue(Action.NAME); + if (nameObj instanceof String && name.equals(nameObj)) { + return a; + } + } + return null; + } + public static class JavaDefaultKeyTypedAction extends ExtDefaultKeyTypedAction { protected void insertString(BaseDocument doc, int dotPos, Index: java/editor/src/org/netbeans/modules/editor/java/NextCamelCasePosition.java =================================================================== RCS file: /cvs/java/editor/src/org/netbeans/modules/editor/java/NextCamelCasePosition.java,v retrieving revision 1.1 diff -u -r1.1 NextCamelCasePosition.java --- java/editor/src/org/netbeans/modules/editor/java/NextCamelCasePosition.java 12 Apr 2007 07:51:38 -0000 1.1 +++ java/editor/src/org/netbeans/modules/editor/java/NextCamelCasePosition.java 26 Apr 2007 02:27:30 -0000 @@ -19,6 +19,7 @@ package org.netbeans.modules.editor.java; +import javax.swing.Action; import javax.swing.text.JTextComponent; /** @@ -27,12 +28,12 @@ */ /* package */ class NextCamelCasePosition extends AbstractCamelCasePosition { - public NextCamelCasePosition() { - super(JavaKit.nextCamelCasePosition); + public NextCamelCasePosition(Action originalAction) { + this(JavaKit.nextCamelCasePosition, originalAction); } - protected NextCamelCasePosition(String name) { - super(name); + protected NextCamelCasePosition(String name, Action originalAction) { + super(name, originalAction); } protected int newOffset(JTextComponent textComponent) { Index: java/editor/src/org/netbeans/modules/editor/java/PreviousCamelCasePosition.java =================================================================== RCS file: /cvs/java/editor/src/org/netbeans/modules/editor/java/PreviousCamelCasePosition.java,v retrieving revision 1.1 diff -u -r1.1 PreviousCamelCasePosition.java --- java/editor/src/org/netbeans/modules/editor/java/PreviousCamelCasePosition.java 12 Apr 2007 07:51:39 -0000 1.1 +++ java/editor/src/org/netbeans/modules/editor/java/PreviousCamelCasePosition.java 26 Apr 2007 02:27:30 -0000 @@ -19,6 +19,7 @@ package org.netbeans.modules.editor.java; +import javax.swing.Action; import javax.swing.text.JTextComponent; /** @@ -27,12 +28,12 @@ */ /* package */ class PreviousCamelCasePosition extends AbstractCamelCasePosition { - public PreviousCamelCasePosition() { - this(JavaKit.previousCamelCasePosition); + public PreviousCamelCasePosition(Action originalAction) { + this(JavaKit.previousCamelCasePosition, originalAction); } - protected PreviousCamelCasePosition(String name) { - super(name); + protected PreviousCamelCasePosition(String name, Action originalAction) { + super(name, originalAction); } protected int newOffset(JTextComponent textComponent) { Index: java/editor/src/org/netbeans/modules/editor/java/SelectNextCamelCasePosition.java =================================================================== RCS file: /cvs/java/editor/src/org/netbeans/modules/editor/java/SelectNextCamelCasePosition.java,v retrieving revision 1.1 diff -u -r1.1 SelectNextCamelCasePosition.java --- java/editor/src/org/netbeans/modules/editor/java/SelectNextCamelCasePosition.java 12 Apr 2007 07:51:37 -0000 1.1 +++ java/editor/src/org/netbeans/modules/editor/java/SelectNextCamelCasePosition.java 26 Apr 2007 02:27:30 -0000 @@ -19,6 +19,7 @@ package org.netbeans.modules.editor.java; +import javax.swing.Action; import javax.swing.text.JTextComponent; /** @@ -27,12 +28,12 @@ */ /* package */ class SelectNextCamelCasePosition extends NextCamelCasePosition { - public SelectNextCamelCasePosition() { - super(JavaKit.selectNextCamelCasePosition); + public SelectNextCamelCasePosition(Action originalAction) { + this(JavaKit.selectNextCamelCasePosition, originalAction); } - protected SelectNextCamelCasePosition(String name) { - super(name); + protected SelectNextCamelCasePosition(String name, Action originalAction) { + super(name, originalAction); } protected void moveToNewOffset(JTextComponent textComponent, int offset) { Index: java/editor/src/org/netbeans/modules/editor/java/SelectPreviousCamelCasePosition.java =================================================================== RCS file: /cvs/java/editor/src/org/netbeans/modules/editor/java/SelectPreviousCamelCasePosition.java,v retrieving revision 1.1 diff -u -r1.1 SelectPreviousCamelCasePosition.java --- java/editor/src/org/netbeans/modules/editor/java/SelectPreviousCamelCasePosition.java 12 Apr 2007 07:51:38 -0000 1.1 +++ java/editor/src/org/netbeans/modules/editor/java/SelectPreviousCamelCasePosition.java 26 Apr 2007 02:27:30 -0000 @@ -19,6 +19,7 @@ package org.netbeans.modules.editor.java; +import javax.swing.Action; import javax.swing.text.JTextComponent; /** @@ -27,12 +28,12 @@ */ /* package */ class SelectPreviousCamelCasePosition extends PreviousCamelCasePosition { - public SelectPreviousCamelCasePosition() { - this(JavaKit.selectPreviousCamelCasePosition); + public SelectPreviousCamelCasePosition(Action originalAction) { + this(JavaKit.selectPreviousCamelCasePosition, originalAction); } - protected SelectPreviousCamelCasePosition(String name) { - super(name); + protected SelectPreviousCamelCasePosition(String name, Action originalAction) { + super(name, originalAction); } protected void moveToNewOffset(JTextComponent textComponent, int offset) { Index: java/editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings.xml =================================================================== RCS file: /cvs/java/editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings.xml,v retrieving revision 1.13 diff -u -r1.13 DefaultKeyBindings.xml --- java/editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings.xml 12 Apr 2007 07:51:39 -0000 1.13 +++ java/editor/src/org/netbeans/modules/java/editor/resources/DefaultKeyBindings.xml 26 Apr 2007 02:27:31 -0000 @@ -41,13 +41,6 @@ - - - - - - -