hillion     02/01/11 02:49:32

  Modified:    sources/org/apache/batik/apps/svgbrowser
                        JSVGViewerFrame.java
               sources/org/apache/batik/swing/svg JSVGComponent.java
  Log:
  The UpdateManagerListeners added to a JSVGComponent are now called from the
  AWT thread.
  
  Revision  Changes    Path
  1.69      +23 -39    
xml-batik/sources/org/apache/batik/apps/svgbrowser/JSVGViewerFrame.java
  
  Index: JSVGViewerFrame.java
  ===================================================================
  RCS file: 
/home/cvs/xml-batik/sources/org/apache/batik/apps/svgbrowser/JSVGViewerFrame.java,v
  retrieving revision 1.68
  retrieving revision 1.69
  diff -u -r1.68 -r1.69
  --- JSVGViewerFrame.java      21 Dec 2001 14:40:31 -0000      1.68
  +++ JSVGViewerFrame.java      11 Jan 2002 10:49:31 -0000      1.69
  @@ -159,7 +159,7 @@
    * This class represents a SVG viewer swing frame.
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stephane Hillion</a>
  - * @version $Id: JSVGViewerFrame.java,v 1.68 2001/12/21 14:40:31 hillion Exp $
  + * @version $Id: JSVGViewerFrame.java,v 1.69 2002/01/11 10:49:31 hillion Exp $
    */
   public class JSVGViewerFrame
       extends    JFrame
  @@ -1759,62 +1759,46 @@
        * Called when the manager was started.
        */
       public void managerStarted(UpdateManagerEvent e) {
  -        EventQueue.invokeLater(new Runnable() {
  -                public void run() {
  -                    if (debug) {
  -                        System.out.println("Manager Started");
  -                    }
  -                    playAction.update(false);
  -                    pauseAction.update(true);
  -                    stopAction.update(true);
  -                }
  -            });
  +        if (debug) {
  +            System.out.println("Manager Started");
  +        }
  +        playAction.update(false);
  +        pauseAction.update(true);
  +        stopAction.update(true);
       }
   
       /**
        * Called when the manager was suspended.
        */
       public void managerSuspended(UpdateManagerEvent e) {
  -        EventQueue.invokeLater(new Runnable() {
  -                public void run() {
  -                    if (debug) {
  -                        System.out.println("Manager Suspended");
  -                    }
  -                    playAction.update(true);
  -                    pauseAction.update(false);
  -                }
  -            });
  +        if (debug) {
  +            System.out.println("Manager Suspended");
  +        }
  +        playAction.update(true);
  +        pauseAction.update(false);
       }
   
       /**
        * Called when the manager was resumed.
        */
       public void managerResumed(UpdateManagerEvent e) {
  -        EventQueue.invokeLater(new Runnable() {
  -                public void run() {
  -                    if (debug) {
  -                        System.out.println("Manager Resumed");
  -                    }
  -                    playAction.update(false);
  -                    pauseAction.update(true);
  -                }
  -            });
  +        if (debug) {
  +            System.out.println("Manager Resumed");
  +        }
  +        playAction.update(false);
  +        pauseAction.update(true);
       }
   
       /**
        * Called when the manager was stopped.
        */
       public void managerStopped(UpdateManagerEvent e) {
  -        EventQueue.invokeLater(new Runnable() {
  -                public void run() {
  -                    if (debug) {
  -                        System.out.println("Manager Stopped");
  -                    }
  -                    playAction.update(false);
  -                    pauseAction.update(false);
  -                    stopAction.update(false);
  -                }
  -            });
  +        if (debug) {
  +            System.out.println("Manager Stopped");
  +        }
  +        playAction.update(false);
  +        pauseAction.update(false);
  +        stopAction.update(false);
       }
   
       /**
  
  
  
  1.35      +99 -3     xml-batik/sources/org/apache/batik/swing/svg/JSVGComponent.java
  
  Index: JSVGComponent.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/swing/svg/JSVGComponent.java,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- JSVGComponent.java        11 Jan 2002 08:57:25 -0000      1.34
  +++ JSVGComponent.java        11 Jan 2002 10:49:32 -0000      1.35
  @@ -157,7 +157,7 @@
    * building/rendering a document (invalid XML file, missing attributes...).</p>
    *
    * @author <a href="mailto:[EMAIL PROTECTED]";>Stephane Hillion</a>
  - * @version $Id: JSVGComponent.java,v 1.34 2002/01/11 08:57:25 hillion Exp $
  + * @version $Id: JSVGComponent.java,v 1.35 2002/01/11 10:49:32 hillion Exp $
    */
   public class JSVGComponent extends JGVTComponent {
   
  @@ -265,7 +265,7 @@
   
           addSVGDocumentLoaderListener((SVGListener)listener);
           addGVTTreeBuilderListener((SVGListener)listener);
  -        addUpdateManagerListener((SVGListener)listener);
  +        updateManagerListeners.add(listener);
       }
   
       /**
  @@ -562,7 +562,7 @@
        * Adds a UpdateManagerListener to this component.
        */
       public void addUpdateManagerListener(UpdateManagerListener l) {
  -        updateManagerListeners.add(l);
  +        updateManagerListeners.add(new UpdateManagerListenerWrapper(l));
       }
   
       /**
  @@ -570,6 +570,102 @@
        */
       public void removeUpdateManagerListener(UpdateManagerListener l) {
           updateManagerListeners.remove(l);
  +    }
  +
  +    /**
  +     * To call the update methods from the event thread.
  +     */
  +    protected static class UpdateManagerListenerWrapper
  +        implements UpdateManagerListener {
  +
  +        /**
  +         * The wrapped listener.
  +         */
  +        protected UpdateManagerListener listener;
  +
  +        /**
  +         * Creates a new wrapper.
  +         */
  +        public UpdateManagerListenerWrapper(UpdateManagerListener l) {
  +            listener = l;
  +        }
  +
  +        /**
  +         * Called when the manager was started.
  +         */
  +        public void managerStarted(final UpdateManagerEvent e) {
  +            EventQueue.invokeLater(new Runnable() {
  +                    public void run() {
  +                        listener.managerStarted(e);
  +                    }
  +                });
  +        }
  +
  +        /**
  +         * Called when the manager was suspended.
  +         */
  +        public void managerSuspended(final UpdateManagerEvent e) {
  +            EventQueue.invokeLater(new Runnable() {
  +                    public void run() {
  +                        listener.managerSuspended(e);
  +                    }
  +                });
  +        }
  +
  +        /**
  +         * Called when the manager was resumed.
  +         */
  +        public void managerResumed(final UpdateManagerEvent e) {
  +            EventQueue.invokeLater(new Runnable() {
  +                    public void run() {
  +                        listener.managerResumed(e);
  +                    }
  +                });
  +        }
  +
  +        /**
  +         * Called when the manager was stopped.
  +         */
  +        public void managerStopped(final UpdateManagerEvent e) {
  +            EventQueue.invokeLater(new Runnable() {
  +                    public void run() {
  +                        listener.managerStopped(e);
  +                    }
  +                });
  +        }
  +
  +        /**
  +         * Called when an update started.
  +         */
  +        public void updateStarted(final UpdateManagerEvent e) {
  +            EventQueue.invokeLater(new Runnable() {
  +                    public void run() {
  +                        listener.updateStarted(e);
  +                    }
  +                });
  +        }
  +
  +        /**
  +         * Called when an update was completed.
  +         */
  +        public void updateCompleted(final UpdateManagerEvent e) {
  +            EventQueue.invokeLater(new Runnable() {
  +                    public void run() {
  +                        listener.updateCompleted(e);
  +                    }
  +                });
  +        }
  +
  +        /**
  +         * Called when an update failed.
  +         */
  +        public void updateFailed(final UpdateManagerEvent e) {
  +            EventQueue.invokeLater(new Runnable() {
  +                    public void run() {
  +                        listener.updateFailed(e);
  +                    }
  +                });
  +        }
       }
   
       /**
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to