home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.plaf.basic;
-
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Window;
- import javax.swing.InputMap;
- import javax.swing.JComponent;
- import javax.swing.JMenu;
- import javax.swing.LookAndFeel;
- import javax.swing.SwingUtilities;
- import javax.swing.UIManager;
- import javax.swing.event.ChangeEvent;
- import javax.swing.event.ChangeListener;
-
- public class BasicMenuUI$ChangeHandler implements ChangeListener {
- public JMenu menu;
- // $FF: renamed from: ui javax.swing.plaf.basic.BasicMenuUI
- public BasicMenuUI field_0;
- public boolean isSelected;
- public Component wasFocused;
- // $FF: synthetic field
- private final BasicMenuUI this$0;
-
- public BasicMenuUI$ChangeHandler(BasicMenuUI var1, JMenu var2, BasicMenuUI var3) {
- this.this$0 = var1;
- this.isSelected = false;
- this.menu = var2;
- this.field_0 = var3;
- this.validateKeyboardActions(this.menu.isSelected());
- }
-
- public void stateChanged(ChangeEvent var1) {
- this.validateKeyboardActions(this.menu.isSelected());
- }
-
- private Component findFocusedComponent(Component var1) {
- for(Container var2 = var1.getParent(); var2 != null; var2 = ((Component)var2).getParent()) {
- if (var2 instanceof Window) {
- return ((Window)var2).getFocusOwner();
- }
- }
-
- return null;
- }
-
- private void validateKeyboardActions(boolean var1) {
- if (var1 != this.isSelected) {
- this.isSelected = var1;
- if (this.isSelected) {
- boolean var2 = this.menu.isRequestFocusEnabled();
- this.wasFocused = this.findFocusedComponent(this.menu);
- if (this.wasFocused instanceof JComponent && ((JComponent)this.wasFocused).getRootPane() != this.menu.getRootPane()) {
- this.wasFocused = null;
- }
-
- if (!var2) {
- this.menu.setRequestFocusEnabled(true);
- }
-
- this.menu.requestFocus();
- if (!var2) {
- this.menu.setRequestFocusEnabled(false);
- }
-
- if (BasicMenuUI.access$1100(this.this$0) == null) {
- Object[] var3 = UIManager.get("Menu.selectedWindowInputMapBindings");
- if (var3 != null) {
- BasicMenuUI.access$1102(this.this$0, LookAndFeel.makeComponentInputMap(this.this$0.menuItem, var3));
- }
- }
-
- if (this.this$0.windowInputMap == null) {
- this.this$0.windowInputMap = this.this$0.createInputMap(2);
- SwingUtilities.replaceUIInputMap(this.this$0.menuItem, 2, this.this$0.windowInputMap);
- }
-
- if (this.this$0.windowInputMap != null && BasicMenuUI.access$1100(this.this$0) != null) {
- this.this$0.windowInputMap.setParent(BasicMenuUI.access$1100(this.this$0));
- }
- } else {
- if (this.this$0.windowInputMap != null && BasicMenuUI.access$1100(this.this$0) != null) {
- this.this$0.windowInputMap.setParent((InputMap)null);
- }
-
- if (this.wasFocused != null) {
- if (this.wasFocused instanceof JComponent) {
- JComponent var4 = (JComponent)this.wasFocused;
- boolean var5 = var4.isRequestFocusEnabled();
- if (!var5) {
- var4.setRequestFocusEnabled(true);
- }
-
- this.wasFocused.requestFocus();
- if (!var5) {
- var4.setRequestFocusEnabled(false);
- }
- } else {
- this.wasFocused.requestFocus();
- }
-
- this.wasFocused = null;
- }
- }
- }
-
- }
- }
-