home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / javax / swing / plaf / basic / BasicTextFieldUI$I18nFieldView.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.9 KB  |  144 lines

  1. package javax.swing.plaf.basic;
  2.  
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Graphics;
  6. import java.awt.Rectangle;
  7. import java.awt.Shape;
  8. import javax.swing.BoundedRangeModel;
  9. import javax.swing.JTextField;
  10. import javax.swing.event.DocumentEvent;
  11. import javax.swing.text.BadLocationException;
  12. import javax.swing.text.BoxView;
  13. import javax.swing.text.Element;
  14. import javax.swing.text.ParagraphView;
  15. import javax.swing.text.Position;
  16. import javax.swing.text.View;
  17. import javax.swing.text.ViewFactory;
  18.  
  19. class BasicTextFieldUI$I18nFieldView extends ParagraphView {
  20.    BasicTextFieldUI$I18nFieldView(Element var1) {
  21.       super(var1);
  22.    }
  23.  
  24.    public int getFlowSpan(int var1) {
  25.       return Integer.MAX_VALUE;
  26.    }
  27.  
  28.    static boolean isLeftToRight(Component var0) {
  29.       return var0.getComponentOrientation().isLeftToRight();
  30.    }
  31.  
  32.    Shape adjustAllocation(Shape var1) {
  33.       if (var1 != null) {
  34.          Rectangle var2 = var1.getBounds();
  35.          int var3 = (int)((BoxView)this).getPreferredSpan(1);
  36.          int var4 = (int)((BoxView)this).getPreferredSpan(0);
  37.          if (var2.height != var3) {
  38.             int var5 = var2.height - var3;
  39.             var2.y += var5 / 2;
  40.             var2.height -= var5;
  41.          }
  42.  
  43.          Container var13 = ((View)this).getContainer();
  44.          if (var13 instanceof JTextField) {
  45.             JTextField var6 = (JTextField)var13;
  46.             BoundedRangeModel var7 = var6.getHorizontalVisibility();
  47.             int var8 = Math.max(var4, var2.width);
  48.             int var9 = var7.getValue();
  49.             int var10 = Math.min(var8, var2.width - 1);
  50.             if (var9 + var10 > var8) {
  51.                var9 = var8 - var10;
  52.             }
  53.  
  54.             var7.setRangeProperties(var9, var10, var7.getMinimum(), var8, false);
  55.             if (var4 < var2.width) {
  56.                int var11 = var2.width - 1 - var4;
  57.                int var12 = ((JTextField)var13).getHorizontalAlignment();
  58.                if (isLeftToRight(var13)) {
  59.                   if (var12 == 10) {
  60.                      var12 = 2;
  61.                   } else if (var12 == 11) {
  62.                      var12 = 4;
  63.                   }
  64.                } else if (var12 == 10) {
  65.                   var12 = 4;
  66.                } else if (var12 == 11) {
  67.                   var12 = 2;
  68.                }
  69.  
  70.                switch (var12) {
  71.                   case 0:
  72.                      var2.x += var11 / 2;
  73.                      var2.width -= var11;
  74.                      break;
  75.                   case 4:
  76.                      var2.x += var11;
  77.                      var2.width -= var11;
  78.                }
  79.             } else {
  80.                var2.width = var4;
  81.                var2.x -= var7.getValue();
  82.             }
  83.          }
  84.  
  85.          return var2;
  86.       } else {
  87.          return null;
  88.       }
  89.    }
  90.  
  91.    void updateVisibilityModel() {
  92.       Container var1 = ((View)this).getContainer();
  93.       if (var1 instanceof JTextField) {
  94.          JTextField var2 = (JTextField)var1;
  95.          BoundedRangeModel var3 = var2.getHorizontalVisibility();
  96.          int var4 = (int)((BoxView)this).getPreferredSpan(0);
  97.          int var5 = var3.getExtent();
  98.          int var6 = Math.max(var4, var5);
  99.          var5 = var5 == 0 ? var6 : var5;
  100.          int var7 = var6 - var5;
  101.          int var8 = var3.getValue();
  102.          if (var8 + var5 > var6) {
  103.             var8 = var6 - var5;
  104.          }
  105.  
  106.          var7 = Math.max(0, Math.min(var7, var8));
  107.          var3.setRangeProperties(var7, var5, 0, var6, false);
  108.       }
  109.  
  110.    }
  111.  
  112.    public void paint(Graphics var1, Shape var2) {
  113.       Rectangle var3 = (Rectangle)var2;
  114.       var1.clipRect(var3.x, var3.y, var3.width, var3.height);
  115.       super.paint(var1, this.adjustAllocation(var2));
  116.    }
  117.  
  118.    public int getResizeWeight(int var1) {
  119.       return var1 == 0 ? 1 : 0;
  120.    }
  121.  
  122.    public Shape modelToView(int var1, Shape var2, Position.Bias var3) throws BadLocationException {
  123.       return super.modelToView(var1, this.adjustAllocation(var2), var3);
  124.    }
  125.  
  126.    public Shape modelToView(int var1, Position.Bias var2, int var3, Position.Bias var4, Shape var5) throws BadLocationException {
  127.       return super.modelToView(var1, var2, var3, var4, this.adjustAllocation(var5));
  128.    }
  129.  
  130.    public int viewToModel(float var1, float var2, Shape var3, Position.Bias[] var4) {
  131.       return super.viewToModel(var1, var2, this.adjustAllocation(var3), var4);
  132.    }
  133.  
  134.    public void insertUpdate(DocumentEvent var1, Shape var2, ViewFactory var3) {
  135.       super.insertUpdate(var1, this.adjustAllocation(var2), var3);
  136.       this.updateVisibilityModel();
  137.    }
  138.  
  139.    public void removeUpdate(DocumentEvent var1, Shape var2, ViewFactory var3) {
  140.       super.removeUpdate(var1, this.adjustAllocation(var2), var3);
  141.       this.updateVisibilityModel();
  142.    }
  143. }
  144.