home *** CD-ROM | disk | FTP | other *** search
- package com.sun.java.swing.plaf.basic;
-
- import com.sun.java.swing.BoundedRangeModel;
- import com.sun.java.swing.JComponent;
- import com.sun.java.swing.JProgressBar;
- import com.sun.java.swing.LookAndFeel;
- import com.sun.java.swing.event.ChangeEvent;
- import com.sun.java.swing.event.ChangeListener;
- import com.sun.java.swing.plaf.ComponentUI;
- import com.sun.java.swing.plaf.ProgressBarUI;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Graphics;
- import java.awt.Insets;
- import java.io.Serializable;
- import java.util.EventObject;
-
- public class BasicProgressBarUI extends ProgressBarUI implements ChangeListener, Serializable {
- int cachedPercent;
- static final Dimension PREFERRED_INNER_HORIZONTAL = new Dimension(146, 12);
- static final Dimension PREFERRED_INNER_VERTICAL = new Dimension(12, 146);
-
- public static ComponentUI createUI(JComponent var0) {
- return new BasicProgressBarUI();
- }
-
- public void installUI(JComponent var1) {
- this.installDefaults(var1);
- this.installListeners(var1);
- }
-
- public void uninstallUI(JComponent var1) {
- this.uninstallListeners(var1);
- }
-
- protected void installDefaults(JComponent var1) {
- var1.setOpaque(true);
- LookAndFeel.installColorsAndFont(var1, "ProgressBar.background", "ProgressBar.foreground", "ProgressBar.font");
- }
-
- protected void installListeners(JComponent var1) {
- ((JProgressBar)var1).addChangeListener(this);
- }
-
- protected void uninstallListeners(JComponent var1) {
- ((JProgressBar)var1).removeChangeListener(this);
- }
-
- protected void uninstallDefaults(JComponent var1) {
- }
-
- public Dimension getPreferredInnerHorizontal() {
- return PREFERRED_INNER_HORIZONTAL;
- }
-
- public Dimension getPreferredInnerVertical() {
- return PREFERRED_INNER_VERTICAL;
- }
-
- public int getCachedPercent() {
- return this.cachedPercent;
- }
-
- public void setCachedPercent(int var1) {
- this.cachedPercent = var1;
- }
-
- public int getBorderBuffer() {
- return 0;
- }
-
- public int getCellLength() {
- return 1;
- }
-
- public int getCellSpacing() {
- return 0;
- }
-
- public void paint(Graphics var1, JComponent var2) {
- Dimension var3 = ((Component)var2).getSize();
- JProgressBar var7 = (JProgressBar)var2;
- BoundedRangeModel var8 = var7.getModel();
- Insets var9 = this.getBorderInsets(var2);
- int var5 = var9.left;
- int var6 = var9.top;
- Dimension var4 = new Dimension(var3.width - (var9.left + var9.right), var3.height - (var9.top + var9.bottom));
- var1.setColor(((Component)var2).getForeground());
- if (var7.getOrientation() == 0) {
- long var10 = (long)(var8.getMaximum() - var8.getMinimum());
- int var12 = 0;
- if (var10 != 0L) {
- double var13 = (double)var4.width;
- double var15 = (double)var8.getValue();
- double var17 = var15 / (double)var10;
- var12 = (int)(var13 * var17);
- }
-
- int var22 = var5 + var12 - this.getCellLength();
- int var26 = this.getCellLength() + this.getCellSpacing();
-
- int var14;
- for(var14 = var5; var14 < var22; var14 += var26) {
- var1.fillRect(var14, var6, this.getCellLength(), var4.height);
- }
-
- if (var12 == var4.width && var14 < var4.width + var5) {
- var1.fillRect(var14, var6, var4.width + var5 - var14, var4.height);
- }
- } else {
- int var19 = var8.getMaximum() - var8.getMinimum();
- int var11 = 0;
- if (var19 != 0) {
- double var20 = (double)var4.height;
- double var24 = (double)var8.getValue();
- double var16 = var24 / (double)var19;
- var11 = (int)(var20 * var16);
- }
-
- int var21 = var4.height - 1 + var6 - var11;
- int var25 = this.getCellLength() + this.getCellSpacing();
-
- int var23;
- for(var23 = var4.height - 1 + (var6 - this.getCellLength()); var23 > var21; var23 -= var25) {
- var1.fillRect(var5, var23, var4.width, this.getCellLength());
- }
-
- if (var11 == var4.height) {
- var1.fillRect(var5, var6, var4.width, var23 + this.getCellLength() - var6);
- }
- }
-
- if (var7.isBorderPainted()) {
- BasicGraphicsUtils.drawEtchedRect(var1, 0, 0, var3.width, var3.height);
- }
-
- }
-
- public Dimension getPreferredSize(JComponent var1) {
- JProgressBar var3 = (JProgressBar)var1;
- Insets var4 = this.getBorderInsets(var1);
- Dimension var2;
- if (var3.getOrientation() == 0) {
- var2 = new Dimension(this.getPreferredInnerHorizontal());
- } else {
- var2 = new Dimension(this.getPreferredInnerVertical());
- }
-
- var2.width += var4.left + var4.right;
- var2.height += var4.top + var4.bottom;
- return var2;
- }
-
- public Dimension getMinimumSize(JComponent var1) {
- Dimension var2 = this.getPreferredSize(var1);
- JProgressBar var3 = (JProgressBar)var1;
- if (var3.getOrientation() == 0) {
- var2.width = 0;
- } else {
- var2.height = 0;
- }
-
- return var2;
- }
-
- public Dimension getMaximumSize(JComponent var1) {
- Dimension var2 = this.getPreferredSize(var1);
- JProgressBar var3 = (JProgressBar)var1;
- if (var3.getOrientation() == 0) {
- var2.width = 32767;
- } else {
- var2.height = 32767;
- }
-
- return var2;
- }
-
- public Insets getInsets(JComponent var1) {
- return this.getBorderInsets(var1);
- }
-
- public Insets getBorderInsets(JComponent var1) {
- JProgressBar var2 = (JProgressBar)var1;
- if (var2.isBorderPainted()) {
- Insets var3 = (Insets)BasicGraphicsUtils.getEtchedInsets().clone();
- var3.left += this.getBorderBuffer();
- var3.right += this.getBorderBuffer();
- var3.top += this.getBorderBuffer();
- var3.bottom += this.getBorderBuffer();
- return var3;
- } else {
- return new Insets(0, 0, 0, 0);
- }
- }
-
- public void stateChanged(ChangeEvent var1) {
- JProgressBar var2 = (JProgressBar)((EventObject)var1).getSource();
- BoundedRangeModel var3 = var2.getModel();
- int var4 = var3.getMaximum() - var3.getMinimum();
- int var5 = var4 > 0 ? 100 * var3.getValue() / var4 : 0;
- if (var5 != this.getCachedPercent()) {
- int var6 = Math.min(var5, this.getCachedPercent());
- int var7 = Math.max(var5, this.getCachedPercent());
- Insets var8 = this.getBorderInsets(var2);
- Dimension var9 = ((Component)var2).getSize();
- if (var2.getOrientation() == 0) {
- int var10 = var9.width - (var8.right + var8.left);
- int var11 = var6 * var10 / 100;
- int var12 = var7 * var10 / 100;
- int var13 = this.getCellLength() + this.getCellSpacing();
- var11 = var11 / var13 * var13 + var8.left;
- var12 = (var12 / var13 + 1) * var13 + var8.left;
- ((Component)var2).repaint();
- } else {
- int var14 = var9.height - (var8.bottom + var8.top);
- int var16 = var7 * var14 / 100;
- int var19 = var6 * var14 / 100;
- int var21 = this.getCellLength() + this.getCellSpacing();
- var16 = var14 - (var16 / var21 + 1) * var21 + var8.top;
- var19 = var14 - var19 / var21 * var21 + var8.top;
- ((Component)var2).repaint(var8.left, var16 - 1, var9.width - (var8.left + var8.right), var19 - var16 + 2);
- }
-
- this.setCachedPercent(var5);
- }
-
- }
- }
-