Author: sdzmitrovich
Date: 2008-05-19 12:19:58 -0400 (Mon, 19 May 2008)
New Revision: 8182
Modified:
branches/jbosstools-2.1.x/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/template/EditableTemplateAdapter.java
branches/jbosstools-2.1.x/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/TemplateManagingUtil.java
Log:
correct input elements editable
Modified:
branches/jbosstools-2.1.x/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/template/EditableTemplateAdapter.java
===================================================================
---
branches/jbosstools-2.1.x/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/template/EditableTemplateAdapter.java 2008-05-19
15:18:31 UTC (rev 8181)
+++
branches/jbosstools-2.1.x/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/template/EditableTemplateAdapter.java 2008-05-19
16:19:58 UTC (rev 8182)
@@ -176,7 +176,7 @@
.getCurrentSelection(pageContext));
}
- if (node == null)
+ if (node == null || selectedRange == null)
return false;
// get focus and anchor offsets
@@ -288,7 +288,7 @@
.getCurrentSelection(pageContext));
}
- if (node == null)
+ if (node == null || selectedRange == null)
return false;
// get focus and anchor offsets
@@ -391,7 +391,7 @@
selectedRange = getSelectionRange(TemplateManagingUtil
.getCurrentSelection(pageContext));
}
- if (node == null)
+ if (node == null || selectedRange == null)
return false;
// get focus and anchor offsets
@@ -523,13 +523,13 @@
Node node = getTargetSourceNodeByVisualNode(pageContext, visualNode,
elementMapping);
- if (node == null)
- return false;
-
// get focus and anchor offsets
Point selectedRange = getSelectionRange(TemplateManagingUtil
.getCurrentSelection(pageContext));
+ if (node == null || selectedRange == null)
+ return false;
+
int focusOffset = selectedRange.x;
// if node editable
@@ -595,13 +595,13 @@
Node node = getTargetSourceNodeByVisualNode(pageContext,
visualNode, elementMapping);
- if (node == null)
- return false;
-
// get focus and anchor offsets
Point selectedRange = getSelectionRange(TemplateManagingUtil
.getCurrentSelection(pageContext));
+ if (node == null || selectedRange == null)
+ return false;
+
int focusOffset = selectedRange.x;
if (focusOffset != 0) {
@@ -710,6 +710,20 @@
TemplateManagingUtil.setSourceSelection(pageContext, targetSourceNode,
focusOffset, length);
+ if ((HTML.TAG_INPUT.equalsIgnoreCase(targetVisualNode.getLocalName()))
+ || (HTML.TAG_TEXTAREA.equalsIgnoreCase(targetVisualNode
+ .getLocalName()))) {
+
+ TemplateManagingUtil.setSelectionRangeInInputElement(
+ targetVisualNode, new Point(focusOffset, length));
+
+ selection.collapse(targetVisualNode.getParentNode(),
+ (int) VisualDomUtil.getOffset(targetVisualNode));
+
+ selection.extend(targetVisualNode.getParentNode(),
+ (int) VisualDomUtil.getOffset(targetVisualNode) + 1);
+ }
+
// setSelectionRange(selection,
// targetVisualNode, new Point(focusOffset, length));
@@ -826,6 +840,23 @@
// .getSelection(nsISelectionController.SELECTION_NORMAL),
// targetVisualNode, new Point(selectionOffset, selectionLength));
+ if ((HTML.TAG_INPUT.equalsIgnoreCase(targetVisualNode.getLocalName()))
+ || (HTML.TAG_TEXTAREA.equalsIgnoreCase(targetVisualNode
+ .getLocalName()))) {
+
+ TemplateManagingUtil.setSelectionRangeInInputElement(
+ targetVisualNode, new Point(selectionOffset,
+ selectionLength));
+
+
(selectionController.getSelection(nsISelectionController.SELECTION_NORMAL)).collapse(targetVisualNode.getParentNode(),(int)
+ VisualDomUtil.getOffset(targetVisualNode));
+
+ (selectionController
+ .getSelection(nsISelectionController.SELECTION_NORMAL))
+ .extend(targetVisualNode.getParentNode(),
+ (int) VisualDomUtil.getOffset(targetVisualNode) + 1);
+ }
+
// check for text node
if (targetVisualNode.getNodeType() != nsIDOMNode.ELEMENT_NODE) {
targetVisualNode = targetVisualNode.getParentNode();
@@ -1114,9 +1145,11 @@
nsIDOMNode focusedNode = TemplateManagingUtil
.getSelectedNode(selection);
- Point range = new Point(0, 0);
+ Point range = null;
if (focusedNode != null) {
+
+ range = new Point(0,0);
if ((HTML.TAG_INPUT.equalsIgnoreCase(focusedNode.getLocalName()))
|| (HTML.TAG_TEXTAREA.equalsIgnoreCase(focusedNode
.getLocalName()))) {
Modified:
branches/jbosstools-2.1.x/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/TemplateManagingUtil.java
===================================================================
---
branches/jbosstools-2.1.x/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/TemplateManagingUtil.java 2008-05-19
15:18:31 UTC (rev 8181)
+++
branches/jbosstools-2.1.x/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/util/TemplateManagingUtil.java 2008-05-19
16:19:58 UTC (rev 8182)
@@ -10,8 +10,6 @@
******************************************************************************/
package org.jboss.tools.vpe.editor.util;
-import java.util.List;
-
import org.eclipse.swt.graphics.Point;
import org.eclipse.wst.sse.core.internal.provisional.IndexedRegion;
import org.eclipse.wst.xml.core.internal.provisional.document.IDOMAttr;
@@ -272,7 +270,7 @@
*/
public static nsIDOMNode getSelectedNode(nsISelection selection) {
- if (selection.getIsCollapsed()) {
+ if (selection.getFocusNode() == selection.getAnchorNode()) {
if (selection.getFocusNode() != null) {
if ((selection.getFocusNode().getNodeType() != nsIDOMNode.TEXT_NODE)
&& (selection.getFocusOffset() != 0)) {
Show replies by date