home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / FREI / TOC42.EXE / TOCFrame.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-08-29  |  2.6 KB  |  136 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.Frame;
  6. import java.awt.Graphics;
  7. import java.awt.Menu;
  8. import java.awt.MenuBar;
  9. import java.awt.MenuItem;
  10.  
  11. public final class TOCFrame extends Frame {
  12.    // $FF: renamed from: ├â TOC
  13.    private TOC field_0;
  14.    public int wFrame;
  15.    public int hFrame;
  16.    public boolean fUpdate;
  17.    public boolean fPaint;
  18.  
  19.    // $FF: renamed from: ├á (java.awt.Menu, TOCMenuItem) void
  20.    private void method_0(Menu var1, TOCMenuItem var2) {
  21.       for(; var2 != null; var2 = var2.next) {
  22.          if (var2.subItem == null) {
  23.             var2.menuItem = var1.add(new MenuItem(var2.text));
  24.          } else {
  25.             Menu var3 = new Menu(var2.text);
  26.             this.method_0(var3, var2.subItem);
  27.             var1.add(var3);
  28.          }
  29.       }
  30.  
  31.    }
  32.  
  33.    public void paint(Graphics var1) {
  34.       int var4 = 200;
  35.       int var2 = ((Component)this).size().width;
  36.       int var3 = ((Component)this).size().height;
  37.       if (var2 != this.wFrame || var3 != this.hFrame) {
  38.          if (var2 != -1 && var3 != -1) {
  39.             this.field_0.Scroller.checkScrollbars();
  40.          }
  41.  
  42.          this.wFrame = var2;
  43.          this.hFrame = var3;
  44.       }
  45.  
  46.       this.field_0.Scroller.fUpdate = true;
  47.       this.field_0.Scroller.repaint();
  48.  
  49.       while(this.field_0.Scroller.fUpdate) {
  50.          --var4;
  51.          if (var4 <= 0) {
  52.             break;
  53.          }
  54.  
  55.          this.field_0.wait(1);
  56.       }
  57.  
  58.       this.field_0.Scroller.fUpdate = false;
  59.       this.fPaint = false;
  60.    }
  61.  
  62.    public void update(Graphics var1) {
  63.       int var2 = 200;
  64.       this.fPaint = true;
  65.       this.paint(var1);
  66.  
  67.       while(this.fPaint) {
  68.          --var2;
  69.          if (var2 <= 0) {
  70.             break;
  71.          }
  72.  
  73.          this.field_0.wait(1);
  74.       }
  75.  
  76.       this.fPaint = false;
  77.       this.field_0.getToolkit().sync();
  78.    }
  79.  
  80.    public synchronized boolean handleEvent(Event var1) {
  81.       switch (var1.id) {
  82.          case 201:
  83.             ((Component)this).hide();
  84.             this.field_0.frame = null;
  85.             this.field_0.stop();
  86.             return true;
  87.          case 1001:
  88.             for(TOCMenuItem var2 = this.field_0.script.menuStart; var2 != null; var2 = var2.next) {
  89.                for(TOCMenuItem var3 = var2.subItem; var3 != null; var3 = var3.next) {
  90.                   if (var1.target == var3.menuItem) {
  91.                      if (var3.url != null) {
  92.                         if (var3.target.length() > 0) {
  93.                            this.field_0.getAppletContext().showDocument(var3.url, var3.target);
  94.                         } else {
  95.                            this.field_0.getAppletContext().showDocument(var3.url);
  96.                         }
  97.                      }
  98.  
  99.                      return true;
  100.                   }
  101.                }
  102.             }
  103.  
  104.             return false;
  105.          default:
  106.             return false;
  107.       }
  108.    }
  109.  
  110.    public final void createMenu() {
  111.       MenuBar var1 = new MenuBar();
  112.  
  113.       for(TOCMenuItem var2 = this.field_0.script.menuStart; var2 != null; var2 = var2.next) {
  114.          Menu var3 = new Menu(var2.text);
  115.          this.method_0(var3, var2.subItem);
  116.          var1.add(var3);
  117.       }
  118.  
  119.       ((Frame)this).setMenuBar(var1);
  120.    }
  121.  
  122.    public TOCFrame(String var1, TOC var2) {
  123.       super(var1);
  124.       this.field_0 = var2;
  125.       ((Container)this).setLayout(new BorderLayout());
  126.       ((Container)this).add("Center", this.field_0.Scroller);
  127.       if (this.field_0.script != null) {
  128.          this.createMenu();
  129.       }
  130.  
  131.       ((Container)this).validate();
  132.       this.wFrame = -1;
  133.       this.hFrame = -1;
  134.    }
  135. }
  136.