home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / text / ZoneView$Zone.class (.txt) < prev   
Encoding:
Java Class File  |  1979-12-31  |  4.1 KB  |  180 lines

  1. package javax.swing.text;
  2.  
  3. import java.awt.Graphics;
  4. import java.awt.Shape;
  5. import javax.swing.event.DocumentEvent;
  6.  
  7. class ZoneView$Zone extends BoxView {
  8.    Position start;
  9.    Position end;
  10.    int minorSpan;
  11.    float volumeCoefficient;
  12.    // $FF: synthetic field
  13.    private final ZoneView this$0;
  14.  
  15.    ZoneView$Zone(ZoneView var1, Element var2, Position var3, Position var4) {
  16.       super(var2, ((BoxView)var1).getAxis());
  17.       this.this$0 = var1;
  18.       this.minorSpan = 500;
  19.       this.volumeCoefficient = 240.0F;
  20.       this.start = var3;
  21.       this.end = var4;
  22.    }
  23.  
  24.    public void load() {
  25.       if (!this.isLoaded()) {
  26.          System.out.println("loading: " + this.getStartOffset() + "," + this.getEndOffset());
  27.          Element var1 = ((View)this).getElement();
  28.          ViewFactory var2 = ((View)this).getViewFactory();
  29.          int var3 = var1.getElementIndex(this.getStartOffset());
  30.          int var4 = var1.getElementIndex(this.getEndOffset());
  31.          View[] var5 = new View[var4 - var3 + 1];
  32.  
  33.          for(int var6 = var3; var6 <= var4; ++var6) {
  34.             var5[var6 - var3] = var2.create(var1.getElement(var6));
  35.          }
  36.  
  37.          ((BoxView)this).replace(0, 0, var5);
  38.       }
  39.  
  40.    }
  41.  
  42.    public void unload() {
  43.       ((View)this).removeAll();
  44.    }
  45.  
  46.    public boolean isLoaded() {
  47.       return ((CompositeView)this).getViewCount() != 0;
  48.    }
  49.  
  50.    protected void loadChildren(ViewFactory var1) {
  51.    }
  52.  
  53.    protected int getViewIndexAtPosition(int var1) {
  54.       Element var2 = ((View)this).getElement();
  55.       int var3 = var2.getElementIndex(var1);
  56.       int var4 = var2.getElementIndex(this.getStartOffset());
  57.       return var3 - var4;
  58.    }
  59.  
  60.    protected void layout(int var1, int var2) {
  61.       if (this.isLoaded()) {
  62.          super.layout(var1, var2);
  63.       } else {
  64.          int var3 = ((BoxView)this).getAxis();
  65.          int var4 = var3 == 1 ? var1 : var2;
  66.          if (var4 != this.minorSpan) {
  67.             this.minorSpan = var4;
  68.             ((BoxView)this).preferenceChanged((View)null, var3 == 0, var3 == 1);
  69.          }
  70.       }
  71.  
  72.    }
  73.  
  74.    protected boolean updateChildren(DocumentEvent.ElementChange var1, DocumentEvent var2, ViewFactory var3) {
  75.       Element[] var4 = var1.getChildrenRemoved();
  76.       Element[] var5 = var1.getChildrenAdded();
  77.       Element var6 = ((View)this).getElement();
  78.       int var7 = var6.getElementIndex(this.getStartOffset());
  79.       int var8 = var6.getElementIndex(this.getEndOffset() - 1);
  80.       int var9 = var1.getIndex();
  81.       if (var9 >= var7 && var9 <= var8) {
  82.          int var10 = var9 - var7;
  83.          int var11 = Math.min(var8 - var7 + 1, var5.length);
  84.          int var12 = Math.min(var8 - var7 + 1, var4.length);
  85.          View[] var13 = new View[var11];
  86.  
  87.          for(int var14 = 0; var14 < var11; ++var14) {
  88.             var13[var14] = var3.create(var5[var14]);
  89.          }
  90.  
  91.          ((BoxView)this).replace(var10, var12, var13);
  92.       }
  93.  
  94.       return true;
  95.    }
  96.  
  97.    public AttributeSet getAttributes() {
  98.       return this.this$0.getAttributes();
  99.    }
  100.  
  101.    public float getPreferredSpan(int var1) {
  102.       if (this.isLoaded()) {
  103.          return super.getPreferredSpan(var1);
  104.       } else if (((BoxView)this).getAxis() == var1) {
  105.          int var2 = this.getEndOffset() - this.getStartOffset();
  106.          float var3 = (float)var2 * this.volumeCoefficient;
  107.          float var4 = var3 / (float)this.minorSpan;
  108.          return var4;
  109.       } else {
  110.          return (float)this.minorSpan;
  111.       }
  112.    }
  113.  
  114.    public float getMinimumSpan(int var1) {
  115.       if (this.isLoaded()) {
  116.          return super.getMinimumSpan(var1);
  117.       } else if (var1 == ((BoxView)this).getAxis()) {
  118.          return this.getPreferredSpan(var1);
  119.       } else {
  120.          return var1 == 0 ? (float)(((CompositeView)this).getLeftInset() + ((CompositeView)this).getRightInset() + 1) : (float)(((CompositeView)this).getTopInset() + ((CompositeView)this).getBottomInset() + 1);
  121.       }
  122.    }
  123.  
  124.    public float getMaximumSpan(int var1) {
  125.       if (this.isLoaded()) {
  126.          return super.getMaximumSpan(var1);
  127.       } else {
  128.          return var1 == ((BoxView)this).getAxis() ? this.getPreferredSpan(var1) : 2147483.0F;
  129.       }
  130.    }
  131.  
  132.    public float getAlignment(int var1) {
  133.       return this.isLoaded() ? super.getAlignment(var1) : 0.5F;
  134.    }
  135.  
  136.    public void paint(Graphics var1, Shape var2) {
  137.       this.load();
  138.       super.paint(var1, var2);
  139.    }
  140.  
  141.    public int viewToModel(float var1, float var2, Shape var3, Position.Bias[] var4) {
  142.       this.load();
  143.       return super.viewToModel(var1, var2, var3, var4);
  144.    }
  145.  
  146.    public Shape modelToView(int var1, Shape var2, Position.Bias var3) throws BadLocationException {
  147.       this.load();
  148.       return super.modelToView(var1, var2, var3);
  149.    }
  150.  
  151.    public int getStartOffset() {
  152.       return this.start.getOffset();
  153.    }
  154.  
  155.    public int getEndOffset() {
  156.       return this.end.getOffset();
  157.    }
  158.  
  159.    public void insertUpdate(DocumentEvent var1, Shape var2, ViewFactory var3) {
  160.       if (this.isLoaded()) {
  161.          super.insertUpdate(var1, var2, var3);
  162.       }
  163.  
  164.    }
  165.  
  166.    public void removeUpdate(DocumentEvent var1, Shape var2, ViewFactory var3) {
  167.       if (this.isLoaded()) {
  168.          super.removeUpdate(var1, var2, var3);
  169.       }
  170.  
  171.    }
  172.  
  173.    public void changedUpdate(DocumentEvent var1, Shape var2, ViewFactory var3) {
  174.       if (this.isLoaded()) {
  175.          super.changedUpdate(var1, var2, var3);
  176.       }
  177.  
  178.    }
  179. }
  180.