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

  1. package XMLConsumer;
  2.  
  3. import hhapplet.BsscFontFixPatch;
  4. import hhapplet.IActionSink;
  5. import java.awt.Color;
  6. import java.awt.Font;
  7. import java.awt.FontMetrics;
  8. import java.awt.Graphics;
  9. import java.awt.Image;
  10. import java.awt.image.ImageObserver;
  11. import java.util.Vector;
  12.  
  13. public class GlossaryEntry implements IEntry {
  14.    private String m_name;
  15.    private String m_value;
  16.    private boolean m_bSelect;
  17.    private boolean m_bHighLight;
  18.    private IdxData m_IdxData;
  19.    private static Color GREEN = new Color(0, 127, 0);
  20.    private static final int GLO_INDENT = 2;
  21.    private static Color m_activeColor;
  22.    private static int m_indent;
  23.    private static Font m_normalFont;
  24.    private static Font m_hoverFont;
  25.    private static Color m_normalColor;
  26.    private static Color m_hoverColor;
  27.    private static boolean m_normalUnderline;
  28.    private static boolean m_hoverUnderline;
  29.  
  30.    public int getPrevSpan() {
  31.       return 0;
  32.    }
  33.  
  34.    public static void setHoverUnderline(boolean var0) {
  35.       m_hoverUnderline = var0;
  36.    }
  37.  
  38.    public boolean isMainEntry() {
  39.       return true;
  40.    }
  41.  
  42.    public static void setNormalColor(Color var0) {
  43.       m_normalColor = var0;
  44.    }
  45.  
  46.    public static void setHoverFont(Font var0) {
  47.       if (var0.getSize() != m_normalFont.getSize()) {
  48.          m_hoverFont = new Font(var0.getFamily(), var0.getStyle(), m_normalFont.getSize());
  49.       } else {
  50.          m_hoverFont = var0;
  51.       }
  52.    }
  53.  
  54.    public GlossaryEntry(String var1, String var2) {
  55.       this.m_name = var1;
  56.       this.m_bHighLight = false;
  57.       this.m_bSelect = false;
  58.       this.m_value = var2;
  59.    }
  60.  
  61.    public void select(boolean var1) {
  62.       this.m_bSelect = var1;
  63.    }
  64.  
  65.    public static void setNormalFont(Font var0) {
  66.       m_normalFont = var0;
  67.    }
  68.  
  69.    public static void setNormalUnderline(boolean var0) {
  70.       m_normalUnderline = var0;
  71.    }
  72.  
  73.    public static void setActiveColor(Color var0) {
  74.       m_activeColor = var0;
  75.    }
  76.  
  77.    static {
  78.       m_activeColor = Color.gray;
  79.       m_indent = 2;
  80.       m_normalFont = new Font(BsscFontFixPatch.GetFontName(), 0, BsscFontFixPatch.GetFontSize());
  81.       m_hoverFont = new Font(BsscFontFixPatch.GetFontName(), 0, BsscFontFixPatch.GetFontSize());
  82.       m_normalColor = Color.black;
  83.       m_hoverColor = GREEN;
  84.       m_normalUnderline = false;
  85.       m_hoverUnderline = true;
  86.    }
  87.  
  88.    public String getName() {
  89.       return this.m_name;
  90.    }
  91.  
  92.    public void highLight(boolean var1) {
  93.       this.m_bHighLight = var1;
  94.    }
  95.  
  96.    public void action(IActionSink var1) {
  97.       Vector var2 = new Vector();
  98.       var2.addElement(this.m_name);
  99.       var2.addElement(this.m_value);
  100.       var1.accept(var2);
  101.    }
  102.  
  103.    public int getNextSpan() {
  104.       return 0;
  105.    }
  106.  
  107.    public void display(Graphics var1, int var2, int var3, Color var4, Image var5) {
  108.       FontMetrics var6 = var1.getFontMetrics(m_normalFont);
  109.       FontMetrics var7 = var1.getFontMetrics(m_hoverFont);
  110.       Color var8 = var1.getColor();
  111.       int var9 = var6.stringWidth(this.m_name + " ");
  112.       int var10 = var7.stringWidth(this.m_name + " ");
  113.       var9 = var9 > var10 ? var9 : var10;
  114.       int var11 = var6.getAscent();
  115.       int var12 = var6.getLeading();
  116.       int var13 = var7.getAscent();
  117.       int var14 = var7.getLeading();
  118.       if (this.m_bSelect) {
  119.          var1.setColor(m_activeColor);
  120.          var1.fill3DRect(m_indent, var2 * var3, var9, var3, true);
  121.       } else if (var5 != null) {
  122.          var1.drawImage(var5, m_indent, var2 * var3, m_indent + var9, var2 * var3 + var3, m_indent, var2 * var3, m_indent + var9, var2 * var3 + var3, (ImageObserver)null);
  123.       } else {
  124.          var1.setColor(var4);
  125.          var1.fillRect(m_indent, var2 * var3, var9, var3);
  126.       }
  127.  
  128.       var1.setColor(var8);
  129.       Font var15 = var1.getFont();
  130.       if (this.m_bHighLight) {
  131.          var1.setFont(m_hoverFont);
  132.          var1.setColor(m_hoverColor);
  133.          var1.drawString(this.m_name, m_indent, var2 * var3 + var13 + var14);
  134.          if (m_hoverUnderline) {
  135.             var1.drawLine(m_indent, (var2 + 1) * var3 - 1, m_indent + var9 - 1, (var2 + 1) * var3 - 1);
  136.          }
  137.  
  138.          var1.setFont(var15);
  139.          var1.setColor(var8);
  140.       } else {
  141.          var1.setFont(m_normalFont);
  142.          var1.setColor(m_normalColor);
  143.          var1.drawString(this.m_name, m_indent, var2 * var3 + var11 + var12);
  144.          if (m_normalUnderline) {
  145.             var1.drawLine(m_indent, (var2 + 1) * var3 - 1, m_indent + var9 - 1, (var2 + 1) * var3 - 1);
  146.          }
  147.  
  148.          var1.setFont(var15);
  149.          var1.setColor(var8);
  150.       }
  151.    }
  152.  
  153.    public static void setIndent(int var0) {
  154.       m_indent = var0;
  155.    }
  156.  
  157.    public int getWidth(Graphics var1) {
  158.       FontMetrics var2 = var1.getFontMetrics(m_normalFont);
  159.       int var3 = var2.stringWidth(this.m_name + " ");
  160.       return m_indent + var3 + 1;
  161.    }
  162.  
  163.    public static void setHoverColor(Color var0) {
  164.       m_hoverColor = var0;
  165.    }
  166. }
  167.