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]

Reply via email to