hillion 02/03/18 04:46:13 Modified: sources/org/apache/batik/bridge ScriptingEnvironment.java Log: Fixed the handling of UI events on dynamically inserted elements. Revision Changes Path 1.14 +38 -2 xml-batik/sources/org/apache/batik/bridge/ScriptingEnvironment.java Index: ScriptingEnvironment.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/bridge/ScriptingEnvironment.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- ScriptingEnvironment.java 18 Mar 2002 10:28:20 -0000 1.13 +++ ScriptingEnvironment.java 18 Mar 2002 12:46:13 -0000 1.14 @@ -29,7 +29,7 @@ * This class contains the informations needed by the SVG scripting. * * @author <a href="mailto:[EMAIL PROTECTED]">Stephane Hillion</a> - * @version $Id: ScriptingEnvironment.java,v 1.13 2002/03/18 10:28:20 hillion Exp $ + * @version $Id: ScriptingEnvironment.java,v 1.14 2002/03/18 12:46:13 hillion Exp $ */ public class ScriptingEnvironment extends BaseScriptingEnvironment { @@ -59,6 +59,16 @@ protected EventListener domAttrModifiedListener; /** + * The DOMNodeInserted event listener. + */ + protected EventListener domNodeInsertedListener; + + /** + * The DOMNodeRemoved event listener. + */ + protected EventListener domNodeRemovedListener; + + /** * The SVGAbort event listener. */ protected EventListener svgAbortListener = @@ -181,12 +191,20 @@ // Add the scripting listeners. addScriptingListeners(doc.getDocumentElement()); - // Add the listener responsible of updating the event attributes + // Add the listeners responsible of updating the event attributes EventTarget et = (EventTarget)doc; domAttrModifiedListener = new DOMAttrModifiedListener(); et.addEventListener("DOMAttrModified", domAttrModifiedListener, false); + domNodeInsertedListener = new DOMNodeInsertedListener(); + et.addEventListener("DOMNodeInserted", + domNodeInsertedListener, + false); + domNodeRemovedListener = new DOMNodeRemovedListener(); + et.addEventListener("DOMAttrRemoved", + domNodeRemovedListener, + false); } /** @@ -593,6 +611,24 @@ * document. */ protected class DOMAttrModifiedListener implements EventListener { + public void handleEvent(Event evt) { + // !!! Updates the listeners. + } + } + + /** + * The listener class for 'DOMNodeInserted' event. + */ + protected class DOMNodeInsertedListener implements EventListener { + public void handleEvent(Event evt) { + addScriptingListeners((Node)evt.getTarget()); + } + } + + /** + * The listener class for 'DOMNodeRemoved' event. + */ + protected class DOMNodeRemovedListener implements EventListener { public void handleEvent(Event evt) { // !!! Updates the listeners. }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]