home *** CD-ROM | disk | FTP | other *** search
- package javax.swing.plaf.basic;
-
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Graphics;
- import java.util.Vector;
- import javax.swing.ActionMap;
- import javax.swing.DefaultDesktopManager;
- import javax.swing.DesktopManager;
- import javax.swing.InputMap;
- import javax.swing.JComponent;
- import javax.swing.JDesktopPane;
- import javax.swing.JInternalFrame;
- import javax.swing.KeyStroke;
- import javax.swing.LookAndFeel;
- import javax.swing.SwingUtilities;
- import javax.swing.UIManager;
- import javax.swing.plaf.ActionMapUIResource;
- import javax.swing.plaf.ComponentUI;
- import javax.swing.plaf.DesktopPaneUI;
- import javax.swing.plaf.UIResource;
-
- public class BasicDesktopPaneUI extends DesktopPaneUI {
- private static Dimension minSize = new Dimension(0, 0);
- private static Dimension maxSize = new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE);
- protected JDesktopPane desktop;
- protected DesktopManager desktopManager;
- protected KeyStroke minimizeKey;
- protected KeyStroke maximizeKey;
- protected KeyStroke closeKey;
- protected KeyStroke navigateKey;
- protected KeyStroke navigateKey2;
- private static Vector framesCache;
- private static int selectedIndex;
- private NavigateAction nextAction;
- private boolean moving = false;
- private boolean resizing = false;
- private final int MOVE_RESIZE_INCREMENT = 10;
-
- public static ComponentUI createUI(JComponent var0) {
- return new BasicDesktopPaneUI();
- }
-
- public void installUI(JComponent var1) {
- this.desktop = (JDesktopPane)var1;
- this.installDefaults();
- this.installDesktopManager();
- this.installKeyboardActions();
- }
-
- public void uninstallUI(JComponent var1) {
- this.uninstallKeyboardActions();
- this.uninstallDesktopManager();
- this.uninstallDefaults();
- this.desktop = null;
- }
-
- protected void installDefaults() {
- if (this.desktop.getBackground() == null || this.desktop.getBackground() instanceof UIResource) {
- this.desktop.setBackground(UIManager.getColor("Desktop.background"));
- }
-
- }
-
- protected void uninstallDefaults() {
- }
-
- protected void installDesktopManager() {
- if (this.desktop.getDesktopManager() == null) {
- this.desktopManager = new DefaultDesktopManager();
- this.desktop.setDesktopManager(this.desktopManager);
- }
-
- }
-
- protected void uninstallDesktopManager() {
- if (this.desktop.getDesktopManager() == this.desktopManager) {
- this.desktop.setDesktopManager((DesktopManager)null);
- }
-
- this.desktopManager = null;
- }
-
- protected void installKeyboardActions() {
- InputMap var1 = this.getInputMap(2);
- if (var1 != null) {
- SwingUtilities.replaceUIInputMap(this.desktop, 2, var1);
- }
-
- var1 = this.getInputMap(1);
- if (var1 != null) {
- SwingUtilities.replaceUIInputMap(this.desktop, 1, var1);
- }
-
- ActionMap var2 = this.getActionMap();
- SwingUtilities.replaceUIActionMap(this.desktop, var2);
- this.registerKeyboardActions();
- }
-
- protected void registerKeyboardActions() {
- }
-
- protected void unregisterKeyboardActions() {
- }
-
- InputMap getInputMap(int var1) {
- if (var1 == 2) {
- return this.createInputMap(var1);
- } else {
- return var1 == 1 ? (InputMap)UIManager.get("Desktop.ancestorInputMap") : null;
- }
- }
-
- InputMap createInputMap(int var1) {
- if (var1 == 2) {
- Object[] var2 = UIManager.get("Desktop.windowBindings");
- if (var2 != null) {
- return LookAndFeel.makeComponentInputMap(this.desktop, var2);
- }
- }
-
- return null;
- }
-
- ActionMap getActionMap() {
- return this.createActionMap();
- }
-
- ActionMap createActionMap() {
- ActionMapUIResource var1 = new ActionMapUIResource();
- ((ActionMap)var1).put("restore", new OpenAction(this));
- ((ActionMap)var1).put("close", new CloseAction(this));
- ((ActionMap)var1).put("move", new MoveResizeAction(this, "move"));
- ((ActionMap)var1).put("resize", new MoveResizeAction(this, "resize"));
- ((ActionMap)var1).put("left", new MoveResizeAction(this, "left"));
- ((ActionMap)var1).put("right", new MoveResizeAction(this, "right"));
- ((ActionMap)var1).put("up", new MoveResizeAction(this, "up"));
- ((ActionMap)var1).put("down", new MoveResizeAction(this, "down"));
- ((ActionMap)var1).put("escape", new MoveResizeAction(this, "escape"));
- ((ActionMap)var1).put("minimize", new MinimizeAction(this));
- ((ActionMap)var1).put("maximize", new MaximizeAction(this));
- ((ActionMap)var1).put("selectNextFrame", this.nextAction = new NavigateAction(this));
- ((ActionMap)var1).put("selectPreviousFrame", new PreviousAction(this, (1)null));
- return var1;
- }
-
- protected void uninstallKeyboardActions() {
- this.unregisterKeyboardActions();
- SwingUtilities.replaceUIInputMap(this.desktop, 2, (InputMap)null);
- SwingUtilities.replaceUIInputMap(this.desktop, 1, (InputMap)null);
- SwingUtilities.replaceUIActionMap(this.desktop, (ActionMap)null);
- }
-
- public void paint(Graphics var1, JComponent var2) {
- }
-
- public Dimension getPreferredSize(JComponent var1) {
- return null;
- }
-
- public Dimension getMinimumSize(JComponent var1) {
- return minSize;
- }
-
- public Dimension getMaximumSize(JComponent var1) {
- return maxSize;
- }
-
- private void verifyFramesCache() {
- boolean var1 = false;
- if (framesCache == null) {
- framesCache = new Vector();
- var1 = true;
- }
-
- boolean var2 = false;
- int var3 = framesCache.size();
-
- for(int var4 = 0; var4 < var3; ++var4) {
- JComponent var5 = (JComponent)framesCache.elementAt(var4);
- if (var5 instanceof JInternalFrame) {
- JInternalFrame var6 = (JInternalFrame)var5;
- if (var6.isClosed()) {
- var2 = true;
- break;
- }
- } else if (var5 instanceof JInternalFrame.JDesktopIcon) {
- JInternalFrame.JDesktopIcon var13 = (JInternalFrame.JDesktopIcon)var5;
- JInternalFrame var7 = var13.getInternalFrame();
- if (var7.isClosed()) {
- var2 = true;
- break;
- }
- }
- }
-
- JInternalFrame[] var12 = this.desktop.getAllFrames();
- if (var2 || var12.length != framesCache.size()) {
- framesCache.clear();
- int var14 = this.desktop.lowestLayer();
- int var15 = this.desktop.highestLayer();
- int var8 = 0;
-
- for(int var9 = var15; var9 >= var14; --var9) {
- Component[] var10 = this.desktop.getComponentsInLayer(var9);
- if (var10.length > 0) {
- for(int var11 = 0; var11 < var10.length; ++var11) {
- framesCache.addElement(var10[var11]);
- if (var1 && var10[var11] instanceof JInternalFrame && ((JInternalFrame)var10[var11]).isSelected()) {
- selectedIndex = var8;
- }
-
- ++var8;
- }
- }
- }
- }
-
- }
-
- // $FF: synthetic method
- static void access$100(BasicDesktopPaneUI var0) {
- var0.verifyFramesCache();
- }
-
- // $FF: synthetic method
- static int access$200() {
- return selectedIndex;
- }
-
- // $FF: synthetic method
- static Vector access$300() {
- return framesCache;
- }
-
- // $FF: synthetic method
- static NavigateAction access$400(BasicDesktopPaneUI var0) {
- return var0.nextAction;
- }
-
- // $FF: synthetic method
- static boolean access$502(BasicDesktopPaneUI var0, boolean var1) {
- return var0.moving = var1;
- }
-
- // $FF: synthetic method
- static boolean access$602(BasicDesktopPaneUI var0, boolean var1) {
- return var0.resizing = var1;
- }
-
- // $FF: synthetic method
- static boolean access$500(BasicDesktopPaneUI var0) {
- return var0.moving;
- }
-
- // $FF: synthetic method
- static boolean access$600(BasicDesktopPaneUI var0) {
- return var0.resizing;
- }
-
- // $FF: synthetic method
- static int access$208() {
- return selectedIndex++;
- }
-
- // $FF: synthetic method
- static int access$202(int var0) {
- selectedIndex = var0;
- return var0;
- }
-
- // $FF: synthetic method
- static int access$210() {
- return selectedIndex--;
- }
- }
-