jdk/src/solaris/classes/sun/awt/X11/XDropTargetRegistry.java
changeset 3938 ef327bd847c0
parent 2802 d05a9dcc8296
child 4259 b41995ac0c17
equal deleted inserted replaced
3934:487e1aa949c4 3938:ef327bd847c0
    29 import java.util.Collections;
    29 import java.util.Collections;
    30 import java.util.HashMap;
    30 import java.util.HashMap;
    31 import java.util.HashSet;
    31 import java.util.HashSet;
    32 import java.util.Iterator;
    32 import java.util.Iterator;
    33 import java.util.List;
    33 import java.util.List;
    34 import java.util.logging.*;
    34 import sun.util.logging.PlatformLogger;
    35 
    35 
    36 import java.awt.Point;
    36 import java.awt.Point;
    37 
    37 
    38 
    38 
    39 /**
    39 /**
    40  * The class responsible for registration/deregistration of drop sites.
    40  * The class responsible for registration/deregistration of drop sites.
    41  *
    41  *
    42  * @since 1.5
    42  * @since 1.5
    43  */
    43  */
    44 final class XDropTargetRegistry {
    44 final class XDropTargetRegistry {
    45     private static final Logger logger =
    45     private static final PlatformLogger logger =
    46         Logger.getLogger("sun.awt.X11.xembed.xdnd.XDropTargetRegistry");
    46         PlatformLogger.getLogger("sun.awt.X11.xembed.xdnd.XDropTargetRegistry");
    47 
    47 
    48     private static final long DELAYED_REGISTRATION_PERIOD = 200;
    48     private static final long DELAYED_REGISTRATION_PERIOD = 200;
    49 
    49 
    50     private static final XDropTargetRegistry theInstance =
    50     private static final XDropTargetRegistry theInstance =
    51         new XDropTargetRegistry();
    51         new XDropTargetRegistry();
   612         XDragSourceProtocol.TargetWindowInfo info =
   612         XDragSourceProtocol.TargetWindowInfo info =
   613             xdndDragProtocol.getTargetWindowInfo(clientWindow);
   613             xdndDragProtocol.getTargetWindowInfo(clientWindow);
   614         if (info != null &&
   614         if (info != null &&
   615             info.getProtocolVersion() >= XDnDConstants.XDND_MIN_PROTOCOL_VERSION) {
   615             info.getProtocolVersion() >= XDnDConstants.XDND_MIN_PROTOCOL_VERSION) {
   616 
   616 
   617             if (logger.isLoggable(Level.FINE)) {
   617             if (logger.isLoggable(PlatformLogger.FINE)) {
   618                 logger.fine("        XEmbed drop site will be registered for " + Long.toHexString(clientWindow));
   618                 logger.fine("        XEmbed drop site will be registered for " + Long.toHexString(clientWindow));
   619             }
   619             }
   620             registerEmbeddedDropSite(canvasWindow, clientWindow);
   620             registerEmbeddedDropSite(canvasWindow, clientWindow);
   621 
   621 
   622             Iterator dropTargetProtocols =
   622             Iterator dropTargetProtocols =
   626                 XDropTargetProtocol dropTargetProtocol =
   626                 XDropTargetProtocol dropTargetProtocol =
   627                     (XDropTargetProtocol)dropTargetProtocols.next();
   627                     (XDropTargetProtocol)dropTargetProtocols.next();
   628                 dropTargetProtocol.registerEmbeddedDropSite(clientWindow);
   628                 dropTargetProtocol.registerEmbeddedDropSite(clientWindow);
   629             }
   629             }
   630 
   630 
   631             if (logger.isLoggable(Level.FINE)) {
   631             if (logger.isLoggable(PlatformLogger.FINE)) {
   632                 logger.fine("        XEmbed drop site has been registered for " + Long.toHexString(clientWindow));
   632                 logger.fine("        XEmbed drop site has been registered for " + Long.toHexString(clientWindow));
   633             }
   633             }
   634         }
   634         }
   635     }
   635     }
   636 
   636 
   637     public void unregisterXEmbedClient(long canvasWindow, long clientWindow) {
   637     public void unregisterXEmbedClient(long canvasWindow, long clientWindow) {
   638         if (logger.isLoggable(Level.FINE)) {
   638         if (logger.isLoggable(PlatformLogger.FINE)) {
   639             logger.fine("        XEmbed drop site will be unregistered for " + Long.toHexString(clientWindow));
   639             logger.fine("        XEmbed drop site will be unregistered for " + Long.toHexString(clientWindow));
   640         }
   640         }
   641         Iterator dropTargetProtocols =
   641         Iterator dropTargetProtocols =
   642             XDragAndDropProtocols.getDropTargetProtocols();
   642             XDragAndDropProtocols.getDropTargetProtocols();
   643 
   643 
   647             dropTargetProtocol.unregisterEmbeddedDropSite(clientWindow);
   647             dropTargetProtocol.unregisterEmbeddedDropSite(clientWindow);
   648         }
   648         }
   649 
   649 
   650         unregisterEmbeddedDropSite(canvasWindow, clientWindow);
   650         unregisterEmbeddedDropSite(canvasWindow, clientWindow);
   651 
   651 
   652         if (logger.isLoggable(Level.FINE)) {
   652         if (logger.isLoggable(PlatformLogger.FINE)) {
   653             logger.fine("        XEmbed drop site has beed unregistered for " + Long.toHexString(clientWindow));
   653             logger.fine("        XEmbed drop site has beed unregistered for " + Long.toHexString(clientWindow));
   654         }
   654         }
   655     }
   655     }
   656 
   656 
   657     /**************** Delayed drop site registration *******************************/
   657     /**************** Delayed drop site registration *******************************/