home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing;
-
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.Rectangle;
- import java.beans.PropertyVetoException;
-
- public class DefaultDesktopManager implements DesktopManager {
- static final String PREVIOUS_BOUNDS_PROPERTY = "previousBounds";
- static final String HAS_BEEN_ICONIFIED_PROPERTY = "wasIconOnce";
-
- public void openFrame(JInternalFrame var1) {
- if (var1.getDesktopIcon().getParent() != null) {
- var1.getDesktopIcon().getParent().add(var1);
- this.removeIconFor(var1);
- }
-
- }
-
- public void closeFrame(JInternalFrame var1) {
- if (((Component)var1).getParent() != null) {
- Container var2 = ((Component)var1).getParent();
- var2.remove(var1);
- ((Component)var2).repaint(((JComponent)var1).getX(), ((JComponent)var1).getY(), ((JComponent)var1).getWidth(), ((JComponent)var1).getHeight());
- }
-
- this.removeIconFor(var1);
- if (this.getPreviousBounds(var1) != null) {
- this.setPreviousBounds(var1, (Rectangle)null);
- }
-
- if (this.wasIcon(var1)) {
- this.setWasIcon(var1, (Boolean)null);
- }
-
- }
-
- public void maximizeFrame(JInternalFrame var1) {
- Rectangle var2;
- if (!var1.isIcon()) {
- this.setPreviousBounds(var1, ((Component)var1).getBounds());
- var2 = ((Component)var1).getParent().getBounds();
- } else {
- Container var3 = var1.getDesktopIcon().getParent();
- if (var3 == null) {
- return;
- }
-
- var2 = ((Component)var3).getBounds();
-
- try {
- var1.setIcon(false);
- } catch (PropertyVetoException var5) {
- }
- }
-
- this.setBoundsForFrame(var1, 0, 0, var2.width, var2.height);
-
- try {
- var1.setSelected(true);
- } catch (PropertyVetoException var4) {
- }
-
- this.removeIconFor(var1);
- }
-
- public void minimizeFrame(JInternalFrame var1) {
- if (this.getPreviousBounds(var1) != null) {
- Rectangle var2 = this.getPreviousBounds(var1);
- this.setPreviousBounds(var1, (Rectangle)null);
-
- try {
- var1.setSelected(true);
- } catch (PropertyVetoException var4) {
- }
-
- if (var1.isIcon()) {
- try {
- var1.setIcon(false);
- } catch (PropertyVetoException var3) {
- }
- }
-
- this.setBoundsForFrame(var1, var2.x, var2.y, var2.width, var2.height);
- }
-
- this.removeIconFor(var1);
- }
-
- public void iconifyFrame(JInternalFrame var1) {
- JInternalFrame.JDesktopIcon var2 = var1.getDesktopIcon();
- if (!this.wasIcon(var1)) {
- Rectangle var4 = this.getBoundsForIconOf(var1);
- ((Component)var2).setBounds(var4.x, var4.y, var4.width, var4.height);
- this.setWasIcon(var1, Boolean.TRUE);
- }
-
- Container var3 = ((Component)var1).getParent();
- var3.remove(var1);
- var3.add(var2);
- ((Component)var3).repaint(((JComponent)var1).getX(), ((JComponent)var1).getY(), ((JComponent)var1).getWidth(), ((JComponent)var1).getHeight());
-
- try {
- var1.setSelected(false);
- } catch (PropertyVetoException var5) {
- }
- }
-
- public void deiconifyFrame(JInternalFrame var1) {
- JInternalFrame.JDesktopIcon var2 = var1.getDesktopIcon();
- if (((Component)var2).getParent() != null) {
- ((Component)var2).getParent().add(var1);
- this.removeIconFor(var1);
-
- try {
- var1.setSelected(true);
- } catch (PropertyVetoException var3) {
- }
- }
- }
-
- public void activateFrame(JInternalFrame var1) {
- Container var2 = ((Component)var1).getParent();
- if (var2 == null) {
- var2 = var1.getDesktopIcon().getParent();
- if (var2 == null) {
- return;
- }
- }
-
- Component[] var3;
- if (var2 instanceof JLayeredPane) {
- JLayeredPane var10000 = (JLayeredPane)var2;
- JLayeredPane var10001 = (JLayeredPane)var2;
- var3 = var10000.getComponentsInLayer(JLayeredPane.getLayer(var1));
- } else {
- var3 = var2.getComponents();
- }
-
- int var5 = var3.length;
-
- for(int var4 = 0; var4 < var5; ++var4) {
- if (var3[var4] != var1 && var3[var4] instanceof JInternalFrame) {
- JInternalFrame var9 = (JInternalFrame)var3[var4];
- if (var9.isSelected()) {
- try {
- var9.setSelected(false);
- } catch (PropertyVetoException var7) {
- }
- }
- } else if (var3[var4] instanceof JInternalFrame.JDesktopIcon && var3[var4] != var1.getDesktopIcon()) {
- JInternalFrame var6 = ((JInternalFrame.JDesktopIcon)var3[var4]).getInternalFrame();
- if (var6.isSelected()) {
- try {
- var6.setSelected(false);
- } catch (PropertyVetoException var8) {
- }
- }
- }
- }
-
- var1.moveToFront();
- }
-
- public void deactivateFrame(JInternalFrame var1) {
- }
-
- public void beginDraggingFrame(JComponent var1) {
- }
-
- public void dragFrame(JComponent var1, int var2, int var3) {
- this.setBoundsForFrame(var1, var2, var3, var1.getWidth(), var1.getHeight());
- }
-
- public void endDraggingFrame(JComponent var1) {
- }
-
- public void beginResizingFrame(JComponent var1, int var2) {
- }
-
- public void resizeFrame(JComponent var1, int var2, int var3, int var4, int var5) {
- this.setBoundsForFrame(var1, var2, var3, var4, var5);
- }
-
- public void endResizingFrame(JComponent var1) {
- }
-
- public void setBoundsForFrame(JComponent var1, int var2, int var3, int var4, int var5) {
- boolean var6 = var1.getWidth() != var4 || var1.getHeight() != var5;
- ((Component)var1).setBounds(var2, var3, var4, var5);
- if (var6) {
- ((Container)var1).validate();
- }
-
- }
-
- protected void removeIconFor(JInternalFrame var1) {
- JInternalFrame.JDesktopIcon var2 = var1.getDesktopIcon();
- Container var3 = ((Component)var2).getParent();
- if (var3 != null) {
- var3.remove(var2);
- ((Component)var3).repaint(((JComponent)var2).getX(), ((JComponent)var2).getY(), ((JComponent)var2).getWidth(), ((JComponent)var2).getHeight());
- }
-
- }
-
- protected Rectangle getBoundsForIconOf(JInternalFrame var1) {
- Rectangle var2 = ((Component)var1).getParent().getBounds();
- Dimension var3 = var1.getDesktopIcon().getPreferredSize();
- int var6 = var3.width;
- int var7 = var3.height;
- int var4 = 0;
- int var5 = var2.height - var7;
- if (((Component)var1).getParent() == null && var1.getDesktopIcon().getParent() == null) {
- return new Rectangle(var4, var5, var6, var7);
- } else {
- Container var8 = ((Component)var1).getParent();
- if (var8 == null) {
- var8 = var1.getDesktopIcon().getParent();
- }
-
- int var9 = var8.getComponentCount();
- var8.getComponents();
- int var12 = 0;
- int var13 = var2.height;
-
- for(int var11 = var9 - 1; var11 >= 0; --var11) {
- JInternalFrame var14 = null;
- if (var8.getComponent(var11) instanceof JInternalFrame) {
- var14 = (JInternalFrame)var8.getComponent(var11);
- } else if (var8.getComponent(var11) instanceof JInternalFrame.JDesktopIcon) {
- var14 = ((JInternalFrame.JDesktopIcon)var8.getComponent(var11)).getInternalFrame();
- }
-
- if (var14 != null && var14 != var1 && this.wasIcon(var14)) {
- Rectangle var10 = var14.getDesktopIcon().getBounds();
- if (var10.y < var13) {
- var13 = var10.y;
- var12 = var10.x + var10.width;
- } else if (var10.y == var13 && var10.x + var10.width > var12) {
- var12 = var10.x + var10.width;
- }
- }
- }
-
- if (var13 != var2.height) {
- var5 = var13;
- }
-
- if (var12 + var6 > var2.width) {
- var5 -= var7;
- var4 = 0;
- } else {
- var4 = var12;
- }
-
- return new Rectangle(var4, var5, var6, var7);
- }
- }
-
- protected void setPreviousBounds(JInternalFrame var1, Rectangle var2) {
- if (var2 != null) {
- ((JComponent)var1).putClientProperty("previousBounds", var2);
- }
-
- }
-
- protected Rectangle getPreviousBounds(JInternalFrame var1) {
- return (Rectangle)((JComponent)var1).getClientProperty("previousBounds");
- }
-
- protected void setWasIcon(JInternalFrame var1, Boolean var2) {
- if (var2 != null) {
- ((JComponent)var1).putClientProperty("wasIconOnce", var2);
- }
-
- }
-
- protected boolean wasIcon(JInternalFrame var1) {
- return ((JComponent)var1).getClientProperty("wasIconOnce") == Boolean.TRUE;
- }
- }
-