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

  1. package hhapplet;
  2.  
  3. import XMLConsumer.Consumer;
  4. import XMLConsumer.Idx;
  5. import XMLConsumer.IdxEntry;
  6. import XMLConsumer.Project;
  7. import java.awt.BorderLayout;
  8. import java.awt.Button;
  9. import java.awt.Color;
  10. import java.awt.Component;
  11. import java.awt.Container;
  12. import java.awt.Dimension;
  13. import java.awt.Font;
  14. import java.awt.FontMetrics;
  15. import java.awt.Image;
  16. import java.awt.LayoutManager;
  17. import java.awt.TextField;
  18. import java.awt.event.ActionEvent;
  19. import java.awt.event.ActionListener;
  20. import java.awt.event.TextEvent;
  21. import java.awt.event.TextListener;
  22. import java.util.Enumeration;
  23. import java.util.EventObject;
  24. import java.util.Vector;
  25.  
  26. public class IndexView extends BsscImagePanel implements Runnable, TextListener, ActionListener {
  27.    private TextField m_tfEdit;
  28.    private Button m_btnDisplay;
  29.    private Vector m_vProjects;
  30.    private Vector m_vIdx;
  31.    private IndexListView m_list;
  32.    int m_bResearch = 1;
  33.    private Object m_Cursor = null;
  34.    private LayoutManager m_layout;
  35.  
  36.    public IndexView(Vector var1, IndexViewSkin var2) {
  37.       this.m_vProjects = var1;
  38.       this.m_tfEdit = new TextField();
  39.       this.m_btnDisplay = new Button(ResourceLib.GetRes("Display"));
  40.       BsscImagePanel var3 = new BsscImagePanel();
  41.       BsscImageLabel var4 = new BsscImageLabel(ResourceLib.GetRes("IndexInputPrompt"));
  42.       this.m_vIdx = new Vector();
  43.       this.loadIdxInfo();
  44.       this.m_list = new IndexListView(this.m_vIdx);
  45.       Color var5 = ((ViewSkin)var2).getBgColor();
  46.       if (var5 != null) {
  47.          this.m_list.setBackground(var5);
  48.       } else {
  49.          this.m_list.setBackground(Color.white);
  50.       }
  51.  
  52.       Image var6 = ((ViewSkin)var2).getBgImage();
  53.       if (var6 != null) {
  54.          this.m_list.setBgImage(var6);
  55.       }
  56.  
  57.       BsscFont var7 = ((ViewSkin)var2).getNormalFont();
  58.       if (var7 != null) {
  59.          Font var8 = var7.getFont();
  60.          FontMetrics var9 = ((Component)this).getFontMetrics(var8);
  61.          var9.getHeight();
  62.          this.m_list.setUnitHeight(var9.getHeight());
  63.          Font var10 = var7.getFont();
  64.          if (var10 != null) {
  65.             IdxEntry.setNormalFont(var10);
  66.          }
  67.  
  68.          Color var11 = var7.getColor();
  69.          if (var11 != null) {
  70.             IdxEntry.setNormalColor(var11);
  71.          }
  72.  
  73.          IdxEntry.setNormalUnderline(var7.isUnderline());
  74.       }
  75.  
  76.       BsscFont var12 = ((ViewSkin)var2).getHoverFont();
  77.       if (var12 != null) {
  78.          Font var13 = var12.getFont();
  79.          if (var13 != null) {
  80.             IdxEntry.setHoverFont(var13);
  81.          }
  82.  
  83.          Color var15 = var12.getColor();
  84.          if (var15 != null) {
  85.             IdxEntry.setHoverColor(var15);
  86.          }
  87.  
  88.          IdxEntry.setHoverUnderline(var12.isUnderline());
  89.       }
  90.  
  91.       IdxEntry.setActiveColor(((ViewSkin)var2).getActiveColor());
  92.       ((Container)var3).setLayout(new BorderLayout(0, 0));
  93.       ((Container)var3).add("North", var4);
  94.       ((Container)var3).add("Center", this.m_tfEdit);
  95.       this.m_tfEdit.setBackground(Color.white);
  96.       this.m_tfEdit.addTextListener(this);
  97.       this.m_tfEdit.addActionListener(this);
  98.       ((Container)this).setLayout(new BorderLayout(2, 2));
  99.       int var14 = BsscFontFixPatch.GetFontSize();
  100.       this.m_list.setFont(new Font(BsscFontFixPatch.GetFontName(), 0, var14));
  101.       this.m_tfEdit.setFont(new Font(BsscFontFixPatch.GetFontName(), 0, var14));
  102.       this.m_btnDisplay.setFont(new Font(BsscFontFixPatch.GetFontName(), 0, var14));
  103.       ((Container)this).add("North", var3);
  104.       ((Container)this).add("Center", this.m_list);
  105.       ((Container)this).add("South", this.m_btnDisplay);
  106.       this.m_btnDisplay.addActionListener(this);
  107.       this.m_tfEdit.requestFocus();
  108.    }
  109.  
  110.    public void actionPerformed(ActionEvent var1) {
  111.       if (((EventObject)var1).getSource() == this.m_tfEdit || ((EventObject)var1).getSource() == this.m_btnDisplay) {
  112.          this.m_list.active();
  113.       }
  114.  
  115.    }
  116.  
  117.    public Dimension getPreferredSize() {
  118.       return ((Component)this).getParent().getSize();
  119.    }
  120.  
  121.    public void run() {
  122.    }
  123.  
  124.    public void textValueChanged(TextEvent var1) {
  125.       if (((EventObject)var1).getSource() == this.m_tfEdit) {
  126.          String var2 = this.m_tfEdit.getText();
  127.          this.m_list.findAndSelect(var2);
  128.       }
  129.  
  130.    }
  131.  
  132.    public void loadIdxInfo() {
  133.       try {
  134.          if (this.m_vProjects != null && this.m_vProjects.size() > 0) {
  135.             String var1 = null;
  136.             Enumeration var2 = this.m_vProjects.elements();
  137.  
  138.             while(var2.hasMoreElements()) {
  139.                Object var3 = var2.nextElement();
  140.                if (var3 instanceof Project) {
  141.                   if (var1 == null) {
  142.                      var1 = ((Project)var3).getLangId();
  143.                   } else if (!var1.equals(((Project)var3).getLangId())) {
  144.                      continue;
  145.                   }
  146.  
  147.                   Idx var4 = ((Project)var3).getIdx();
  148.                   if (var4 != null) {
  149.                      ((Consumer)var4).process();
  150.                      this.m_vIdx.addElement(var4);
  151.                   }
  152.                }
  153.             }
  154.  
  155.             return;
  156.          }
  157.       } catch (Exception var5) {
  158.          ((Throwable)var5).printStackTrace();
  159.       }
  160.  
  161.    }
  162. }
  163.