Author: mareshkau
Date: 2008-11-24 10:21:11 -0500 (Mon, 24 Nov 2008)
New Revision: 11981
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/selection/VpeSelectionController.java
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/template/KeyEventManager.java
Log:
JBIDE-3209, some workaround was applied to moving cursor
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/selection/VpeSelectionController.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/selection/VpeSelectionController.java 2008-11-24
15:12:23 UTC (rev 11980)
+++
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/selection/VpeSelectionController.java 2008-11-24
15:21:11 UTC (rev 11981)
@@ -55,6 +55,17 @@
getSelectionController().setSelectionFlags(selectionFlags);
}
+ /**
+ * @see nsISelectionController.lineMove()
+ * @param forward
+ * @param extend
+ */
+ public void lineMove(boolean forward, boolean extend) {
+ //mareshkau, hack for JBIDE-3209
+ selectionController.characterMove(true, false);
+ selectionController.characterMove(false, false);
+ selectionController.lineMove(forward, extend);
+ }
/**
* @return the selectionController
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/template/KeyEventManager.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/template/KeyEventManager.java 2008-11-24
15:12:23 UTC (rev 11980)
+++
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/template/KeyEventManager.java 2008-11-24
15:21:11 UTC (rev 11981)
@@ -27,6 +27,7 @@
import org.jboss.tools.vpe.editor.util.TextUtil;
import org.mozilla.interfaces.nsIDOMKeyEvent;
import org.mozilla.interfaces.nsIDOMNode;
+import org.mozilla.interfaces.nsISelectionController;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
@@ -53,6 +54,17 @@
* page context
*/
private VpePageContext pageContext;
+
+
+ private VpeSelectionController selectionController;
+ /**
+ *
+ *
+ * @param sourceEditor
+ * @param domMapping
+ * @param pageContext
+ * @param selectionController
+ */
public KeyEventManager(StructuredTextEditor sourceEditor,
VpeDomMapping domMapping, VpePageContext pageContext,
@@ -60,6 +72,7 @@
this.sourceEditor = sourceEditor;
this.domMapping = domMapping;
this.pageContext = pageContext;
+ this.selectionController = selectionController;
}
final public boolean handleKeyPress(nsIDOMKeyEvent keyEvent) {
@@ -320,6 +333,9 @@
* @return whether handled event
*/
protected boolean handleDown(nsIDOMKeyEvent keyEvent) {
+ selectionController.lineMove(true, false);
+ keyEvent.stopPropagation();
+ keyEvent.preventDefault();
return false;
}
@@ -346,6 +362,9 @@
* @return whether handled event
*/
protected boolean handleUp(nsIDOMKeyEvent keyEvent) {
+ selectionController.lineMove(false, false);
+ keyEvent.stopPropagation();
+ keyEvent.preventDefault();
return false;
}