[Jsxe-cvs] SF.net SVN: jsxe: [1124] trunk/jsxe/src/net/sourceforge/jsxe/dom/AdapterNode.java
Status: Inactive
Brought to you by:
ian_lewis
From: <ian...@us...> - 2006-08-08 20:39:02
|
Revision: 1124 Author: ian_lewis Date: 2006-08-08 13:38:58 -0700 (Tue, 08 Aug 2006) ViewCVS: http://svn.sourceforge.net/jsxe/?rev=1124&view=rev Log Message: ----------- Added fix if the owner document is null Modified Paths: -------------- trunk/jsxe/src/net/sourceforge/jsxe/dom/AdapterNode.java Modified: trunk/jsxe/src/net/sourceforge/jsxe/dom/AdapterNode.java =================================================================== --- trunk/jsxe/src/net/sourceforge/jsxe/dom/AdapterNode.java 2006-08-08 20:15:25 UTC (rev 1123) +++ trunk/jsxe/src/net/sourceforge/jsxe/dom/AdapterNode.java 2006-08-08 20:38:58 UTC (rev 1124) @@ -37,6 +37,7 @@ //{{{ Java Base Classes import java.util.*; +import javax.swing.undo.UndoableEdit; //}}} //{{{ DOM classes @@ -540,7 +541,7 @@ } int index = index(node); m_children.remove(node); - // getOwnerDocument().addUndoableEdit(new RemoveNodeChange(this, node, index)); + // addUndoableEdit(new RemoveNodeChange(this, node, index)); } else { //Remove from previous parent AdapterNode previousParent = node.getParentNode(); @@ -942,7 +943,7 @@ int index = index(node); m_children.remove(node); // if (index != -1) { - // getOwnerDocument().addUndoableEdit(new RemoveNodeChange(this, node, index)); + // addUndoableEdit(new RemoveNodeChange(this, node, index)); // } } }//}}} @@ -993,7 +994,7 @@ //{{{ fireNodeAdded() private void fireNodeAdded(AdapterNode source, AdapterNode child, int index) { - // getOwnerDocument().addUndoableEdit(new AddNodeChange(source, child, index)); + // addUndoableEdit(new AddNodeChange(source, child, index)); ListIterator iterator = m_listeners.listIterator(); while (iterator.hasNext()) { @@ -1005,7 +1006,7 @@ //{{{ fireNodeRemoved() private void fireNodeRemoved(AdapterNode source, AdapterNode child, int index) { - // getOwnerDocument().addUndoableEdit(new RemoveNodeChange(source, child, index)); + // addUndoableEdit(new RemoveNodeChange(source, child, index)); ListIterator iterator = m_listeners.listIterator(); while (iterator.hasNext()) { @@ -1017,7 +1018,7 @@ //{{{ fireLocalNameChanged() private void fireLocalNameChanged(AdapterNode source, String oldValue, String newValue) { - getOwnerDocument().addUndoableEdit(new NodeNameChange(this, oldValue, newValue)); + addUndoableEdit(new NodeNameChange(this, oldValue, newValue)); ListIterator iterator = m_listeners.listIterator(); while (iterator.hasNext()) { @@ -1029,7 +1030,7 @@ //{{{ fireNamespaceChanged() private void fireNamespaceChanged(AdapterNode source, String oldValue, String newValue) { - getOwnerDocument().addUndoableEdit(new NodePrefixChange(this, oldValue, newValue)); + addUndoableEdit(new NodePrefixChange(this, oldValue, newValue)); ListIterator iterator = m_listeners.listIterator(); while (iterator.hasNext()) { @@ -1041,9 +1042,8 @@ //{{{ fireNodeValueChanged() private void fireNodeValueChanged(AdapterNode source, String oldValue, String newValue) { + addUndoableEdit(new NodeValueChange(this, oldValue, newValue)); - getOwnerDocument().addUndoableEdit(new NodeValueChange(this, oldValue, newValue)); - ListIterator iterator = m_listeners.listIterator(); while (iterator.hasNext()) { AdapterNodeListener listener = (AdapterNodeListener)iterator.next(); @@ -1054,7 +1054,7 @@ //{{{ fireAttributeChanged() private void fireAttributeChanged(AdapterNode source, String attr, String oldValue, String newValue) { - getOwnerDocument().addUndoableEdit(new AttributeChange(this, attr, oldValue, newValue)); + addUndoableEdit(new AttributeChange(this, attr, oldValue, newValue)); ListIterator iterator = m_listeners.listIterator(); while (iterator.hasNext()) { @@ -1144,6 +1144,17 @@ } }//}}} + //{{{ addUndoableEdit() + private void addUndoableEdit(UndoableEdit edit) { + XMLDocument doc = getOwnerDocument(); + + //edits are not added if the document is null. The + //edits are just not undoable. + if (doc != null) { + doc.addUndoableEdit(edit); + } + }//}}} + private AdapterNode m_parentNode; private XMLDocument m_rootDocument; private XMLDocument m_lastRootDocument; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |