home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing.plaf.basic;
-
- import com.sun.java.swing.DefaultDesktopManager;
- import com.sun.java.swing.DesktopManager;
- import com.sun.java.swing.Icon;
- import com.sun.java.swing.JComponent;
- import com.sun.java.swing.JInternalFrame;
- import com.sun.java.swing.LookAndFeel;
- import com.sun.java.swing.UIManager;
- import com.sun.java.swing.plaf.ComponentUI;
- import com.sun.java.swing.plaf.InternalFrameUI;
- import com.sun.java.swing.plaf.UIResource;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Cursor;
- import java.awt.Dimension;
- import java.awt.IllegalComponentStateException;
- import java.awt.Insets;
- import java.awt.LayoutManager;
- import java.awt.event.MouseEvent;
- import java.awt.event.MouseListener;
- import java.awt.event.MouseMotionListener;
- import java.beans.PropertyChangeEvent;
- import java.beans.PropertyChangeListener;
- import java.io.Serializable;
- import java.util.EventListener;
- import java.util.EventObject;
-
- public class BasicInternalFrameUI extends InternalFrameUI implements LayoutManager, PropertyChangeListener, Serializable, MouseListener {
- protected JInternalFrame frame;
- protected EventListener borderListener;
- protected JComponent northPane;
- protected JComponent southPane;
- protected JComponent westPane;
- protected JComponent eastPane;
- protected static DesktopManager sharedDesktopManager;
-
- public static ComponentUI createUI(JComponent var0) {
- return new BasicInternalFrameUI((JInternalFrame)var0);
- }
-
- public BasicInternalFrameUI(JInternalFrame var1) {
- }
-
- public void installUI(JComponent var1) {
- this.frame = (JInternalFrame)var1;
- this.frame.add(this.frame.getRootPane(), "Center");
- this.installDefaults(this.frame);
- this.borderListener = this.createBorderListener(this.frame);
- this.frame.addPropertyChangeListener(this);
- this.frame.setLayout(this);
- this.setNorthPane(this.createNorthPane(this.frame));
- this.setSouthPane(this.createSouthPane(this.frame));
- this.setEastPane(this.createEastPane(this.frame));
- this.setWestPane(this.createWestPane(this.frame));
- this.installMouseHandlers(this.frame);
- this.frame.setOpaque(true);
- this.frame.setMinimumSize(new Dimension(120, 24));
- }
-
- public void uninstallUI(JComponent var1) {
- if (var1 != this.frame) {
- throw new IllegalComponentStateException(this + " was asked to deinstall() " + var1 + " when it only knows about " + this.frame + ".");
- } else {
- this.uninstallDefaults(this.frame);
- this.frame.setCursor(Cursor.getPredefinedCursor(0));
- this.setNorthPane((JComponent)null);
- this.setSouthPane((JComponent)null);
- this.setEastPane((JComponent)null);
- this.setWestPane((JComponent)null);
- this.frame.setLayout((LayoutManager)null);
- this.deinstallMouseHandlers(this.frame);
- this.borderListener = null;
- this.frame.removePropertyChangeListener(this);
- this.frame.remove(this.frame.getRootPane());
- this.frame = null;
- }
- }
-
- protected void installDefaults(JInternalFrame var1) {
- Icon var2 = var1.getFrameIcon();
- if (var2 == null || var2 instanceof UIResource) {
- var1.setFrameIcon(UIManager.getIcon("InternalFrame.icon"));
- }
-
- LookAndFeel.installBorder(var1, "InternalFrame.border");
- }
-
- protected void uninstallDefaults(JInternalFrame var1) {
- Icon var2 = var1.getFrameIcon();
- if (var2 instanceof UIResource) {
- var1.setFrameIcon((Icon)null);
- }
-
- LookAndFeel.uninstallBorder(var1);
- }
-
- public Dimension getPreferredSize(JComponent var1) {
- return this.frame == var1 ? this.frame.getLayout().preferredLayoutSize(var1) : new Dimension(100, 100);
- }
-
- public Dimension getMinimumSize(JComponent var1) {
- return this.frame == var1 ? this.frame.getLayout().minimumLayoutSize(var1) : new Dimension(0, 0);
- }
-
- public Dimension getMaximumSize(JComponent var1) {
- return new Dimension(Integer.MAX_VALUE, Integer.MAX_VALUE);
- }
-
- public void propertyChange(PropertyChangeEvent var1) {
- String var2 = var1.getPropertyName();
- JInternalFrame var3 = (JInternalFrame)((EventObject)var1).getSource();
- Object var4 = var1.getNewValue();
- Object var5 = var1.getOldValue();
- if ("rootPane".equals(var2)) {
- if (var5 != null) {
- this.frame.remove((Component)var5);
- }
-
- if (var4 != null) {
- this.frame.add((Component)var4);
- return;
- }
- } else if ("isClosed".equals(var2)) {
- if (var4 == Boolean.TRUE) {
- this.closeFrame(var3);
- return;
- }
- } else {
- if ("isMaximum".equals(var2)) {
- if (var4 == Boolean.TRUE) {
- this.maximizeFrame(var3);
- return;
- }
-
- this.minimizeFrame(var3);
- return;
- }
-
- if ("isIcon".equals(var2)) {
- if (var4 == Boolean.TRUE) {
- this.iconifyFrame(var3);
- return;
- }
-
- this.deiconifyFrame(var3);
- return;
- }
-
- if ("isSelected".equals(var2)) {
- if (var4 == Boolean.TRUE && var5 == Boolean.FALSE) {
- this.activateFrame(var3);
- return;
- }
-
- if (var4 == Boolean.FALSE && var5 == Boolean.TRUE) {
- this.deactivateFrame(var3);
- }
- }
- }
-
- }
-
- protected void replacePane(JComponent var1, JComponent var2) {
- if (var1 != null) {
- this.deinstallMouseHandlers(var1);
- this.frame.remove(var1);
- }
-
- if (var2 != null) {
- this.frame.add(var2);
- this.installMouseHandlers(var2);
- }
-
- }
-
- protected void deinstallMouseHandlers(JComponent var1) {
- if (var1 != null) {
- if (this.borderListener instanceof MouseListener) {
- ((Component)var1).removeMouseListener((MouseListener)this.borderListener);
- }
-
- if (this.borderListener instanceof MouseMotionListener) {
- ((Component)var1).removeMouseMotionListener((MouseMotionListener)this.borderListener);
- }
- }
-
- }
-
- protected void installMouseHandlers(JComponent var1) {
- if (var1 != null) {
- if (this.borderListener instanceof MouseListener) {
- ((Component)var1).addMouseListener((MouseListener)this.borderListener);
- }
-
- if (this.borderListener instanceof MouseMotionListener) {
- ((Component)var1).addMouseMotionListener((MouseMotionListener)this.borderListener);
- }
- }
-
- }
-
- protected JComponent createNorthPane(JInternalFrame var1) {
- return new BasicInternalFrameTitlePane(var1);
- }
-
- protected JComponent createSouthPane(JInternalFrame var1) {
- return null;
- }
-
- protected JComponent createWestPane(JInternalFrame var1) {
- return null;
- }
-
- protected JComponent createEastPane(JInternalFrame var1) {
- return null;
- }
-
- protected EventListener createBorderListener(JInternalFrame var1) {
- return new BorderListener(this);
- }
-
- public JComponent getNorthPane() {
- return this.northPane;
- }
-
- public void setNorthPane(JComponent var1) {
- this.replacePane(this.northPane, var1);
- this.northPane = var1;
- }
-
- public JComponent getSouthPane() {
- return this.southPane;
- }
-
- public void setSouthPane(JComponent var1) {
- this.southPane = var1;
- }
-
- public JComponent getWestPane() {
- return this.westPane;
- }
-
- public void setWestPane(JComponent var1) {
- this.westPane = var1;
- }
-
- public JComponent getEastPane() {
- return this.eastPane;
- }
-
- public void setEastPane(JComponent var1) {
- this.eastPane = var1;
- }
-
- public void addLayoutComponent(String var1, Component var2) {
- }
-
- public void removeLayoutComponent(Component var1) {
- }
-
- public Dimension preferredLayoutSize(Container var1) {
- Insets var3 = this.frame.getInsets();
- Dimension var2 = this.frame.getRootPane().getPreferredSize();
- var2.width += var3.left + var3.right;
- var2.height += var3.top + var3.bottom;
- if (this.getNorthPane() != null) {
- Dimension var4 = this.getNorthPane().getPreferredSize();
- var2.width = Math.max(var4.width, var2.width);
- var2.height += var4.height;
- }
-
- if (this.getSouthPane() != null) {
- Dimension var5 = this.getSouthPane().getPreferredSize();
- var2.width = Math.max(var5.width, var2.width);
- var2.height += var5.height;
- }
-
- if (this.getEastPane() != null) {
- Dimension var6 = this.getEastPane().getPreferredSize();
- var2.width += var6.width;
- var2.height = Math.max(var6.height, var2.height);
- }
-
- if (this.getWestPane() != null) {
- Dimension var7 = this.getWestPane().getPreferredSize();
- var2.width += var7.width;
- var2.height = Math.max(var7.height, var2.height);
- }
-
- return var2;
- }
-
- public Dimension minimumLayoutSize(Container var1) {
- Insets var3 = this.frame.getInsets();
- Dimension var2 = this.frame.getRootPane().getMinimumSize();
- var2.width += var3.left + var3.right;
- var2.height += var3.top + var3.bottom;
- if (this.getNorthPane() != null) {
- Dimension var4 = this.getNorthPane().getMinimumSize();
- var2.width = Math.max(var4.width, var2.width);
- var2.height += var4.height;
- }
-
- if (this.getSouthPane() != null) {
- Dimension var5 = this.getSouthPane().getMinimumSize();
- var2.width = Math.max(var5.width, var2.width);
- var2.height += var5.height;
- }
-
- if (this.getEastPane() != null) {
- Dimension var6 = this.getEastPane().getMinimumSize();
- var2.width += var6.width;
- var2.height = Math.max(var6.height, var2.height);
- }
-
- if (this.getWestPane() != null) {
- Dimension var7 = this.getWestPane().getMinimumSize();
- var2.width += var7.width;
- var2.height = Math.max(var7.height, var2.height);
- }
-
- return var2;
- }
-
- public void layoutContainer(Container var1) {
- Insets var2 = this.frame.getInsets();
- int var3 = var2.left;
- int var4 = var2.top;
- int var5 = this.frame.getWidth() - var2.left - var2.right;
- int var6 = this.frame.getHeight() - var2.top - var2.bottom;
- if (this.getNorthPane() != null) {
- Dimension var7 = this.getNorthPane().getPreferredSize();
- this.getNorthPane().setBounds(var3, var4, var5, var7.height);
- var4 += var7.height;
- var6 -= var7.height;
- }
-
- if (this.getSouthPane() != null) {
- Dimension var8 = this.getSouthPane().getPreferredSize();
- this.getSouthPane().setBounds(var3, this.frame.getHeight() - var2.bottom - var8.height, var5, var8.height);
- var6 -= var8.height;
- }
-
- if (this.getWestPane() != null) {
- Dimension var9 = this.getWestPane().getPreferredSize();
- this.getWestPane().setBounds(var3, var4, var9.width, var6);
- var5 -= var9.width;
- var3 += var9.width;
- }
-
- if (this.getEastPane() != null) {
- Dimension var10 = this.getEastPane().getPreferredSize();
- this.getEastPane().setBounds(var5 - var10.width, var4, var10.width, var6);
- var5 -= var10.width;
- }
-
- if (this.frame.getRootPane() != null) {
- this.frame.getRootPane().setBounds(var3, var4, var5, var6);
- }
-
- }
-
- protected DesktopManager getDesktopManager() {
- if (this.frame.getDesktopPane() != null && this.frame.getDesktopPane().getDesktopManager() != null) {
- return this.frame.getDesktopPane().getDesktopManager();
- } else {
- if (sharedDesktopManager == null) {
- sharedDesktopManager = new DefaultDesktopManager();
- }
-
- return sharedDesktopManager;
- }
- }
-
- protected void closeFrame(JInternalFrame var1) {
- this.getDesktopManager().closeFrame(var1);
- }
-
- protected void maximizeFrame(JInternalFrame var1) {
- this.getDesktopManager().maximizeFrame(var1);
- }
-
- protected void minimizeFrame(JInternalFrame var1) {
- this.getDesktopManager().minimizeFrame(var1);
- }
-
- protected void iconifyFrame(JInternalFrame var1) {
- this.getDesktopManager().iconifyFrame(var1);
- }
-
- protected void deiconifyFrame(JInternalFrame var1) {
- this.getDesktopManager().deiconifyFrame(var1);
- }
-
- protected void activateFrame(JInternalFrame var1) {
- this.getDesktopManager().activateFrame(var1);
- }
-
- protected void deactivateFrame(JInternalFrame var1) {
- this.getDesktopManager().deactivateFrame(var1);
- }
-
- public void mousePressed(MouseEvent var1) {
- ((BorderListener)this.borderListener).mousePressed(var1);
- }
-
- public void mouseClicked(MouseEvent var1) {
- }
-
- public void mouseReleased(MouseEvent var1) {
- }
-
- public void mouseEntered(MouseEvent var1) {
- }
-
- public void mouseExited(MouseEvent var1) {
- }
- }
-