Author: sdzmitrovich
Date: 2008-05-19 12:40:02 -0400 (Mon, 19 May 2008)
New Revision: 8183
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/template/EditableTemplateAdapter.java
Log:
correct editable
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/template/EditableTemplateAdapter.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/template/EditableTemplateAdapter.java 2008-05-19
16:19:58 UTC (rev 8182)
+++
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/template/EditableTemplateAdapter.java 2008-05-19
16:40:02 UTC (rev 8183)
@@ -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()))) {
Show replies by date