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

  1. import java.awt.BorderLayout;
  2. import java.awt.Component;
  3. import java.awt.Container;
  4. import java.awt.Event;
  5. import java.awt.Graphics;
  6. import java.awt.Panel;
  7. import java.awt.Point;
  8. import java.awt.Scrollbar;
  9.  
  10. public final class TOCScroller extends Panel {
  11.    public TOCCanvas Canvas;
  12.    // $FF: renamed from: ├â TOC
  13.    private TOC field_0;
  14.    // $FF: renamed from: ├¬ java.awt.Scrollbar
  15.    private Scrollbar field_1;
  16.    // $FF: renamed from: ├½ java.awt.Scrollbar
  17.    private Scrollbar field_2;
  18.    public int xScroll;
  19.    public int yScroll;
  20.    // $FF: renamed from: ├¼ int
  21.    private int field_3;
  22.    // $FF: renamed from: ├¡ int
  23.    private int field_4;
  24.    // $FF: renamed from: ├« int
  25.    private int field_5;
  26.    // $FF: renamed from: ├» int
  27.    private int field_6;
  28.    // $FF: renamed from: ├░ int
  29.    private int field_7;
  30.    // $FF: renamed from: ├▒ int
  31.    private int field_8;
  32.    // $FF: renamed from: ├▓ long
  33.    private long field_9;
  34.    public long tAbsEvt;
  35.    public int hMax;
  36.    public int wMax;
  37.    public boolean fUpdate;
  38.    public boolean fPaint;
  39.  
  40.    public final Point getCanvasLocation() {
  41.       return this.Canvas.location();
  42.    }
  43.  
  44.    public boolean mouseMove(Event var1, int var2, int var3) {
  45.       if (this.Canvas.fCalculating) {
  46.          return true;
  47.       } else {
  48.          ((Component)this).location();
  49.          Point var4 = this.getCanvasLocation();
  50.          int var5 = var2 - var4.x;
  51.          int var6 = var3 - var4.y;
  52.          if (var5 < this.getCanvasWidth() && var6 < this.getCanvasHeight()) {
  53.             TOCTreeItem var7 = this.field_0.helpItem;
  54.             TOCTreeItem var8 = this.field_0.soundItem;
  55.             int var9 = this.field_0.helpCounter;
  56.             this.field_0.mouseMoved(var5, var6, this.field_0.TOCAnchor);
  57.             if (this.field_0.helpItem != var7) {
  58.                this.field_0.helpCounter = 0;
  59.                if (var9 > 2) {
  60.                   this.paintCanvas();
  61.                }
  62.             }
  63.  
  64.             if (this.field_0.soundItem != var8) {
  65.                this.field_0.soundCounter = 0;
  66.                this.field_0.fSoundPlayed = false;
  67.             }
  68.  
  69.             return true;
  70.          } else {
  71.             return false;
  72.          }
  73.       }
  74.    }
  75.  
  76.    public boolean mouseExit(Event var1, int var2, int var3) {
  77.       if (this.field_0.helpItem != null) {
  78.          this.field_0.helpItem = null;
  79.          this.paintCanvas();
  80.       }
  81.  
  82.       this.field_0.soundItem = null;
  83.       this.field_0.getAppletContext().showStatus("");
  84.       return true;
  85.    }
  86.  
  87.    public void paint(Graphics var1) {
  88.       int var2 = 200;
  89.       this.Canvas.fUpdate = true;
  90.       this.Canvas.repaint();
  91.  
  92.       while(this.Canvas.fUpdate) {
  93.          --var2;
  94.          if (var2 <= 0) {
  95.             break;
  96.          }
  97.  
  98.          this.field_0.wait(1);
  99.       }
  100.  
  101.       this.Canvas.fUpdate = false;
  102.       this.fPaint = false;
  103.    }
  104.  
  105.    public TOCScroller(TOC var1) {
  106.       this.field_0 = var1;
  107.       this.field_4 = this.field_0.standardFM.getHeight() + this.field_0.standardFM.getLeading() + 1;
  108.       this.field_3 = this.field_0.standardFM.getMaxAdvance() - 1;
  109.       this.field_9 = 0L;
  110.       this.tAbsEvt = 0L;
  111.       this.wMax = 100;
  112.       this.hMax = 100;
  113.       this.xScroll = 1;
  114.       this.yScroll = 1;
  115.       if (this.field_0.fHorzScroll) {
  116.          this.field_2 = new Scrollbar(0);
  117.       }
  118.  
  119.       if (this.field_0.fVertScroll) {
  120.          this.field_1 = new Scrollbar(1);
  121.       }
  122.  
  123.       ((Container)this).setLayout(new BorderLayout());
  124.       this.Canvas = new TOCCanvas(var1, this);
  125.       ((Container)this).add("Center", this.Canvas);
  126.       if (this.field_0.fHorzScroll) {
  127.          ((Container)this).add("South", this.field_2);
  128.       }
  129.  
  130.       if (this.field_0.fVertScroll) {
  131.          ((Container)this).add("East", this.field_1);
  132.       }
  133.  
  134.       if (!this.field_0.fScriptToLoad) {
  135.          if (this.field_0.fVertScroll || this.field_0.fHorzScroll) {
  136.             this.checkScrollbars();
  137.             return;
  138.          }
  139.       } else {
  140.          if (this.field_0.fHorzScroll) {
  141.             this.field_2.hide();
  142.          }
  143.  
  144.          if (this.field_0.fVertScroll) {
  145.             this.field_1.hide();
  146.          }
  147.  
  148.          ((Container)this).validate();
  149.       }
  150.  
  151.    }
  152.  
  153.    // $FF: renamed from: ├¬ (java.awt.Event, int, int) void
  154.    private final void method_0(Event var1, int var2, int var3) {
  155.       this.field_9 = System.currentTimeMillis();
  156.       this.tAbsEvt = this.field_9;
  157.       if (var1.target == (Object)this.field_1) {
  158.          this.yScroll -= var3;
  159.          if (this.yScroll < 1) {
  160.             this.yScroll = 1;
  161.          }
  162.       }
  163.  
  164.       if (var1.target == (Object)this.field_2) {
  165.          this.xScroll -= var2;
  166.          if (this.xScroll < 1) {
  167.             this.xScroll = 1;
  168.          }
  169.       }
  170.  
  171.    }
  172.  
  173.    public void update(Graphics var1) {
  174.       int var2 = 200;
  175.       this.fPaint = true;
  176.       this.paint(var1);
  177.  
  178.       while(this.fPaint) {
  179.          --var2;
  180.          if (var2 <= 0) {
  181.             break;
  182.          }
  183.  
  184.          this.field_0.wait(1);
  185.       }
  186.  
  187.       this.fPaint = false;
  188.       this.fUpdate = false;
  189.    }
  190.  
  191.    public final void checkScrollbars() {
  192.       int var1 = 200;
  193.  
  194.       while(this.Canvas.fCalculating) {
  195.          this.field_0.wait(1);
  196.       }
  197.  
  198.       this.Canvas.fCalculating = true;
  199.       this.Canvas.paintTree((Graphics)null, this.field_0.TOCAnchor, 0, true);
  200.       this.Canvas.fCalculating = false;
  201.       this.wMax = this.Canvas.xMax;
  202.       this.hMax = this.Canvas.yMax;
  203.       if (this.field_0.fVertScroll || this.field_0.fHorzScroll) {
  204.          this.method_1();
  205.          ((Container)this).validate();
  206.          this.method_2();
  207.          ((Container)this).validate();
  208.          this.method_1();
  209.          this.setScrollbars();
  210.          ((Container)this).validate();
  211.       }
  212.  
  213.       if (this.field_0.asWindow) {
  214.          if (this.field_0.frame != null) {
  215.             this.field_0.frame.fUpdate = true;
  216.             this.field_0.frame.repaint();
  217.  
  218.             while(this.field_0.frame.fUpdate) {
  219.                --var1;
  220.                if (var1 <= 0) {
  221.                   break;
  222.                }
  223.  
  224.                this.field_0.wait(1);
  225.             }
  226.  
  227.             this.field_0.frame.fUpdate = false;
  228.             return;
  229.          }
  230.       } else {
  231.          this.field_0.fUpdate = true;
  232.          this.field_0.repaint();
  233.  
  234.          while(this.field_0.fUpdate) {
  235.             --var1;
  236.             if (var1 <= 0) {
  237.                break;
  238.             }
  239.  
  240.             this.field_0.wait(1);
  241.          }
  242.  
  243.          this.field_0.fUpdate = false;
  244.       }
  245.  
  246.    }
  247.  
  248.    // $FF: renamed from: ├½ () void
  249.    private final void method_1() {
  250.       if (this.field_0.fHorzScroll) {
  251.          int var1 = this.Canvas.xMax + this.field_0.xOff;
  252.          int var2 = this.Canvas.size().width;
  253.          if (var1 > var2) {
  254.             if (var1 - this.xScroll < var2) {
  255.                this.xScroll = var1 - var2;
  256.             }
  257.  
  258.             if (this.xScroll < 1) {
  259.                this.xScroll = 1;
  260.             }
  261.  
  262.             if (this.field_0.fLicense) {
  263.                this.field_2.show();
  264.             }
  265.  
  266.             this.field_5 = var2 - 1;
  267.             this.field_6 = this.field_3;
  268.             return;
  269.          }
  270.  
  271.          this.xScroll = 1;
  272.          this.field_2.hide();
  273.       }
  274.  
  275.    }
  276.  
  277.    public boolean mouseDown(Event var1, int var2, int var3) {
  278.       if (this.Canvas.fCalculating) {
  279.          return true;
  280.       } else if (var1.clickCount > 1) {
  281.          return true;
  282.       } else {
  283.          ((Component)this).location();
  284.          Point var4 = this.getCanvasLocation();
  285.          int var5 = var2 - var4.x;
  286.          int var6 = var3 - var4.y;
  287.          if (var5 < this.getCanvasWidth() && var6 < this.getCanvasHeight()) {
  288.             boolean var7 = this.field_0.mouseClicked(var5, var6, this.field_0.TOCAnchor);
  289.             if (var7) {
  290.                this.checkScrollbars();
  291.             }
  292.  
  293.             return true;
  294.          } else {
  295.             return false;
  296.          }
  297.       }
  298.    }
  299.  
  300.    public final int getCanvasHeight() {
  301.       return this.Canvas.size().height;
  302.    }
  303.  
  304.    // $FF: renamed from: ├¼ () void
  305.    private final void method_2() {
  306.       if (this.field_0.fVertScroll) {
  307.          int var1 = this.Canvas.yMax + this.field_0.yOff;
  308.          int var2 = this.Canvas.size().height;
  309.          if (var1 > var2) {
  310.             if (var1 - this.yScroll < var2) {
  311.                this.yScroll = var1 - var2;
  312.             }
  313.  
  314.             if (this.yScroll < 1) {
  315.                this.yScroll = 1;
  316.             }
  317.  
  318.             if (this.field_0.fLicense) {
  319.                this.field_1.show();
  320.             }
  321.  
  322.             this.field_7 = var2 - 1;
  323.             this.field_8 = this.field_4;
  324.             return;
  325.          }
  326.  
  327.          this.yScroll = 1;
  328.          this.field_1.hide();
  329.       }
  330.  
  331.    }
  332.  
  333.    public final void paintCanvas() {
  334.       this.Canvas.repaint();
  335.    }
  336.  
  337.    public boolean handleEvent(Event var1) {
  338.       switch (var1.id) {
  339.          case 601:
  340.             this.method_0(var1, this.field_6, this.field_8);
  341.             return true;
  342.          case 602:
  343.             this.method_3(var1, this.field_6, this.field_8);
  344.             return true;
  345.          case 603:
  346.             this.method_0(var1, this.field_5, this.field_7);
  347.             return true;
  348.          case 604:
  349.             this.method_3(var1, this.field_5, this.field_7);
  350.             return true;
  351.          case 605:
  352.             this.tAbsEvt = System.currentTimeMillis();
  353.             if (this.tAbsEvt - this.field_9 > 250L) {
  354.                if (this.field_2.isVisible()) {
  355.                   this.xScroll = this.field_2.getValue();
  356.                   if (this.xScroll < 1) {
  357.                      this.xScroll = 1;
  358.                   }
  359.  
  360.                   int var2 = this.wMax + this.field_0.xOff - this.Canvas.size().width;
  361.                   if (this.xScroll > var2) {
  362.                      this.xScroll = var2;
  363.                   }
  364.                } else {
  365.                   this.xScroll = 1;
  366.                }
  367.  
  368.                if (this.field_1.isVisible()) {
  369.                   this.yScroll = this.field_1.getValue();
  370.                   if (this.yScroll < 1) {
  371.                      this.yScroll = 1;
  372.                   }
  373.  
  374.                   int var3 = this.hMax + this.field_0.yOff - this.Canvas.size().height;
  375.                   if (this.yScroll > var3) {
  376.                      this.yScroll = var3;
  377.                   }
  378.                } else {
  379.                   this.yScroll = 1;
  380.                }
  381.             }
  382.  
  383.             return true;
  384.          default:
  385.             return super.handleEvent(var1);
  386.       }
  387.    }
  388.  
  389.    public final int getCanvasWidth() {
  390.       return this.Canvas.size().width;
  391.    }
  392.  
  393.    public final void setScrollbars() {
  394.       if (this.field_0.fHorzScroll && this.field_2.isVisible()) {
  395.          int var1 = this.Canvas.xMax + this.field_0.xOff + 1;
  396.          int var3 = this.Canvas.size().width;
  397.          this.field_2.setValues(this.xScroll, var3, 0, var1 - var3);
  398.       }
  399.  
  400.       if (this.field_0.fVertScroll && this.field_1.isVisible()) {
  401.          int var2 = this.Canvas.yMax + this.field_0.yOff + 1;
  402.          int var4 = this.Canvas.size().height;
  403.          this.field_1.setValues(this.yScroll, var4, 0, var2 - var4);
  404.       }
  405.  
  406.    }
  407.  
  408.    // $FF: renamed from: ├¡ (java.awt.Event, int, int) void
  409.    private final void method_3(Event var1, int var2, int var3) {
  410.       this.field_9 = System.currentTimeMillis();
  411.       this.tAbsEvt = this.field_9;
  412.       if (var1.target == (Object)this.field_1) {
  413.          this.yScroll += var3;
  414.          int var4 = this.hMax + this.field_0.yOff - this.Canvas.size().height;
  415.          if (this.yScroll > var4) {
  416.             this.yScroll = var4;
  417.          }
  418.       }
  419.  
  420.       if (var1.target == (Object)this.field_2) {
  421.          this.xScroll += var2;
  422.          int var5 = this.wMax + this.field_0.xOff - this.Canvas.size().width;
  423.          if (this.xScroll > var5) {
  424.             this.xScroll = var5;
  425.          }
  426.       }
  427.  
  428.    }
  429. }
  430.