Author: dmaliarevich
Date: 2009-07-02 07:47:17 -0400 (Thu, 02 Jul 2009)
New Revision: 16337
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeController.java
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java
Log:
https://jira.jboss.org/jira/browse/JBIDE-4102, comment node updating was changed.
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeController.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeController.java 2009-07-02
10:37:10 UTC (rev 16336)
+++
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeController.java 2009-07-02
11:47:17 UTC (rev 16337)
@@ -181,6 +181,7 @@
private boolean mouseUpSelectionReasonFlag;
private boolean mouseDownSelectionFlag;
private boolean sourceChangeFlag;
+ private boolean commentNodeChanged;
private VpePageContext pageContext;
private BundleMap bundle;
private VpeEditorPart editPart;
@@ -616,19 +617,47 @@
break;
case INodeNotifier.ADD:
- // we should remove all parent nodes from vpe cash
- visualBuilder.removeNode((Node) newValue);
+ /*
+ *
https://jira.jboss.org/jira/browse/JBIDE-4102
+ * Do nothing on comment node adding,
+ * it is already updated in {@code INodeNotifier.REMOVE} case.
+ */
+ if (Node.COMMENT_NODE != ((Node) newValue).getNodeType()) {
+ /*
+ * we should remove all parent nodes from vpe cash
+ */
+ visualBuilder.removeNode((Node) newValue);
+ }
break;
case INodeNotifier.REMOVE:
- visualBuilder.stopToggle((Node) feature);
- visualBuilder.removeNode((Node) feature);
+ /*
+ *
https://jira.jboss.org/jira/browse/JBIDE-4102
+ * When comment is changed there is no need
+ * to update its parent or the whole structure,
+ * only the comment node should be updated.
+ */
+ if (Node.COMMENT_NODE == ((Node) feature).getNodeType()) {
+ visualBuilder.updateNode((Node) feature);
+ commentNodeChanged = true;
+ } else {
+ visualBuilder.stopToggle((Node) feature);
+ visualBuilder.removeNode((Node) feature);
+ }
break;
case INodeNotifier.STRUCTURE_CHANGED:
- visualEditor.hideResizer();
- visualBuilder.setSelectionRectangle(null);
- visualBuilder.updateNode((Node) notifier);
+ /*
+ *
https://jira.jboss.org/jira/browse/JBIDE-4102
+ * Do not update parent tag when a comment was changed,
+ */
+ if (!commentNodeChanged) {
+ visualEditor.hideResizer();
+ visualBuilder.setSelectionRectangle(null);
+ visualBuilder.updateNode((Node) notifier);
+ } else {
+ commentNodeChanged = false;
+ }
break;
case INodeNotifier.CONTENT_CHANGED:
if (!sourceChangeFlag) {
Modified:
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java
===================================================================
---
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java 2009-07-02
10:37:10 UTC (rev 16336)
+++
trunk/vpe/plugins/org.jboss.tools.vpe/src/org/jboss/tools/vpe/editor/VpeVisualDomBuilder.java 2009-07-02
11:47:17 UTC (rev 16337)
@@ -963,9 +963,6 @@
case Node.DOCUMENT_NODE:
rebuildDom((Document) sourceNode);
break;
- // case Node.COMMENT_NODE:
- // updateComment(sourceNode);
- // break;
default:
updateElement(getNodeForUpdate(sourceNode));
}