// Decompiled by Jad v1.5.8c. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/kpdus/jad.html
// Decompiler options: packimports(3) 

package org.pietschy.command.interceptor;

import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;


/**
 * DefaultGlassPaneHander is an implementation of {@link GlassPaneHandler} that simply
 * displays the wait cursor and beeps when ever the user clicks.
 */
public class
DefaultGlassPaneHandler
implements GlassPaneHandler
{

   private Cursor originalCursor;
   private Cursor modalCursor;

   private MouseListener mouseListner = new MouseAdapter()
   {
      public void mouseClicked(MouseEvent event)
      {
         Toolkit.getDefaultToolkit().beep();
      }
   };


   public DefaultGlassPaneHandler()
   {
      setModalCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
   }


   public void
   activateGlassPane(RootPaneContainer rootPaneContainer)
   {
      Component glassPane = rootPaneContainer.getGlassPane();
      originalCursor = glassPane.getCursor();
      glassPane.setCursor(getModalCursor());
      glassPane.setVisible(true);
      glassPane.addMouseListener(mouseListner);
   }

   public void
   deactivateGlassPane(RootPaneContainer rootPaneContainer)
   {
      Component glassPane = rootPaneContainer.getGlassPane();
      glassPane.setCursor(originalCursor);
      glassPane.setVisible(false);
      glassPane.removeMouseListener(mouseListner);
   }

   public Cursor
   getModalCursor()
   {
      return modalCursor;
   }

   public void
   setModalCursor(Cursor cursor)
   {
      modalCursor = cursor;
   }

}
