home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / FREI / TOC42.EXE / TOCInfo.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-08-29  |  4.0 KB  |  261 lines

  1. import java.awt.Canvas;
  2. import java.awt.Component;
  3. import java.awt.Event;
  4. import java.awt.Graphics;
  5. import java.awt.Image;
  6. import java.util.Vector;
  7.  
  8. public final class TOCInfo extends Canvas {
  9.    // $FF: renamed from: ├â TOC
  10.    private TOC field_0;
  11.    // $FF: renamed from: ├│ java.awt.Image
  12.    private Image field_1;
  13.    // $FF: renamed from: ├à java.awt.Graphics
  14.    private Graphics field_2;
  15.    // $FF: renamed from: ├ë int
  16.    private int field_3;
  17.    // $FF: renamed from: ├è int
  18.    private int field_4;
  19.    // $FF: renamed from: ├ì int
  20.    private int field_5;
  21.    // $FF: renamed from: ├Ä int
  22.    private int field_6;
  23.    // $FF: renamed from: ├┤ boolean
  24.    private boolean field_7;
  25.    public boolean fUpdate;
  26.    public boolean fNew;
  27.    // $FF: renamed from: ├╡ TOCTreeItem
  28.    private TOCTreeItem field_8;
  29.    // $FF: renamed from: ├╢ TOCScrollItem
  30.    private TOCScrollItem field_9;
  31.    // $FF: renamed from: ├╕ java.util.Vector
  32.    private Vector field_10;
  33.    // $FF: renamed from: ├╣ int
  34.    private int field_11;
  35.    public int xHelp;
  36.  
  37.    public boolean mouseExit(Event var1, int var2, int var3) {
  38.       if (this.field_0.helpScroll != null) {
  39.          this.field_0.helpScroll = null;
  40.          this.field_0.Scroller.paintCanvas();
  41.       }
  42.  
  43.       this.field_0.getAppletContext().showStatus("");
  44.       return true;
  45.    }
  46.  
  47.    public void paint(Graphics var1) {
  48.       if (!this.field_7) {
  49.          this.field_0.TOCDrawImage(var1, this.field_1, 0, 0, this.field_0);
  50.       } else {
  51.          int var4 = this.field_10.size();
  52.          var1.setColor(this.field_0.bgCInfo);
  53.          var1.fillRect(0, 0, this.field_5, this.field_6);
  54.          var1.setColor(this.field_0.lineC);
  55.          var1.drawLine(0, 0, this.field_5, 0);
  56.          if (var4 != 0) {
  57.             int var5 = this.field_11;
  58.  
  59.             for(int var6 = 0; var6 < var4; ++var6) {
  60.                TOCScrollItem var2 = (TOCScrollItem)this.field_10.elementAt(var6);
  61.                Image var3 = var2.image;
  62.                this.field_0.TOCDrawImage(var1, var3, var5, 0, this.field_0);
  63.                var5 += var2.w;
  64.             }
  65.  
  66.             if (this.xHelp > 0) {
  67.                this.xHelp += -1;
  68.             }
  69.          }
  70.  
  71.          this.field_7 = false;
  72.       }
  73.    }
  74.  
  75.    public void update(Graphics var1) {
  76.       if (this.field_0.asWindow && this.field_0.frame != null) {
  77.          this.field_0.frame.validate();
  78.       }
  79.  
  80.       this.field_3 = ((Component)this).size().width;
  81.       this.field_4 = ((Component)this).size().height;
  82.       if (this.field_3 == 0) {
  83.          this.fUpdate = true;
  84.       } else {
  85.          if (this.field_1 == null || this.field_3 != this.field_5 || this.field_4 != this.field_6) {
  86.             if (this.field_1 != null) {
  87.                this.field_2.dispose();
  88.                this.field_1.flush();
  89.             }
  90.  
  91.             this.field_1 = this.field_0.TOCCreateImage(this.field_3, this.field_4);
  92.             this.field_2 = this.field_1.getGraphics();
  93.             this.field_5 = this.field_3;
  94.             this.field_6 = this.field_4;
  95.          }
  96.  
  97.          if (this.fNew && this.field_0.itemSelected != null) {
  98.             this.field_8 = this.field_0.itemSelected;
  99.             if (this.field_0.itemSelected != this.field_8 && (this.field_0.itemSelected.scrollScriptFile != null || this.field_8.scrollScriptFile != null) && !this.field_0.itemSelected.scrollScriptFile.equals(this.field_8.scrollScriptFile)) {
  100.                this.field_9 = this.field_8.scroll;
  101.             } else {
  102.                if (this.field_9 != null) {
  103.                   this.field_9 = this.field_9.next;
  104.                }
  105.  
  106.                if (this.field_9 == null) {
  107.                   long var2 = System.currentTimeMillis();
  108.                   if (this.field_8.lReloadInt > 0L && var2 - this.field_8.lStart > this.field_8.lReloadInt) {
  109.                      this.field_8.lStart = 0L;
  110.                   } else {
  111.                      this.field_9 = this.field_8.scroll;
  112.                   }
  113.                }
  114.             }
  115.  
  116.             if (this.field_9 != null) {
  117.                this.field_10.addElement(this.field_9);
  118.                if (this.field_10.size() == 1) {
  119.                   this.field_11 = this.field_5;
  120.                }
  121.  
  122.                if (this.field_11 + this.method_0() > this.field_5) {
  123.                   this.fNew = false;
  124.                }
  125.             } else if (this.field_8.lStart == 0L) {
  126.                boolean var5 = false;
  127.                Object var3 = null;
  128.                String var8;
  129.                if (this.field_8.scrollScriptFile == null) {
  130.                   var5 = true;
  131.                   var8 = this.field_0.genScrollFile;
  132.                } else {
  133.                   var8 = this.field_8.scrollScriptFile;
  134.                }
  135.  
  136.                this.field_8.scroll = null;
  137.                TOCScrollScript var4 = new TOCScrollScript(this.field_0.getDocumentBase(), var8, this.field_0, this.field_8, var5);
  138.                var4.start();
  139.             }
  140.          }
  141.  
  142.          if (this.field_10.size() > 0) {
  143.             this.field_11 += -1;
  144.             TOCScrollItem var6 = (TOCScrollItem)this.field_10.elementAt(0);
  145.             if (this.field_11 < -var6.w) {
  146.                this.field_11 += var6.w;
  147.                this.field_10.removeElement(var6);
  148.             }
  149.  
  150.             if (this.field_11 + this.method_0() < this.field_5) {
  151.                this.fNew = true;
  152.             }
  153.          }
  154.  
  155.          int var7 = 200;
  156.          this.field_7 = true;
  157.          this.paint(this.field_2);
  158.  
  159.          while(this.field_7) {
  160.             --var7;
  161.             if (var7 <= 0) {
  162.                break;
  163.             }
  164.  
  165.             this.field_0.wait(1);
  166.          }
  167.  
  168.          this.field_7 = false;
  169.          this.field_0.TOCDrawImage(var1, this.field_1, 0, 0, this.field_0);
  170.          this.fUpdate = false;
  171.       }
  172.    }
  173.  
  174.    // $FF: renamed from: ├│ () int
  175.    private final int method_0() {
  176.       int var1 = 0;
  177.       int var3 = this.field_10.size();
  178.  
  179.       for(int var4 = 0; var4 < var3; ++var4) {
  180.          TOCScrollItem var2 = (TOCScrollItem)this.field_10.elementAt(var4);
  181.          var1 += var2.w;
  182.       }
  183.  
  184.       return var1;
  185.    }
  186.  
  187.    public synchronized boolean mouseDown(Event var1, int var2, int var3) {
  188.       if (var1.clickCount > 1) {
  189.          return true;
  190.       } else {
  191.          int var5 = this.field_10.size();
  192.          int var6 = this.field_11;
  193.  
  194.          for(int var7 = 0; var7 < var5; ++var7) {
  195.             TOCScrollItem var4 = (TOCScrollItem)this.field_10.elementAt(var7);
  196.             if (var2 > var6 && var2 < var6 + var4.w - 20) {
  197.                if (var4.url != null) {
  198.                   if (var4.target.length() > 0) {
  199.                      this.field_0.getAppletContext().showDocument(var4.url, var4.target);
  200.                   } else {
  201.                      this.field_0.getAppletContext().showDocument(var4.url);
  202.                   }
  203.                }
  204.                break;
  205.             }
  206.  
  207.             var6 += var4.w;
  208.          }
  209.  
  210.          return true;
  211.       }
  212.    }
  213.  
  214.    public TOCInfo(TOC var1) {
  215.       this.field_0 = var1;
  216.       this.field_5 = 0;
  217.       this.field_6 = 0;
  218.       this.field_10 = new Vector();
  219.       this.fNew = true;
  220.    }
  221.  
  222.    public synchronized boolean mouseMove(Event var1, int var2, int var3) {
  223.       int var4 = this.field_10.size();
  224.       int var5 = this.field_11;
  225.       TOCScrollItem var7 = this.field_0.helpScroll;
  226.       int var8 = this.field_0.helpCounter;
  227.       boolean var9 = false;
  228.  
  229.       for(int var10 = 0; var10 < var4; ++var10) {
  230.          TOCScrollItem var6 = (TOCScrollItem)this.field_10.elementAt(var10);
  231.          if (var2 > var5 && var2 < var5 + var6.w - 20) {
  232.             if (var6.helpText.length() > 0) {
  233.                this.field_0.helpScroll = var6;
  234.                this.xHelp = var5;
  235.             } else {
  236.                this.field_0.helpScroll = null;
  237.             }
  238.  
  239.             if (this.field_0.helpScroll != var7) {
  240.                this.field_0.helpCounter = 0;
  241.                if (var8 > 2) {
  242.                   this.field_0.Scroller.paintCanvas();
  243.                }
  244.             }
  245.  
  246.             var9 = true;
  247.             break;
  248.          }
  249.  
  250.          var5 += var6.w;
  251.       }
  252.  
  253.       if (!var9) {
  254.          this.field_0.helpScroll = null;
  255.          this.field_0.getAppletContext().showStatus("");
  256.       }
  257.  
  258.       return true;
  259.    }
  260. }
  261.