home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / javax / swing / DefaultBoundedRangeModel.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  3.2 KB  |  158 lines

  1. package javax.swing;
  2.  
  3. import java.io.Serializable;
  4. import java.util.EventListener;
  5. import javax.swing.event.ChangeEvent;
  6. import javax.swing.event.ChangeListener;
  7. import javax.swing.event.EventListenerList;
  8.  
  9. public class DefaultBoundedRangeModel implements BoundedRangeModel, Serializable {
  10.    protected transient ChangeEvent changeEvent = null;
  11.    protected EventListenerList listenerList = new EventListenerList();
  12.    private int value = 0;
  13.    private int extent = 0;
  14.    private int min = 0;
  15.    private int max = 100;
  16.    private boolean isAdjusting = false;
  17.  
  18.    public DefaultBoundedRangeModel() {
  19.    }
  20.  
  21.    public DefaultBoundedRangeModel(int var1, int var2, int var3, int var4) {
  22.       if (var4 >= var3 && var1 >= var3 && var1 + var2 >= var1 && var1 + var2 <= var4) {
  23.          this.value = var1;
  24.          this.extent = var2;
  25.          this.min = var3;
  26.          this.max = var4;
  27.       } else {
  28.          throw new IllegalArgumentException("invalid range properties");
  29.       }
  30.    }
  31.  
  32.    public int getValue() {
  33.       return this.value;
  34.    }
  35.  
  36.    public int getExtent() {
  37.       return this.extent;
  38.    }
  39.  
  40.    public int getMinimum() {
  41.       return this.min;
  42.    }
  43.  
  44.    public int getMaximum() {
  45.       return this.max;
  46.    }
  47.  
  48.    public void setValue(int var1) {
  49.       var1 = Math.min(var1, Integer.MAX_VALUE - this.extent);
  50.       int var2 = Math.max(var1, this.min);
  51.       if (var2 + this.extent > this.max) {
  52.          var2 = this.max - this.extent;
  53.       }
  54.  
  55.       this.setRangeProperties(var2, this.extent, this.min, this.max, this.isAdjusting);
  56.    }
  57.  
  58.    public void setExtent(int var1) {
  59.       int var2 = Math.max(0, var1);
  60.       if (this.value + var2 > this.max) {
  61.          var2 = this.max - this.value;
  62.       }
  63.  
  64.       this.setRangeProperties(this.value, var2, this.min, this.max, this.isAdjusting);
  65.    }
  66.  
  67.    public void setMinimum(int var1) {
  68.       int var2 = Math.max(var1, this.max);
  69.       int var3 = Math.max(var1, this.value);
  70.       int var4 = Math.min(var2 - var3, this.extent);
  71.       this.setRangeProperties(var3, var4, var1, var2, this.isAdjusting);
  72.    }
  73.  
  74.    public void setMaximum(int var1) {
  75.       int var2 = Math.min(var1, this.min);
  76.       int var3 = Math.min(var1 - var2, this.extent);
  77.       int var4 = Math.min(var1 - var3, this.value);
  78.       this.setRangeProperties(var4, var3, var2, var1, this.isAdjusting);
  79.    }
  80.  
  81.    public void setValueIsAdjusting(boolean var1) {
  82.       this.setRangeProperties(this.value, this.extent, this.min, this.max, var1);
  83.    }
  84.  
  85.    public boolean getValueIsAdjusting() {
  86.       return this.isAdjusting;
  87.    }
  88.  
  89.    public void setRangeProperties(int var1, int var2, int var3, int var4, boolean var5) {
  90.       if (var3 > var4) {
  91.          var3 = var4;
  92.       }
  93.  
  94.       if (var1 > var4) {
  95.          var4 = var1;
  96.       }
  97.  
  98.       if (var1 < var3) {
  99.          var3 = var1;
  100.       }
  101.  
  102.       if ((long)var2 + (long)var1 > (long)var4) {
  103.          var2 = var4 - var1;
  104.       }
  105.  
  106.       if (var2 < 0) {
  107.          var2 = 0;
  108.       }
  109.  
  110.       boolean var6 = var1 != this.value || var2 != this.extent || var3 != this.min || var4 != this.max || var5 != this.isAdjusting;
  111.       if (var6) {
  112.          this.value = var1;
  113.          this.extent = var2;
  114.          this.min = var3;
  115.          this.max = var4;
  116.          this.isAdjusting = var5;
  117.          this.fireStateChanged();
  118.       }
  119.  
  120.    }
  121.  
  122.    public void addChangeListener(ChangeListener var1) {
  123.       this.listenerList.add(ChangeListener.class, var1);
  124.    }
  125.  
  126.    public void removeChangeListener(ChangeListener var1) {
  127.       this.listenerList.remove(ChangeListener.class, var1);
  128.    }
  129.  
  130.    public ChangeListener[] getChangeListeners() {
  131.       return (ChangeListener[])this.listenerList.getListeners(ChangeListener.class);
  132.    }
  133.  
  134.    protected void fireStateChanged() {
  135.       Object[] var1 = this.listenerList.getListenerList();
  136.  
  137.       for(int var2 = var1.length - 2; var2 >= 0; var2 -= 2) {
  138.          if (var1[var2] == ChangeListener.class) {
  139.             if (this.changeEvent == null) {
  140.                this.changeEvent = new ChangeEvent(this);
  141.             }
  142.  
  143.             ((ChangeListener)var1[var2 + 1]).stateChanged(this.changeEvent);
  144.          }
  145.       }
  146.  
  147.    }
  148.  
  149.    public String toString() {
  150.       String var1 = "value=" + this.getValue() + ", " + "extent=" + this.getExtent() + ", " + "min=" + this.getMinimum() + ", " + "max=" + this.getMaximum() + ", " + "adj=" + this.getValueIsAdjusting();
  151.       return this.getClass().getName() + "[" + var1 + "]";
  152.    }
  153.  
  154.    public <T extends EventListener> T[] getListeners(Class<T> var1) {
  155.       return (T[])this.listenerList.getListeners(var1);
  156.    }
  157. }
  158.