home *** CD-ROM | disk | FTP | other *** search
- package sun.awt.windows;
-
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Event;
- import java.awt.MenuComponent;
- import java.awt.Point;
- import java.awt.PopupMenu;
- import java.awt.peer.PopupMenuPeer;
- import sun.awt.SunToolkit;
-
- public class WPopupMenuPeer extends WMenuPeer implements PopupMenuPeer {
- public WPopupMenuPeer(PopupMenu var1) {
- super.target = var1;
- if (((MenuComponent)var1).getParent() instanceof Component) {
- Component var2 = (Component)((MenuComponent)var1).getParent();
- WComponentPeer var3 = (WComponentPeer)WToolkit.targetToPeer(var2);
- if (var3 == null) {
- Container var4 = SunToolkit.getNativeContainer(var2);
- var3 = (WComponentPeer)WToolkit.targetToPeer(var4);
- }
-
- this.createMenu(var3);
- } else {
- throw new IllegalArgumentException("illegal popup menu container class");
- }
- }
-
- native void createMenu(WComponentPeer var1);
-
- public void show(Event var1) {
- Component var2 = (Component)var1.target;
- WComponentPeer var3 = (WComponentPeer)WToolkit.targetToPeer(var2);
- if (var3 == null) {
- Container var4 = SunToolkit.getNativeContainer(var2);
- var1.target = var4;
-
- for(Object var5 = var2; var5 != var4; var5 = ((Component)var5).getParent()) {
- Point var6 = ((Component)var5).getLocation();
- var1.x += var6.x;
- var1.y += var6.y;
- }
- }
-
- this._show(var1);
- }
-
- public native void _show(Event var1);
- }
-