home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing.plaf.basic;
-
- import com.sun.java.swing.AbstractButton;
- import com.sun.java.swing.Box;
- import com.sun.java.swing.BoxLayout;
- import com.sun.java.swing.Icon;
- import com.sun.java.swing.JButton;
- import com.sun.java.swing.JComponent;
- import com.sun.java.swing.JLabel;
- import com.sun.java.swing.JRootPane;
- import com.sun.java.swing.SwingUtilities;
- import com.sun.java.swing.UIManager;
- import com.sun.java.swing.plaf.OptionPaneUI;
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.GridBagConstraints;
- import java.awt.GridBagLayout;
- import java.awt.Insets;
- import java.io.Serializable;
-
- public abstract class AbstractOptionPaneUI extends OptionPaneUI implements Serializable {
- protected Component initialFocusComponent;
- protected boolean hasCustomComponents;
-
- public abstract Icon getIcon();
-
- public abstract Object getMessage();
-
- public abstract Object[] getButtons();
-
- public abstract Container getContainer();
-
- public abstract int getInitialIndex();
-
- protected Color getLabelColor() {
- return UIManager.getColor("OptionPane.foreground");
- }
-
- public boolean getSizeButtonsToSameWidth() {
- return false;
- }
-
- public boolean containsCustomComponents() {
- return this.hasCustomComponents;
- }
-
- public int getMaxCharactersPerLineCount() {
- return Integer.MAX_VALUE;
- }
-
- public void selectInitialValue() {
- if (this.initialFocusComponent != null) {
- this.initialFocusComponent.requestFocus();
- }
-
- if (this.initialFocusComponent instanceof JButton) {
- JRootPane var1 = SwingUtilities.getRootPane(this.initialFocusComponent);
- if (var1 != null) {
- var1.setDefaultButton((JButton)this.initialFocusComponent);
- }
- }
-
- }
-
- protected void burstStringInto(Container var1, String var2, int var3) {
- int var4 = var2.length();
- if (var4 > 0) {
- if (var4 > var3) {
- int var5 = var2.lastIndexOf(32, var3);
- if (var5 <= 0) {
- var5 = var2.indexOf(32, var3);
- }
-
- if (var5 > 0 && var5 < var4) {
- this.burstStringInto(var1, var2.substring(0, var5), var3);
- this.burstStringInto(var1, var2.substring(var5 + 1), var3);
- return;
- }
- }
-
- var1.add(new JLabel(var2, 2));
- }
- }
-
- protected void appendDescription(Container var1, GridBagConstraints var2, Object var3, int var4, boolean var5) {
- if (var3 != null) {
- if (var3 instanceof Component) {
- var2.fill = 2;
- var2.weightx = (double)1.0F;
- var1.add((Component)var3, var2);
- var2.weightx = (double)0.0F;
- var2.fill = 0;
- ++var2.gridy;
- if (!var5) {
- this.hasCustomComponents = true;
- return;
- }
- } else {
- if (var3 instanceof Object[]) {
- Object[] var11 = var3;
-
- for(int var12 = 0; var12 < var11.length; ++var12) {
- this.appendDescription(var1, var2, var11[var12], var4, false);
- }
-
- return;
- }
-
- if (var3 instanceof Icon) {
- JLabel var10 = new JLabel((Icon)var3, var4);
- ((Component)var10).setForeground(this.getLabelColor());
- this.appendDescription(var1, var2, var10, var4, true);
- return;
- }
-
- String var6 = var3.toString();
- int var7 = var6.length();
- if (var7 <= 0) {
- return;
- }
-
- int var8 = var6.indexOf(10);
- if (var8 >= 0) {
- if (var8 == 0) {
- this.appendDescription(var1, var2, new 1(), var4, true);
- } else {
- this.appendDescription(var1, var2, var6.substring(0, var8), var4, false);
- }
-
- this.appendDescription(var1, var2, var6.substring(var8 + 1), var4, false);
- return;
- }
-
- if (var7 > var4) {
- Box var13 = Box.createVerticalBox();
- this.burstStringInto(var13, var6, var4);
- this.appendDescription(var1, var2, var13, var4, true);
- return;
- }
-
- JLabel var9 = new JLabel(var6, 2);
- ((Component)var9).setForeground(this.getLabelColor());
- this.appendDescription(var1, var2, var9, var4, true);
- }
-
- }
- }
-
- protected void appendButtons(Container var1, Object[] var2, int var3) {
- if (var2 != null && var2.length > 0) {
- boolean var4 = this.getSizeButtonsToSameWidth();
- boolean var5 = true;
- int var6 = var2.length;
- JButton[] var7 = null;
- int var8 = 0;
- if (var4) {
- var7 = new JButton[var6];
- }
-
- for(int var9 = 0; var9 < var6; ++var9) {
- Object var10 = var2[var9];
- Object var11;
- if (var10 instanceof Component) {
- var5 = false;
- var11 = (Component)var10;
- var1.add((Component)var11);
- this.hasCustomComponents = true;
- } else {
- JButton var12;
- if (var10 instanceof Icon) {
- var12 = new JButton((Icon)var10);
- } else {
- var12 = new JButton(var10.toString());
- }
-
- var1.add(var12);
- ((AbstractButton)var12).addActionListener(new 2(var9, this));
- var11 = var12;
- }
-
- if (var4 && var5 && var11 instanceof JButton) {
- var7[var9] = (JButton)var11;
- var8 = Math.max(var8, ((Component)var11).getMinimumSize().width);
- }
-
- if (var9 == var3) {
- this.initialFocusComponent = (Component)var11;
- if (this.initialFocusComponent instanceof JButton) {
- JButton var16 = (JButton)this.initialFocusComponent;
- ((JComponent)var16).addAncestorListener(new 3());
- }
- }
- }
-
- ((SyncingLayoutManager)var1.getLayout()).setSyncsAll(var4 && var5);
- if (var4 && var5) {
- byte var15;
- if (var6 <= 2) {
- var15 = 8;
- } else {
- var15 = 4;
- }
-
- for(int var17 = 0; var17 < var6; ++var17) {
- JButton var14 = var7[var17];
- ((AbstractButton)var14).setMargin(new Insets(2, var15, 2, var15));
- }
- }
- }
-
- }
-
- public void createdButtonFired(int var1) {
- }
-
- protected void emptyContainer(Container var1) {
- var1.removeAll();
- }
-
- protected void addIcon(Container var1) {
- Icon var2 = this.getIcon();
- if (var2 != null) {
- JLabel var3 = new JLabel(var2);
- var3.setVerticalAlignment(1);
- var1.add(var3, "West");
- }
-
- }
-
- protected Container createBody() {
- 4 var1 = new 4(this);
- ((Container)var1).setLayout(new BorderLayout());
- GridBagConstraints var2 = new GridBagConstraints();
- 5 var3 = new 5();
- 6 var4 = new 6();
- ((Container)var4).setLayout(new BorderLayout());
- ((Container)var4).add(new 7(), "West");
- ((Container)var4).add(var3, "Center");
- ((Container)var3).setLayout(new GridBagLayout());
- var2.gridx = var2.gridy = 0;
- var2.gridwidth = 0;
- var2.gridheight = 1;
- var2.anchor = 17;
- var2.insets = new Insets(0, 0, 3, 0);
- this.appendDescription(var3, var2, this.getMessage(), this.getMaxCharactersPerLineCount(), false);
- ((Container)var1).add(var4, "Center");
- this.addIcon(var1);
- return var1;
- }
-
- protected Insets getButtonInsets() {
- return new Insets(6, 0, 0, 0);
- }
-
- protected Insets getBodyInsets() {
- return new Insets(0, 0, 0, 0);
- }
-
- protected Container createButtons() {
- 8 var1 = new 8(this);
- ((Container)var1).setLayout(new SyncingLayoutManager(true, 6));
- this.appendButtons(var1, this.getButtons(), this.getInitialIndex());
- return var1;
- }
-
- protected void validateComponent() {
- Container var1 = this.getContainer();
- this.hasCustomComponents = false;
- this.initialFocusComponent = null;
- if (var1 != null) {
- this.emptyContainer(var1);
- var1.setLayout(new BoxLayout(var1, 1));
- var1.add(this.createBody());
- var1.add(this.createButtons());
- }
-
- }
- }
-