home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing.plaf.basic;
-
- import com.sun.java.swing.JComponent;
- import com.sun.java.swing.JMenu;
- import com.sun.java.swing.JMenuBar;
- import com.sun.java.swing.JPopupMenu;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Point;
- import java.awt.Rectangle;
-
- public class BasicMenuUtilities {
- public static Component getMenuComponentAt(JMenuBar var0, int var1, int var2) {
- int var3 = ((Container)var0).getComponentCount();
- Component[] var4 = ((Container)var0).getComponents();
-
- for(int var5 = 0; var5 < var3; ++var5) {
- Component var6 = var4[var5];
- Point var7 = getTranslatedPoint((JMenuBar)var0, var1, var2, var0, var6);
- Component var8;
- if (var6 instanceof JMenu) {
- var8 = getMenuComponentAt((JMenu)var6, var7.x, var7.y);
- } else {
- var8 = var6.getComponentAt(var7.x, var7.y);
- }
-
- if (var8 != null && var8.isShowing()) {
- return var8;
- }
- }
-
- return null;
- }
-
- public static Component getMenuComponentAt(JMenu var0, int var1, int var2) {
- if (((JComponent)var0).contains(var1, var2)) {
- return var0;
- } else if (var0.isSelected()) {
- Point var3 = translateToPopupMenu(var0, var1, var2);
- return getMenuComponentAt(var0.getPopupMenu(), var3.x, var3.y);
- } else {
- return null;
- }
- }
-
- public static Component getMenuComponentAt(JPopupMenu var0, int var1, int var2) {
- int var3 = ((Container)var0).getComponentCount();
- Component[] var4 = ((Container)var0).getComponents();
-
- for(int var5 = 0; var5 < var3; ++var5) {
- Component var6 = var4[var5];
- Point var7 = getTranslatedPoint((JPopupMenu)var0, var1, var2, var0, var6);
- Component var8;
- if (var6 instanceof JMenu) {
- var8 = getMenuComponentAt((JMenu)var6, var7.x, var7.y);
- } else {
- var8 = var6.getComponentAt(var7.x, var7.y);
- }
-
- if (var8 != null && var8.isShowing()) {
- return var8;
- }
- }
-
- if (((JComponent)var0).contains(var1, var2) && ((Component)var0).isShowing()) {
- return var0;
- } else {
- return null;
- }
- }
-
- public static Point getTranslatedPoint(JMenuBar var0, int var1, int var2, Component var3, Component var4) {
- int var6 = var1;
- int var7 = var2;
-
- Object var5;
- for(var5 = var4; var5 != null && var5 != var3; var5 = ((Component)var5).getParent()) {
- Rectangle var8 = ((Component)var5).getBounds();
- var6 -= var8.x;
- var7 -= var8.y;
- }
-
- if (var5 != null) {
- return new Point(var6, var7);
- } else {
- int var13 = ((Container)var0).getComponentCount();
- Component[] var9 = ((Container)var0).getComponents();
-
- for(int var10 = 0; var10 < var13; ++var10) {
- Component var11 = var9[var10];
- if (var11 instanceof JMenu) {
- Point var12 = getTranslatedPoint((JMenu)var11, var1, var2, var11, var4);
- if (var12 != null) {
- return var12;
- }
- }
- }
-
- return null;
- }
- }
-
- public static Point getTranslatedPoint(JPopupMenu var0, int var1, int var2, Component var3, Component var4) {
- int var6 = var1;
- int var7 = var2;
-
- Object var5;
- for(var5 = var4; var5 != null && var5 != var3; var5 = ((Component)var5).getParent()) {
- Rectangle var8 = ((Component)var5).getBounds();
- var6 -= var8.x;
- var7 -= var8.y;
- }
-
- if (var5 != null) {
- return new Point(var6, var7);
- } else {
- int var13 = ((Container)var0).getComponentCount();
- Component[] var9 = ((Container)var0).getComponents();
-
- for(int var10 = 0; var10 < var13; ++var10) {
- Component var11 = var9[var10];
- if (var11 instanceof JMenu) {
- Point var12 = getTranslatedPoint((JMenu)var11, var1, var2, var11, var4);
- if (var12 != null) {
- return var12;
- }
- }
- }
-
- return null;
- }
- }
-
- public static Point getTranslatedPoint(JMenu var0, int var1, int var2, Component var3, Component var4) {
- if (var4 == var0) {
- return new Point(var1, var2);
- } else {
- if (var0.isSelected()) {
- Point var5 = translateToPopupMenu(var0, var1, var2);
- int var6 = var0.getMenuComponentCount();
- Component[] var7 = var0.getMenuComponents();
-
- for(int var8 = 0; var8 < var6; ++var8) {
- Component var9 = var7[var8];
- JPopupMenu var10 = var0.getPopupMenu();
- Point var11 = getTranslatedPoint((JPopupMenu)var10, var5.x, var5.y, var10, var9);
- if (var9 == var4) {
- return var11;
- }
-
- if (var9 instanceof JMenu) {
- Point var12 = getTranslatedPoint((JMenu)var9, var11.x, var11.y, var9, var4);
- if (var12 != null) {
- return var12;
- }
- }
- }
- }
-
- return null;
- }
- }
-
- private static Point translateToPopupMenu(JMenu var0, Point var1) {
- return translateToPopupMenu(var0, var1.x, var1.y);
- }
-
- private static Point translateToPopupMenu(JMenu var0, int var1, int var2) {
- int var3;
- int var4;
- if (((Component)var0).getParent() instanceof JPopupMenu) {
- var3 = var1 - ((Component)var0).getSize().width;
- var4 = var2;
- } else {
- var3 = var1;
- var4 = var2 - ((Component)var0).getSize().height;
- }
-
- return new Point(var3, var4);
- }
- }
-