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

  1. package webeq3.schema;
  2.  
  3. import java.awt.Graphics;
  4. import webeq3.app.Equation;
  5. import webeq3.app.PEquation;
  6. import webeq3.constants.ActionConstants;
  7. import webeq3.constants.AttributeConstants;
  8. import webeq3.util.OutputHandler;
  9.  
  10. public class MAction extends MRow implements ActionConstants, AttributeConstants {
  11.    public String active_text = "";
  12.    public int type = 0;
  13.    public int active_toggle = 0;
  14.    private boolean editMode = false;
  15.    String mathcolor0;
  16.    String mathcolor1;
  17.    String[] local_attributes = new String[86];
  18.  
  19.    public MAction(Box var1) {
  20.       super(var1);
  21.    }
  22.  
  23.    public MAction() {
  24.    }
  25.  
  26.    public MAction(Equation var1) {
  27.       super(var1);
  28.    }
  29.  
  30.    public void init() {
  31.       String var1 = ((Box)this).getAttributeByIndex(46);
  32.       if (var1.equals("link")) {
  33.          this.type = 0;
  34.       } else if (var1.equals("statusline")) {
  35.          this.type = 1;
  36.       } else if (var1.equals("highlight")) {
  37.          this.type = 6;
  38.       } else if (var1.equals("toggle")) {
  39.          this.type = 2;
  40.       } else if (var1.equals("fghilight")) {
  41.          this.type = 4;
  42.       } else if (var1.equals("bghilight")) {
  43.          this.type = 5;
  44.       }
  45.  
  46.       if (this.active_text.equals("")) {
  47.          this.active_text = ((Box)this).getAttributeByIndex(70);
  48.       }
  49.  
  50.    }
  51.  
  52.    public void setEditMode(boolean var1) {
  53.       this.editMode = var1;
  54.       if (this.editMode) {
  55.          Box var2 = ((Box)this).getChild(0);
  56.          if (var2 != null) {
  57.             this.mathcolor0 = var2.getRawAttribute(79);
  58.          }
  59.  
  60.          var2 = ((Box)this).getChild(1);
  61.          if (var2 != null) {
  62.             this.mathcolor1 = var2.getRawAttribute(79);
  63.          }
  64.       } else {
  65.          Box var4 = ((Box)this).getChild(0);
  66.          if (var4 != null) {
  67.             var4.setAttribute(79, this.mathcolor0);
  68.          }
  69.  
  70.          var4 = ((Box)this).getChild(1);
  71.          if (var4 != null) {
  72.             var4.setAttribute(79, this.mathcolor1);
  73.          }
  74.       }
  75.  
  76.    }
  77.  
  78.    public boolean getEditMode() {
  79.       return this.editMode;
  80.    }
  81.  
  82.    public void pushAttribute(int var1, String var2) {
  83.       this.local_attributes[var1] = super.attributes[var1];
  84.       ((Box)this).setAttribute(var1, var2);
  85.       ((PEquation)super.my_view).redraw();
  86.       super.my_view.getHandler().getComponent().repaint();
  87.    }
  88.  
  89.    public void popAttribute(int var1) {
  90.       super.attributes[var1] = this.local_attributes[var1];
  91.       this.local_attributes[var1] = null;
  92.       ((PEquation)super.my_view).redraw();
  93.       super.my_view.getHandler().getComponent().repaint();
  94.    }
  95.  
  96.    public void toggle() {
  97.       this.active_toggle = (this.active_toggle + 1) % 2;
  98.       if (this.active_text.equals("")) {
  99.          this.active_text = ((Box)this).getAttributeByIndex(70);
  100.       }
  101.  
  102.       if (this.active_toggle == 0) {
  103.          this.active_text = ((Box)this).getAttributeByIndex(70);
  104.       } else {
  105.          this.active_text = ((Box)this).getAttributeByIndex(71);
  106.       }
  107.  
  108.    }
  109.  
  110.    public void size() {
  111.       super.fgcolor = ((Box)this).resolveColor(4);
  112.       super.bgcolor = ((Box)this).resolveColor(17);
  113.       if (this.editMode && this.type == 2) {
  114.          if (this.active_toggle == 0) {
  115.             Box var10 = ((Box)this).getChild(0);
  116.             var10.setAttribute(79, this.mathcolor0);
  117.             var10 = ((Box)this).getChild(1);
  118.             var10.setAttribute(79, "gray");
  119.          } else {
  120.             Box var12 = ((Box)this).getChild(1);
  121.             var12.setAttribute(79, this.mathcolor1);
  122.             var12 = ((Box)this).getChild(0);
  123.             var12.setAttribute(79, "gray");
  124.          }
  125.  
  126.          int var16 = super.my_view.standardPointsize(super.depth) / 2;
  127.          Box var14 = ((Box)this).getChild(0);
  128.          var14.depth = super.depth;
  129.          var14.layout();
  130.          super.height = var14.getHeight();
  131.          int var17 = var14.getWidth();
  132.          var14 = ((Box)this).getChild(1);
  133.          var14.depth = super.depth;
  134.          var14.layout();
  135.          super.height += var14.getHeight() + var16;
  136.          int var18 = var14.getWidth();
  137.          super.width = var17 > var18 ? var17 : var18;
  138.          super.width += var16;
  139.          super.ascent = super.height / 2 + var16 / 2;
  140.          super.descent = super.height - super.ascent;
  141.       } else if (super.my_view.WizardIsRunning && this.type == 2) {
  142.          Box var8 = ((Box)this).getChild(0);
  143.          var8.depth = super.depth;
  144.          var8.layout();
  145.          int var2 = var8.getAscent();
  146.          int var3 = var8.getDescent();
  147.          int var4 = var8.getWidth();
  148.          var8 = ((Box)this).getChild(1);
  149.          var8.depth = super.depth;
  150.          var8.layout();
  151.          int var5 = var8.getAscent();
  152.          int var6 = var8.getDescent();
  153.          int var7 = var8.getWidth();
  154.          super.ascent = Math.max(var2, var5);
  155.          super.descent = Math.max(var3, var6);
  156.          super.width = Math.max(var4, var7);
  157.          super.height = super.ascent + super.descent;
  158.       } else {
  159.          Box var1 = ((Box)this).getChild(this.active_toggle);
  160.          var1.depth = super.depth;
  161.          var1.layout();
  162.          super.ascent = var1.getAscent();
  163.          super.descent = var1.getDescent();
  164.          super.width = var1.getWidth();
  165.          super.height = super.ascent + super.descent;
  166.          super.is_spacelike = var1.is_spacelike;
  167.          super.embellished_op = var1.embellished_op;
  168.       }
  169.  
  170.    }
  171.  
  172.    public void position() {
  173.       int var2 = super.my_view.standardPointsize(super.depth) / 2;
  174.       if (this.editMode && this.type == 2) {
  175.          Box var3 = ((Box)this).getChild(0);
  176.          var3.setLeft(var2);
  177.          var3.setTop(0);
  178.          var3 = ((Box)this).getChild(1);
  179.          var3.setLeft(var2);
  180.          var3.setTop(super.height - var3.getHeight());
  181.       } else {
  182.          Box var1 = ((Box)this).getChild(this.active_toggle);
  183.          var1.setLeft(0);
  184.          var1.setTop(super.ascent - var1.getAscent());
  185.       }
  186.  
  187.    }
  188.  
  189.    public void paint(Graphics var1, int var2, int var3) {
  190.       ((Box)this).paintBackground(var1, var2, var3);
  191.       if (this.editMode && this.type == 2) {
  192.          ((Box)this).getChild(0).paint(var1, var2 + super.left, var3 + super.top);
  193.          ((Box)this).getChild(1).paint(var1, var2 + super.left, var3 + super.top);
  194.          int var4 = super.my_view.standardPointsize(super.depth) / 6;
  195.          int var5 = var2 + super.left;
  196.          int var6 = var3 + super.top;
  197.          if (((Box)this).getReverseVideo()) {
  198.             var1.setColor(super.bgcolor);
  199.          } else {
  200.             var1.setColor(super.fgcolor);
  201.          }
  202.  
  203.          var1.drawLine(var5 + var4, var6 + var4, var5 + 2 * var4, var6);
  204.          var1.drawLine(var5 + var4, var6 + var4, var5 + var4, var6 + super.height / 2 - var4);
  205.          var1.drawLine(var5, var6 + super.height / 2, var5 + var4, var6 + super.height / 2 - var4);
  206.          var1.drawLine(var5, var6 + super.height / 2, var5 + var4, var6 + super.height / 2 + var4);
  207.          var1.drawLine(var5 + var4, var6 + super.height / 2 + var4, var5 + var4, var6 + super.height - var4);
  208.          var1.drawLine(var5 + var4, var6 + super.height - var4, var5 + 2 * var4, var6 + super.height);
  209.       } else {
  210.          ((Box)this).getChild(this.active_toggle).paint(var1, var2 + super.left, var3 + super.top);
  211.       }
  212.  
  213.       super.absleft = var2 + super.left;
  214.       super.abstop = var3 + super.top;
  215.    }
  216.  
  217.    public void printSelected(String var1, OutputHandler var2, boolean var3, boolean var4, String var5, boolean var6, int var7) {
  218.       if (this.editMode && this.type == 2) {
  219.          String var8 = null;
  220.          String var9 = null;
  221.          Box var10 = ((Box)this).getChild(0);
  222.          if (var10 != null) {
  223.             var8 = var10.getRawAttribute(79);
  224.             var10.setAttribute(79, this.mathcolor0);
  225.          }
  226.  
  227.          Box var11 = ((Box)this).getChild(1);
  228.          if (var11 != null) {
  229.             var9 = var11.getRawAttribute(79);
  230.             var11.setAttribute(79, this.mathcolor1);
  231.          }
  232.  
  233.          super.printSelected(var1, var2, var3, var4, var5, var6, var7);
  234.          if (var10 != null) {
  235.             var10.setAttribute(79, var8);
  236.          }
  237.  
  238.          if (var11 != null) {
  239.             var11.setAttribute(79, var9);
  240.          }
  241.       } else {
  242.          super.printSelected(var1, var2, var3, var4, var5, var6, var7);
  243.       }
  244.  
  245.    }
  246. }
  247.