home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 144 / DPCS0200.iso / Internet / Supanet / system / swing.jar / javax / swing / text / html / HRuleView.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-11-05  |  3.4 KB  |  145 lines

  1. package javax.swing.text.html;
  2.  
  3. import java.awt.Graphics;
  4. import java.awt.Insets;
  5. import java.awt.Rectangle;
  6. import java.awt.Shape;
  7. import javax.swing.BorderFactory;
  8. import javax.swing.border.Border;
  9. import javax.swing.text.AttributeSet;
  10. import javax.swing.text.BadLocationException;
  11. import javax.swing.text.Element;
  12. import javax.swing.text.Position;
  13. import javax.swing.text.StyleConstants;
  14. import javax.swing.text.View;
  15. import javax.swing.text.Position.Bias;
  16.  
  17. class HRuleView extends View {
  18.    private Border bevel;
  19.    private float margin_left = 0.0F;
  20.    private float margin_right = 0.0F;
  21.    private int alignment = 0;
  22.    private String noshade = null;
  23.    private int size = 0;
  24.    private int hrwidth = 0;
  25.  
  26.    public HRuleView(Element var1) {
  27.       super(var1);
  28.       AttributeSet var2 = var1.getAttributes();
  29.       if (var2 != null) {
  30.          this.margin_left = StyleConstants.getLeftIndent(var2);
  31.          this.margin_right = StyleConstants.getRightIndent(var2);
  32.          if (this.margin_left <= 0.0F) {
  33.             this.margin_left = 15.0F;
  34.          }
  35.  
  36.          if (this.margin_right <= 0.0F) {
  37.             this.margin_right = 15.0F;
  38.          }
  39.  
  40.          this.alignment = StyleConstants.getAlignment(var2);
  41.          this.noshade = (String)var2.getAttribute("noshade");
  42.          String var3 = (String)var2.getAttribute("size");
  43.          if (var3 != null) {
  44.             this.size = Integer.valueOf(var3);
  45.          }
  46.  
  47.          String var4 = (String)var2.getAttribute("width");
  48.          if (var4 != null) {
  49.             this.hrwidth = Integer.valueOf(var4);
  50.          }
  51.       }
  52.  
  53.       this.bevel = BorderFactory.createLoweredBevelBorder();
  54.    }
  55.  
  56.    public float getPreferredSpan(int var1) {
  57.       Insets var2 = this.bevel.getBorderInsets(((View)this).getContainer());
  58.       switch (var1) {
  59.          case 0:
  60.             return (float)(var2.left + var2.right);
  61.          case 1:
  62.             if (this.size > 0) {
  63.                return (float)this.size;
  64.             } else {
  65.                if (this.noshade == "#DEFAULT") {
  66.                   return 1.0F;
  67.                }
  68.  
  69.                return (float)(var2.top + var2.bottom);
  70.             }
  71.          default:
  72.             throw new IllegalArgumentException("Invalid axis: " + var1);
  73.       }
  74.    }
  75.  
  76.    public int getResizeWeight(int var1) {
  77.       if (var1 == 0) {
  78.          return 1;
  79.       } else {
  80.          return var1 == 1 ? 0 : 0;
  81.       }
  82.    }
  83.  
  84.    public Shape modelToView(int var1, Shape var2, Position.Bias var3) throws BadLocationException {
  85.       int var4 = ((View)this).getStartOffset();
  86.       int var5 = ((View)this).getEndOffset();
  87.       if (var1 >= var4 && var1 <= var5) {
  88.          Rectangle var6 = var2.getBounds();
  89.          if (var1 == var5) {
  90.             var6.x += var6.width;
  91.          }
  92.  
  93.          var6.width = 0;
  94.          return var6;
  95.       } else {
  96.          return null;
  97.       }
  98.    }
  99.  
  100.    public void paint(Graphics var1, Shape var2) {
  101.       Rectangle var3 = var2.getBounds();
  102.       int var4 = 0;
  103.       int var5 = var3.y;
  104.       int var6 = var3.width - (int)(this.margin_left + this.margin_right);
  105.       if (this.hrwidth > 0) {
  106.          var6 = this.hrwidth;
  107.       }
  108.  
  109.       int var7 = var3.height;
  110.       if (this.size > 0) {
  111.          var7 = this.size;
  112.       }
  113.  
  114.       switch (this.alignment) {
  115.          case 0:
  116.          default:
  117.             var4 = var3.x + (int)this.margin_left;
  118.             break;
  119.          case 1:
  120.             var4 = var3.x + var3.width / 2 - var6 / 2;
  121.             break;
  122.          case 2:
  123.             var4 = var3.x + var3.width - this.hrwidth - (int)this.margin_right;
  124.       }
  125.  
  126.       if (this.noshade == "#DEFAULT") {
  127.          var1.fillRect(var4, var5, var6, var7);
  128.       } else {
  129.          this.bevel.paintBorder(((View)this).getContainer(), var1, var4, var5, var6, var7);
  130.       }
  131.  
  132.    }
  133.  
  134.    public int viewToModel(float var1, float var2, Shape var3, Position.Bias[] var4) {
  135.       Rectangle var5 = (Rectangle)var3;
  136.       if (var1 < (float)(var5.x + var5.width / 2)) {
  137.          var4[0] = Bias.Forward;
  138.          return ((View)this).getStartOffset();
  139.       } else {
  140.          var4[0] = Bias.Backward;
  141.          return ((View)this).getEndOffset();
  142.       }
  143.    }
  144. }
  145.