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 / FlowView.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.8 KB  |  107 lines

  1. package javax.swing.text;
  2.  
  3. import java.awt.Rectangle;
  4. import java.awt.Shape;
  5. import javax.swing.SizeRequirements;
  6. import javax.swing.event.DocumentEvent;
  7.  
  8. public abstract class FlowView extends BoxView {
  9.    protected int layoutSpan = 32767;
  10.    protected View layoutPool;
  11.    protected FlowStrategy strategy = new FlowStrategy();
  12.  
  13.    public FlowView(Element var1, int var2) {
  14.       super(var1, var2);
  15.    }
  16.  
  17.    public int getFlowAxis() {
  18.       int var1 = ((BoxView)this).getAxis();
  19.       return super.axis == 1 ? 0 : 1;
  20.    }
  21.  
  22.    public int getFlowSpan(int var1) {
  23.       return this.layoutSpan;
  24.    }
  25.  
  26.    public int getFlowStart(int var1) {
  27.       return 0;
  28.    }
  29.  
  30.    protected abstract View createRow();
  31.  
  32.    protected void loadChildren(ViewFactory var1) {
  33.       if (this.layoutPool == null) {
  34.          this.layoutPool = new LogicalView(((View)this).getElement());
  35.       }
  36.  
  37.       this.layoutPool.setParent(this);
  38.       this.strategy.insertUpdate(this, (DocumentEvent)null, (Rectangle)null);
  39.    }
  40.  
  41.    protected int getViewIndexAtPosition(int var1) {
  42.       if (var1 >= ((View)this).getStartOffset() && var1 < ((View)this).getEndOffset()) {
  43.          for(int var2 = ((CompositeView)this).getViewCount() - 1; var2 >= 0; --var2) {
  44.             View var3 = ((CompositeView)this).getView(var2);
  45.             if (var1 >= var3.getStartOffset() && var1 < var3.getEndOffset()) {
  46.                return var2;
  47.             }
  48.          }
  49.       }
  50.  
  51.       return -1;
  52.    }
  53.  
  54.    protected void layout(int var1, int var2) {
  55.       int var3 = this.getFlowAxis();
  56.       int var4 = ((BoxView)this).getAxis();
  57.       int var5 = var3 == 0 ? var1 : var2;
  58.       if (this.layoutSpan != var5) {
  59.          ((BoxView)this).layoutChanged(var3);
  60.          ((BoxView)this).layoutChanged(((BoxView)this).getAxis());
  61.          this.layoutSpan = var5;
  62.       }
  63.  
  64.       if (!((BoxView)this).isAllocationValid()) {
  65.          int var6 = var4 == 0 ? var1 : var2;
  66.          this.strategy.layout(this);
  67.          int var7 = (int)((BoxView)this).getPreferredSpan(var4);
  68.          if (var6 != var7) {
  69.             View var8 = ((View)this).getParent();
  70.             var8.preferenceChanged(this, var4 == 0, var4 == 1);
  71.          }
  72.       }
  73.  
  74.       super.layout(var1, var2);
  75.    }
  76.  
  77.    protected SizeRequirements calculateMinorAxisRequirements(int var1, SizeRequirements var2) {
  78.       if (var2 == null) {
  79.          var2 = new SizeRequirements();
  80.       }
  81.  
  82.       float var3 = this.layoutPool.getPreferredSpan(var1);
  83.       float var4 = this.layoutPool.getMinimumSpan(var1);
  84.       float var5 = var1 == 0 ? (float)(((CompositeView)this).getLeftInset() + ((CompositeView)this).getRightInset()) : (float)(((CompositeView)this).getTopInset() + ((CompositeView)this).getBottomInset());
  85.       var2.minimum = (int)(var5 + var4);
  86.       var2.preferred = Math.max(var2.minimum, (int)var3);
  87.       var2.maximum = 32767;
  88.       var2.alignment = 0.5F;
  89.       return var2;
  90.    }
  91.  
  92.    public void insertUpdate(DocumentEvent var1, Shape var2, ViewFactory var3) {
  93.       this.layoutPool.insertUpdate(var1, var2, var3);
  94.       this.strategy.insertUpdate(this, var1, ((CompositeView)this).getInsideAllocation(var2));
  95.    }
  96.  
  97.    public void removeUpdate(DocumentEvent var1, Shape var2, ViewFactory var3) {
  98.       this.layoutPool.removeUpdate(var1, var2, var3);
  99.       this.strategy.removeUpdate(this, var1, ((CompositeView)this).getInsideAllocation(var2));
  100.    }
  101.  
  102.    public void changedUpdate(DocumentEvent var1, Shape var2, ViewFactory var3) {
  103.       this.layoutPool.changedUpdate(var1, var2, var3);
  104.       this.strategy.changedUpdate(this, var1, ((CompositeView)this).getInsideAllocation(var2));
  105.    }
  106. }
  107.