671 focusPrev();
672 break;
673 case XEMBED_REGISTER_ACCELERATOR:
674 registerAccelerator(msg.get_data(2), msg.get_data(3), msg.get_data(4));
675 break;
676 case XEMBED_UNREGISTER_ACCELERATOR:
677 unregisterAccelerator(msg.get_data(2));
678 break;
679 case NON_STANDARD_XEMBED_GTK_GRAB_KEY:
680 grabKey(msg.get_data(3), msg.get_data(4));
681 break;
682 case NON_STANDARD_XEMBED_GTK_UNGRAB_KEY:
683 ungrabKey(msg.get_data(3), msg.get_data(4));
684 break;
685 }
686 } else {
687 xembedLog.finer("But XEmbed is not Active!");
688 }
689 }
690
691 private static class XEmbedDropTarget extends DropTarget {
692 public void addDropTargetListener(DropTargetListener dtl)
693 throws TooManyListenersException {
694 // Drop target listeners registered with this target will never be
695 // notified, since all drag notifications are routed to the XEmbed
696 // client. To avoid confusion we prohibit listeners registration
697 // by throwing TooManyListenersException as if there is a listener
698 // registered with this target already.
699 throw new TooManyListenersException();
700 }
701 }
702
703 public void setXEmbedDropTarget() {
704 // Register a drop site on the top level.
705 Runnable r = new Runnable() {
706 public void run() {
707 target.setDropTarget(new XEmbedDropTarget());
708 }
709 };
710 SunToolkit.executeOnEventHandlerThread(target, r);
|
671 focusPrev();
672 break;
673 case XEMBED_REGISTER_ACCELERATOR:
674 registerAccelerator(msg.get_data(2), msg.get_data(3), msg.get_data(4));
675 break;
676 case XEMBED_UNREGISTER_ACCELERATOR:
677 unregisterAccelerator(msg.get_data(2));
678 break;
679 case NON_STANDARD_XEMBED_GTK_GRAB_KEY:
680 grabKey(msg.get_data(3), msg.get_data(4));
681 break;
682 case NON_STANDARD_XEMBED_GTK_UNGRAB_KEY:
683 ungrabKey(msg.get_data(3), msg.get_data(4));
684 break;
685 }
686 } else {
687 xembedLog.finer("But XEmbed is not Active!");
688 }
689 }
690
691 @SuppressWarnings("serial") // JDK-implementation class
692 private static class XEmbedDropTarget extends DropTarget {
693 public void addDropTargetListener(DropTargetListener dtl)
694 throws TooManyListenersException {
695 // Drop target listeners registered with this target will never be
696 // notified, since all drag notifications are routed to the XEmbed
697 // client. To avoid confusion we prohibit listeners registration
698 // by throwing TooManyListenersException as if there is a listener
699 // registered with this target already.
700 throw new TooManyListenersException();
701 }
702 }
703
704 public void setXEmbedDropTarget() {
705 // Register a drop site on the top level.
706 Runnable r = new Runnable() {
707 public void run() {
708 target.setDropTarget(new XEmbedDropTarget());
709 }
710 };
711 SunToolkit.executeOnEventHandlerThread(target, r);
|