home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 2004 May / DPPCPRO0504.ISO / May / Seatools / SeaTools.iso / tools / en / webhelp / webhelp.cab / hhapplet / ListView.class (.txt) < prev    next >
Encoding:
Java Class File  |  2002-04-17  |  8.5 KB  |  626 lines

  1. package hhapplet;
  2.  
  3. import XMLConsumer.IEntry;
  4. import java.awt.AWTEvent;
  5. import java.awt.Button;
  6. import java.awt.Color;
  7. import java.awt.Component;
  8. import java.awt.Container;
  9. import java.awt.Dimension;
  10. import java.awt.Graphics;
  11. import java.awt.Image;
  12. import java.awt.Panel;
  13. import java.awt.Rectangle;
  14. import java.awt.Scrollbar;
  15. import java.awt.event.AdjustmentEvent;
  16. import java.awt.event.AdjustmentListener;
  17. import java.awt.event.KeyEvent;
  18. import java.awt.event.MouseEvent;
  19. import java.awt.image.ImageObserver;
  20. import java.util.Vector;
  21.  
  22. public abstract class ListView extends Panel implements Runnable, AdjustmentListener, IActionSink {
  23.    private static final int HEIGHT_HORIZONTAL_SB = 16;
  24.    private static final int WIDTH_VERTICAL_SB = 16;
  25.    private Vector m_vToDo;
  26.    private Scrollbar m_sbHorizontal = new Scrollbar(0);
  27.    private Scrollbar m_sbVertical = new Scrollbar(1);
  28.    private Button m_btnScrollerCorner;
  29.    private int m_nHVisible;
  30.    private int m_nVisible;
  31.    private int m_nUHeight;
  32.    private int m_nMouseX;
  33.    private int m_nMouseY;
  34.    private IEntry m_HighLightedEntry;
  35.    private IEntry m_SelectedEntry;
  36.    private int m_nHighLightedPos;
  37.    private int m_nSelectedPos;
  38.    private Image m_bgImage;
  39.    private int m_nbgWidth;
  40.    private int m_nbgHeight;
  41.    private Image m_cachebgImage;
  42.    private int m_nOldWidth;
  43.    private int m_nOldHeight;
  44.    private boolean m_bBgUpdated;
  45.    private Image m_imgbackground;
  46.  
  47.    protected void procResize() {
  48.       this.doLayout();
  49.    }
  50.  
  51.    public Image getBackgroundImage() {
  52.       if (this.m_nbgWidth > 0 && this.m_nbgHeight > 0 && this.m_bgImage != null) {
  53.          Rectangle var1 = ((Component)this).getBounds();
  54.          if (var1.height == this.m_nOldHeight && var1.width == this.m_nOldWidth && !this.m_bBgUpdated) {
  55.             return this.m_cachebgImage;
  56.          } else {
  57.             this.m_nOldWidth = var1.width;
  58.             this.m_nOldHeight = var1.height;
  59.             this.m_cachebgImage = ((Component)this).createImage(var1.width, var1.height);
  60.             Graphics var2 = this.m_cachebgImage.getGraphics();
  61.             this.drawBackGround(var2);
  62.             return this.m_cachebgImage;
  63.          }
  64.       } else {
  65.          return null;
  66.       }
  67.    }
  68.  
  69.    protected abstract void listPaint(Graphics var1, Image var2);
  70.  
  71.    public void clearHightLighted() {
  72.       if (this.m_HighLightedEntry != null) {
  73.          this.m_HighLightedEntry.highLight(false);
  74.       }
  75.  
  76.       this.m_HighLightedEntry = null;
  77.    }
  78.  
  79.    protected void processEvent(AWTEvent var1) {
  80.       if (var1.getID() != 101 && var1.getID() != 102) {
  81.          if (var1.getID() == 500) {
  82.             this.m_nMouseX = ((MouseEvent)var1).getX();
  83.             this.m_nMouseY = ((MouseEvent)var1).getY();
  84.             this.procClicked();
  85.          } else if (var1.getID() == 503) {
  86.             this.m_nMouseX = ((MouseEvent)var1).getX();
  87.             this.m_nMouseY = ((MouseEvent)var1).getY();
  88.             this.procMoved();
  89.          } else {
  90.             if (var1.getID() == 1004) {
  91.                if (this.m_SelectedEntry == null) {
  92.                   int var2 = this.getTop();
  93.                   IEntry var3 = this.getEntryByPos(var2);
  94.                   if (var3 != null) {
  95.                      this.selectEntry(var2, var2, var3);
  96.                      return;
  97.                   }
  98.                }
  99.             } else if (var1.getID() == 401) {
  100.                if (this.m_SelectedEntry == null) {
  101.                   return;
  102.                }
  103.  
  104.                switch (((KeyEvent)var1).getKeyCode()) {
  105.                   case 10:
  106.                      if (this.m_SelectedEntry != null) {
  107.                         this.m_SelectedEntry.action(this);
  108.                         return;
  109.                      }
  110.                      break;
  111.                   case 33:
  112.                      int var12 = this.getTop();
  113.                      if (this.m_nSelectedPos != var12) {
  114.                         IEntry var22 = this.getEntryByPos(var12);
  115.                         this.selectEntry(var12, var12, var22);
  116.                         return;
  117.                      }
  118.  
  119.                      var12 = var12 - this.getVisible() + 1;
  120.                      if (var12 < 0) {
  121.                         var12 = 0;
  122.                      }
  123.  
  124.                      IEntry var21 = this.getEntryByPos(var12);
  125.                      this.setTop(var12);
  126.                      this.selectEntry(var12, var12, var21);
  127.                      return;
  128.                   case 34:
  129.                      int var10 = this.getTop();
  130.                      int var19 = var10 + this.getVisible() - 2;
  131.                      int var25 = this.getVerticalMax() - 1;
  132.                      if (var19 > var25) {
  133.                         var19 = var25;
  134.                      }
  135.  
  136.                      if (this.m_nSelectedPos != var19) {
  137.                         IEntry var28 = this.getEntryByPos(var19);
  138.                         this.selectEntry(var10, var19, var28);
  139.                         return;
  140.                      }
  141.  
  142.                      var10 = var10 + this.getVisible() - 1;
  143.                      if (var10 > var25 - this.getVisible() + 2) {
  144.                         var10 = var25 - this.getVisible() + 2;
  145.                      }
  146.  
  147.                      if (var10 > 0) {
  148.                         var19 = var10 + this.getVisible() - 2;
  149.                         IEntry var27 = this.getEntryByPos(var19);
  150.                         this.setTop(var10);
  151.                         this.selectEntry(var10, var19, var27);
  152.                         return;
  153.                      }
  154.                      break;
  155.                   case 35:
  156.                      int var9 = this.getVerticalMax() - 1;
  157.                      IEntry var18 = this.getEntryByPos(var9);
  158.                      if (var18 != null) {
  159.                         int var24 = var9 - this.getVisible() + 2;
  160.                         if (var24 > 0) {
  161.                            this.setTop(var24);
  162.                            this.selectEntry(var24, var9, var18);
  163.                            return;
  164.                         }
  165.  
  166.                         this.setTop(0);
  167.                         this.selectEntry(0, var9, var18);
  168.                         return;
  169.                      }
  170.                      break;
  171.                   case 36:
  172.                      IEntry var8 = this.getEntryByPos(0);
  173.                      if (var8 != null) {
  174.                         this.setTop(0);
  175.                         this.selectEntry(0, 0, var8);
  176.                         return;
  177.                      }
  178.                      break;
  179.                   case 38:
  180.                      int var7 = this.getTop();
  181.                      int var16 = this.m_nSelectedPos;
  182.                      byte var23 = 0;
  183.                      if (var16 > var23) {
  184.                         --var16;
  185.                         IEntry var26 = this.getEntryByPos(var16);
  186.                         if (var26 != null) {
  187.                            if (var16 < var7 || var16 > var7 + this.getVisible() - 2) {
  188.                               var7 = var16;
  189.                               this.setTop(var16);
  190.                            }
  191.  
  192.                            this.selectEntry(var7, var16, var26);
  193.                            return;
  194.                         }
  195.                      }
  196.                      break;
  197.                   case 40:
  198.                      int var6 = this.getTop();
  199.                      int var14 = this.m_nSelectedPos;
  200.                      int var4 = this.getVerticalMax() - 1;
  201.                      if (var14 < var4) {
  202.                         ++var14;
  203.                         IEntry var5 = this.getEntryByPos(var14);
  204.                         if (var5 != null) {
  205.                            if (var14 < var6 || var14 > var6 + this.getVisible() - 2) {
  206.                               var6 = var14 - this.getVisible() + 2;
  207.                               this.setTop(var6);
  208.                            }
  209.  
  210.                            this.selectEntry(var6, var14, var5);
  211.                            return;
  212.                         }
  213.                      }
  214.                }
  215.             }
  216.  
  217.          }
  218.       } else {
  219.          this.procResize();
  220.       }
  221.    }
  222.  
  223.    protected void selectEntry(int var1, int var2, IEntry var3) {
  224.       Graphics var4 = ((Component)this).getGraphics();
  225.       this.translate(var4);
  226.       if (this.m_SelectedEntry != null) {
  227.          this.m_SelectedEntry.select(false);
  228.          if (var4 != null && this.m_nSelectedPos - var1 >= 0) {
  229.             this.m_SelectedEntry.display(var4, this.m_nSelectedPos - var1, this.m_nUHeight, ((Component)this).getBackground(), this.m_imgbackground);
  230.          }
  231.       }
  232.  
  233.       if (var3 != null) {
  234.          var3.select(true);
  235.          if (var4 != null) {
  236.             ((Component)this).getFontMetrics(var4.getFont());
  237.             var3.display(var4, var2 - var1, this.m_nUHeight, ((Component)this).getBackground(), this.m_imgbackground);
  238.          }
  239.       }
  240.  
  241.       this.m_nSelectedPos = var2;
  242.       this.m_SelectedEntry = var3;
  243.       this.selectedEntry(this.m_SelectedEntry);
  244.    }
  245.  
  246.    public int getHorizontalPos() {
  247.       return this.m_sbHorizontal.getValue();
  248.    }
  249.  
  250.    public abstract void accept(Vector var1);
  251.  
  252.    public void setBgImage(Image var1) {
  253.       this.m_bgImage = var1;
  254.       this.m_nbgHeight = this.m_bgImage.getHeight(this);
  255.       this.m_nbgWidth = this.m_bgImage.getWidth(this);
  256.    }
  257.  
  258.    public void dispatchToDo(String var1) {
  259.       if (var1 == "repaint") {
  260.          ((Component)this).repaint();
  261.       }
  262.  
  263.    }
  264.  
  265.    public void update(Graphics var1) {
  266.       this.paint(var1);
  267.    }
  268.  
  269.    public void drawBackGround(Graphics var1) {
  270.       if (this.m_nbgWidth > 0 && this.m_nbgHeight > 0 && this.m_bgImage != null) {
  271.          Rectangle var5 = ((Component)this).getBounds();
  272.  
  273.          for(int var6 = 0; var6 <= (var5.width - 1) / this.m_nbgWidth; ++var6) {
  274.             for(int var7 = 0; var7 <= (var5.height - 1) / this.m_nbgHeight; ++var7) {
  275.                if (!var1.drawImage(this.m_bgImage, var6 * this.m_nbgWidth, var7 * this.m_nbgHeight, this.m_nbgWidth, this.m_nbgHeight, (ImageObserver)null)) {
  276.                   this.setTimeout("repaint", 100);
  277.                   return;
  278.                }
  279.             }
  280.          }
  281.  
  282.          if (this.m_bBgUpdated) {
  283.             this.m_bBgUpdated = false;
  284.             return;
  285.          }
  286.       } else {
  287.          Color var2 = var1.getColor();
  288.          Color var3 = ((Component)this).getBackground();
  289.          var1.setColor(var3);
  290.          Rectangle var4 = ((Component)this).getBounds();
  291.          var1.fillRect(0, 0, var4.width, var4.height);
  292.          var1.setColor(var2);
  293.       }
  294.  
  295.    }
  296.  
  297.    public boolean imageUpdate(Image var1, int var2, int var3, int var4, int var5, int var6) {
  298.       if (var1 == this.m_bgImage) {
  299.          this.m_nbgWidth = var5;
  300.          this.m_nbgHeight = var6;
  301.          this.m_bBgUpdated = true;
  302.          ((Component)this).repaint();
  303.          return false;
  304.       } else {
  305.          return true;
  306.       }
  307.    }
  308.  
  309.    public void active() {
  310.       if (this.m_SelectedEntry != null) {
  311.          this.m_SelectedEntry.action(this);
  312.       }
  313.  
  314.    }
  315.  
  316.    public void setHorizontalMax(int var1) {
  317.       var1 += 16;
  318.       if (var1 <= this.m_nHVisible) {
  319.          int var2 = this.m_sbHorizontal.getValue();
  320.          this.m_sbHorizontal.setValues(var2, this.m_nHVisible - 1, 0, var1);
  321.          if (!this.m_sbVertical.isVisible()) {
  322.             this.m_btnScrollerCorner.setVisible(false);
  323.          }
  324.  
  325.          this.m_sbHorizontal.setVisible(false);
  326.          if (var2 != this.m_sbHorizontal.getValue()) {
  327.             ((Component)this).repaint();
  328.             return;
  329.          }
  330.       } else {
  331.          this.m_sbHorizontal.setValues(this.m_sbHorizontal.getValue(), this.m_nHVisible - 1, 0, var1);
  332.          if (!this.m_sbVertical.isVisible()) {
  333.             this.m_btnScrollerCorner.setVisible(true);
  334.          }
  335.  
  336.          this.m_sbHorizontal.setVisible(true);
  337.       }
  338.  
  339.    }
  340.  
  341.    public int getUnitHeight() {
  342.       return this.m_nUHeight;
  343.    }
  344.  
  345.    public void setUnitHeight(int var1) {
  346.       if (var1 > 0) {
  347.          this.m_nUHeight = var1;
  348.          this.m_sbHorizontal.setUnitIncrement(this.m_nUHeight);
  349.       }
  350.  
  351.    }
  352.  
  353.    private void translateBack(Graphics var1) {
  354.       int var2 = this.getHorizontalPos();
  355.       var1.translate(var2 - 4, -2);
  356.    }
  357.  
  358.    public final void setTimeout(String var1, int var2) {
  359.       ToDo var3 = new ToDo(this, var1, var2);
  360.       synchronized(this.m_vToDo){}
  361.  
  362.       try {
  363.          this.m_vToDo.addElement(var3);
  364.       } catch (Throwable var8) {
  365.          throw var8;
  366.       }
  367.  
  368.       Thread var4 = new Thread(this);
  369.       var4.start();
  370.    }
  371.  
  372.    public void doLayout() {
  373.       this.m_sbVertical.setBounds(((Component)this).getBounds().width - 16, 0, 16, ((Component)this).getBounds().height - 16);
  374.       this.m_sbHorizontal.setBounds(0, ((Component)this).getBounds().height - 16, ((Component)this).getBounds().width - 16, 16);
  375.       this.m_btnScrollerCorner.setBounds(((Component)this).getBounds().width - 16, ((Component)this).getBounds().height - 16, 16, 16);
  376.       this.m_nVisible = ((Component)this).getBounds().height / this.m_nUHeight;
  377.       if (this.m_sbVertical.getBlockIncrement() != this.m_nVisible - 1 && this.m_nVisible - 1 > 0) {
  378.          this.m_sbVertical.setBlockIncrement(this.m_nVisible - 1);
  379.       }
  380.  
  381.       if (this.m_sbVertical.getVisibleAmount() != this.m_nVisible - 1) {
  382.          this.m_sbVertical.setVisibleAmount(this.m_nVisible - 1);
  383.          if (this.m_sbVertical.getMaximum() < this.m_nVisible) {
  384.             if (!this.m_sbHorizontal.isVisible()) {
  385.                this.m_btnScrollerCorner.setVisible(false);
  386.             }
  387.  
  388.             this.m_sbVertical.setVisible(false);
  389.          } else {
  390.             if (!this.m_sbHorizontal.isVisible()) {
  391.                this.m_btnScrollerCorner.setVisible(true);
  392.             }
  393.  
  394.             this.m_sbVertical.setVisible(true);
  395.          }
  396.       }
  397.  
  398.       this.m_nHVisible = ((Component)this).getBounds().width;
  399.       if (this.m_sbHorizontal.getBlockIncrement() != this.m_nHVisible - 1 && this.m_nHVisible - 1 > 0) {
  400.          this.m_sbHorizontal.setBlockIncrement(this.m_nHVisible - 1);
  401.       }
  402.  
  403.       if (this.m_sbHorizontal.getVisibleAmount() != this.m_nHVisible - 1) {
  404.          this.m_sbHorizontal.setVisibleAmount(this.m_nHVisible - 1);
  405.          if (this.m_sbHorizontal.getMaximum() < this.m_nHVisible) {
  406.             if (!this.m_sbVertical.isVisible()) {
  407.                this.m_btnScrollerCorner.setVisible(false);
  408.             }
  409.  
  410.             this.m_sbHorizontal.setVisible(false);
  411.             return;
  412.          }
  413.  
  414.          if (!this.m_sbVertical.isVisible()) {
  415.             this.m_btnScrollerCorner.setVisible(true);
  416.          }
  417.  
  418.          this.m_sbHorizontal.setVisible(true);
  419.       }
  420.  
  421.    }
  422.  
  423.    protected void selectedEntry(IEntry var1) {
  424.    }
  425.  
  426.    public boolean isFocusTraversable() {
  427.       return true;
  428.    }
  429.  
  430.    public void adjustmentValueChanged(AdjustmentEvent var1) {
  431.       if (((AWTEvent)var1).getID() == 601) {
  432.          this.procScroll();
  433.       }
  434.  
  435.    }
  436.  
  437.    protected void procClicked() {
  438.       if (this.m_nUHeight != 0) {
  439.          int var1 = this.m_sbVertical.getValue();
  440.          int var2 = this.m_nMouseY / this.m_nUHeight;
  441.          int var3 = var1 + var2;
  442.          IEntry var4 = this.getEntryByPos(var3);
  443.          if (var4 != this.m_SelectedEntry) {
  444.             this.selectEntry(var1, var3, var4);
  445.          }
  446.  
  447.          if (var4 != null) {
  448.             var4.action(this);
  449.          }
  450.       }
  451.  
  452.    }
  453.  
  454.    public ListView() {
  455.       this.m_sbHorizontal.setBackground(new Color(192, 192, 192));
  456.       ((Container)this).add(this.m_sbHorizontal);
  457.       this.m_sbVertical.setBackground(new Color(192, 192, 192));
  458.       ((Container)this).add(this.m_sbVertical);
  459.       this.m_btnScrollerCorner = new Button();
  460.       this.m_btnScrollerCorner.setEnabled(false);
  461.       ((Container)this).add(this.m_btnScrollerCorner);
  462.       ((Component)this).enableEvents(61L);
  463.       this.m_sbVertical.addAdjustmentListener(this);
  464.       this.m_sbHorizontal.addAdjustmentListener(this);
  465.       this.m_nVisible = 0;
  466.       this.m_nHVisible = 0;
  467.       this.m_vToDo = new Vector();
  468.       this.setUnitHeight(16);
  469.       this.m_nbgWidth = -1;
  470.       this.m_nbgHeight = -1;
  471.       this.m_bgImage = null;
  472.    }
  473.  
  474.    protected void procMoved() {
  475.       if (this.m_nUHeight != 0) {
  476.          int var1 = this.m_sbVertical.getValue();
  477.          int var2 = this.m_nMouseY / this.m_nUHeight;
  478.          int var3 = var1 + var2;
  479.          IEntry var4 = this.getEntryByPos(var3);
  480.          if (var4 != this.m_HighLightedEntry) {
  481.             this.highLightEntry(var1, var3, var4);
  482.          }
  483.       }
  484.  
  485.    }
  486.  
  487.    private void translate(Graphics var1) {
  488.       int var2 = this.getHorizontalPos();
  489.       var1.translate(-var2 + 4, 2);
  490.    }
  491.  
  492.    public void paint(Graphics var1) {
  493.       Rectangle var2 = ((Component)this).getBounds();
  494.       if (this.m_sbVertical.isVisible()) {
  495.          var2.width -= 16;
  496.       }
  497.  
  498.       Image var3 = ((Component)this).createImage(var2.width, var2.height);
  499.       Graphics var4 = var3.getGraphics();
  500.       this.m_imgbackground = this.getBackgroundImage();
  501.       if (this.m_imgbackground != null) {
  502.          var4.drawImage(this.m_imgbackground, 0, 0, this);
  503.       }
  504.  
  505.       this.translate(var4);
  506.       this.listPaint(var4, this.m_imgbackground);
  507.       this.translateBack(var4);
  508.       this.paintBorder(var4, var2);
  509.       var1.drawImage(var3, 0, 0, this);
  510.    }
  511.  
  512.    public int getVisible() {
  513.       return this.m_nVisible;
  514.    }
  515.  
  516.    public int getTop() {
  517.       return this.m_sbVertical.getValue();
  518.    }
  519.  
  520.    public void setTop(int var1) {
  521.       this.m_sbVertical.setValue(var1);
  522.       this.procScroll();
  523.    }
  524.  
  525.    protected abstract IEntry getEntryByPos(int var1);
  526.  
  527.    protected void highLightEntry(int var1, int var2, IEntry var3) {
  528.       Graphics var4 = ((Component)this).getGraphics();
  529.       this.translate(var4);
  530.       if (this.m_HighLightedEntry != null) {
  531.          this.m_HighLightedEntry.highLight(false);
  532.          if (var4 != null) {
  533.             this.m_HighLightedEntry.display(var4, this.m_nHighLightedPos - var1, this.m_nUHeight, ((Component)this).getBackground(), this.m_imgbackground);
  534.          }
  535.       }
  536.  
  537.       if (var3 != null) {
  538.          var3.highLight(true);
  539.          if (var4 != null) {
  540.             var3.display(var4, var2 - var1, this.m_nUHeight, ((Component)this).getBackground(), this.m_imgbackground);
  541.          }
  542.       }
  543.  
  544.       this.m_HighLightedEntry = var3;
  545.       this.m_nHighLightedPos = var2;
  546.    }
  547.  
  548.    public void setVerticalMax(int var1) {
  549.       this.m_sbVertical.setValues(this.m_sbVertical.getValue(), this.m_nVisible - 1, 0, var1);
  550.       if (var1 <= this.m_nVisible) {
  551.          if (!this.m_sbHorizontal.isVisible()) {
  552.             this.m_btnScrollerCorner.setVisible(false);
  553.          }
  554.  
  555.          this.m_sbVertical.setVisible(false);
  556.       } else {
  557.          if (!this.m_sbHorizontal.isVisible()) {
  558.             this.m_btnScrollerCorner.setVisible(true);
  559.          }
  560.  
  561.          this.m_sbVertical.setVisible(true);
  562.       }
  563.    }
  564.  
  565.    public int getVerticalMax() {
  566.       return this.m_sbVertical.getMaximum();
  567.    }
  568.  
  569.    protected void paintBorder(Graphics var1, Rectangle var2) {
  570.       Color var3 = var1.getColor();
  571.       Color var4 = ((Component)this).getBackground();
  572.       Color var5 = var4.darker();
  573.       Color var6 = var5.darker();
  574.       Color var7 = var6.darker();
  575.       var1.setColor(var6);
  576.       var1.drawLine(0, 0, var2.width - 1, 0);
  577.       var1.drawLine(0, 0, 0, var2.height - 1);
  578.       var1.setColor(var7);
  579.       var1.drawLine(1, 1, var2.width - 2, 1);
  580.       var1.drawLine(1, 1, 1, var2.height - 2);
  581.       var1.setColor(var5);
  582.       var1.drawLine(var2.width - 2, 1, var2.width - 2, var2.height - 2);
  583.       var1.drawLine(1, var2.height - 2, var2.width - 2, var2.height - 2);
  584.       var1.setColor(var4);
  585.       var1.drawLine(var2.width - 1, 1, var2.width - 1, var2.height - 1);
  586.       var1.drawLine(0, var2.height - 1, var2.width - 1, var2.height - 1);
  587.       var1.setColor(var3);
  588.    }
  589.  
  590.    protected void procScroll() {
  591.       ((Component)this).repaint();
  592.    }
  593.  
  594.    public Dimension getPreferredSize() {
  595.       return ((Component)this).getParent().getSize();
  596.    }
  597.  
  598.    public void run() {
  599.       synchronized(this.m_vToDo){}
  600.  
  601.       ToDo var1;
  602.       try {
  603.          var1 = (ToDo)this.m_vToDo.elementAt(0);
  604.          this.m_vToDo.removeElementAt(0);
  605.       } catch (Throwable var8) {
  606.          throw var8;
  607.       }
  608.  
  609.       try {
  610.          Thread.sleep((long)var1.m_nMSec);
  611.          this.dispatchToDo(var1.m_sToDo);
  612.       } catch (InterruptedException var7) {
  613.          ((Throwable)var7).printStackTrace();
  614.       }
  615.    }
  616.  
  617.    public void clearSelected() {
  618.       if (this.m_SelectedEntry != null) {
  619.          this.m_SelectedEntry.select(false);
  620.       }
  621.  
  622.       this.m_SelectedEntry = null;
  623.       this.selectedEntry(this.m_SelectedEntry);
  624.    }
  625. }
  626.