home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2001 December / dppcpro1201.iso / Extras / maple / Viewer / WebEQ / MMLViewerInstall.cab / MMLViewerApplet.cab / webeq3 / schema / MTd.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-05-24  |  3.7 KB  |  158 lines

  1. package webeq3.schema;
  2.  
  3. import java.awt.Graphics;
  4. import webeq3.app.Equation;
  5. import webeq3.array.ArrayDims;
  6. import webeq3.constants.ArrayConstants;
  7.  
  8. public class MTd extends LineBreakRewriter implements ArrayConstants {
  9.    int row = 0;
  10.    int col = 0;
  11.    int rowspan = 1;
  12.    int colspan = 1;
  13.    ArrayDims dims = null;
  14.  
  15.    public MTd(Box var1) {
  16.       super(var1);
  17.       super.type = 68;
  18.    }
  19.  
  20.    public MTd() {
  21.       super.type = 68;
  22.    }
  23.  
  24.    public MTd(Equation var1) {
  25.       super(var1);
  26.       super.type = 68;
  27.    }
  28.  
  29.    public void size() {
  30.       super.bgcolor = ((Box)this).resolveColor(17);
  31.       super.fgcolor = ((Box)this).resolveColor(4);
  32.       if (super.useLinearForm) {
  33.          super.lb_rewrite.left = 0;
  34.          super.lb_rewrite.top = 0;
  35.          super.lb_rewrite.width = 0;
  36.          super.lb_rewrite.ascent = 0;
  37.          super.lb_rewrite.descent = 0;
  38.          super.lb_rewrite.embellished_op = false;
  39.          super.lb_rewrite.is_spacelike = false;
  40.          super.lb_rewrite.size();
  41.          super.width = super.lb_rewrite.getWidth();
  42.          super.ascent = super.lb_rewrite.getAscent();
  43.          super.descent = super.lb_rewrite.getDescent();
  44.          super.height = super.ascent + super.descent;
  45.       } else {
  46.          this.dims = ((MTr)super.parent).dims;
  47.          this.setSpanInfo();
  48.          super.size();
  49.       }
  50.  
  51.    }
  52.  
  53.    public void position() {
  54.       if (super.useLinearForm) {
  55.          super.lb_rewrite.setTop(0);
  56.          super.lb_rewrite.setLeft(0);
  57.          super.lb_rewrite.position();
  58.       } else {
  59.          super.position();
  60.       }
  61.  
  62.    }
  63.  
  64.    public void setIndex(int var1, int var2) {
  65.       this.row = var1;
  66.       this.col = var2;
  67.    }
  68.  
  69.    public int getCellRspan() {
  70.       byte var1 = 1;
  71.       int var2 = 0;
  72.       String var3 = ((Box)this).getAttributeByIndex(40);
  73.  
  74.       try {
  75.          var2 = Integer.parseInt(var3);
  76.       } catch (NumberFormatException var5) {
  77.       }
  78.  
  79.       return var2 != 0 ? var2 : var1;
  80.    }
  81.  
  82.    public int getCellCspan() {
  83.       byte var1 = 1;
  84.       int var2 = 0;
  85.       String var3 = ((Box)this).getAttributeByIndex(41);
  86.  
  87.       try {
  88.          var2 = Integer.parseInt(var3);
  89.       } catch (NumberFormatException var5) {
  90.       }
  91.  
  92.       return var2 != 0 ? var2 : var1;
  93.    }
  94.  
  95.    private void setSpanInfo() {
  96.       int var1 = 1;
  97.       int var2 = 1;
  98.       var1 = this.getCellRspan();
  99.       var2 = this.getCellCspan();
  100.       this.dims.setCellSpan(this.row, this.col, var1, var2);
  101.    }
  102.  
  103.    public void setCellAlign() {
  104.       int var1 = 0;
  105.       int var2 = 0;
  106.       String var3 = super.attributes[30] == null ? "" : super.attributes[30].trim();
  107.       if (var3.equals("top")) {
  108.          var1 = 10;
  109.       } else if (var3.equals("bottom")) {
  110.          var1 = 11;
  111.       } else if (var3.equals("center")) {
  112.          var1 = 2;
  113.       } else if (var3.equals("baseline")) {
  114.          var1 = 12;
  115.       } else if (var3.equals("axis")) {
  116.          var1 = 13;
  117.       } else {
  118.          var1 = this.dims.getRowAlign(this.row);
  119.       }
  120.  
  121.       String var4 = super.attributes[31] == null ? "" : super.attributes[31].trim();
  122.       if (var4.equals("left")) {
  123.          var2 = 1;
  124.       } else if (var4.equals("right")) {
  125.          var2 = 3;
  126.       } else if (var4.equals("center")) {
  127.          var2 = 2;
  128.       } else if (this.dims.MTrColAlignValues.size() == 0) {
  129.          var2 = this.dims.getColAlign(this.col);
  130.       } else {
  131.          var2 = this.col < this.dims.MTrColAlignValues.size() ? this.dims.colValueToType((String)this.dims.MTrColAlignValues.elementAt(this.col)) : this.dims.colValueToType((String)this.dims.MTrColAlignValues.lastElement());
  132.       }
  133.  
  134.       this.dims.setCellAlign(this.row, this.col, var1, var2);
  135.    }
  136.  
  137.    protected void rewrite() {
  138.       super.lb_rewrite = new MRow(((Box)this).getParent());
  139.  
  140.       for(int var1 = 0; var1 < super.children.size(); ++var1) {
  141.          super.lb_rewrite.addChild(((Box)this).getChild(var1));
  142.          ((Box)this).getChild(var1).setParent(this);
  143.       }
  144.  
  145.    }
  146.  
  147.    public void paint(Graphics var1, int var2, int var3) {
  148.       if (super.useLinearForm) {
  149.          super.lb_rewrite.paint(var1, var2 + super.left, var3 + super.top);
  150.       } else {
  151.          super.paint(var1, var2, var3);
  152.       }
  153.  
  154.       super.absleft = var2 + super.left;
  155.       super.abstop = var3 + super.top;
  156.    }
  157. }
  158.