home *** CD-ROM | disk | FTP | other *** search
- package XMLConsumer;
-
- import hhapplet.BsscFontFixPatch;
- import hhapplet.IActionSink;
- import hhapplet.URLFileHandler;
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.image.ImageObserver;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.Vector;
-
- public class FtsEntry extends Topic implements IEntry, Cloneable {
- private static Color GREEN = new Color(0, 127, 0);
- private static final int FTS_INDENT = 2;
- private FtsTData m_FtsData;
- private boolean m_bSelect;
- private boolean m_bHighLight;
- private static int m_indent = 2;
- private static Color m_activeColor;
- private static Font m_normalFont;
- private static Font m_hoverFont;
- private static Color m_normalColor;
- private static Color m_hoverColor;
- private static boolean m_normalUnderline;
- private static boolean m_hoverUnderline;
-
- public boolean equalTo(FtsEntry var1) {
- return ((Topic)this).getName().equals(((Topic)var1).getName()) && var1.getFullURL().equals(this.getFullURL());
- }
-
- public int getPrevSpan() {
- return 0;
- }
-
- public static void setHoverUnderline(boolean var0) {
- m_hoverUnderline = var0;
- }
-
- public boolean isMainEntry() {
- return true;
- }
-
- public static void setNormalColor(Color var0) {
- m_normalColor = var0;
- }
-
- public static void setHoverFont(Font var0) {
- if (var0.getSize() != m_normalFont.getSize()) {
- m_hoverFont = new Font(var0.getFamily(), var0.getStyle(), m_normalFont.getSize());
- } else {
- m_hoverFont = var0;
- }
- }
-
- public FtsEntry(String var1, String var2, FtsTData var3) {
- super(var1, var2);
- this.m_FtsData = var3;
- }
-
- private URL getFullURL() {
- URL var1 = null;
-
- try {
- var1 = URLFileHandler.makeURL(this.m_FtsData.getProjURL(), ((Topic)this).getURL(), (String)null);
- } catch (MalformedURLException var3) {
- ((Throwable)var3).printStackTrace();
- }
-
- return var1;
- }
-
- public void select(boolean var1) {
- this.m_bSelect = var1;
- }
-
- public void copyFrom(FtsEntry var1) {
- super.copyFrom(var1);
- this.m_FtsData = var1.m_FtsData;
- }
-
- public static void setNormalFont(Font var0) {
- m_normalFont = var0;
- }
-
- public static void setNormalUnderline(boolean var0) {
- m_normalUnderline = var0;
- }
-
- public static void setActiveColor(Color var0) {
- m_activeColor = var0;
- }
-
- static {
- m_activeColor = Color.gray;
- m_normalFont = new Font(BsscFontFixPatch.GetFontName(), 0, BsscFontFixPatch.GetFontSize());
- m_hoverFont = new Font(BsscFontFixPatch.GetFontName(), 0, BsscFontFixPatch.GetFontSize());
- m_normalColor = Color.black;
- m_hoverColor = GREEN;
- m_normalUnderline = false;
- m_hoverUnderline = true;
- }
-
- public void highLight(boolean var1) {
- this.m_bHighLight = var1;
- }
-
- public void action(IActionSink var1) {
- URL var2 = this.getFullURL();
- Vector var3 = new Vector();
- var3.addElement(var2);
- var1.accept(var3);
- }
-
- public int getNextSpan() {
- return 0;
- }
-
- public void display(Graphics var1, int var2, int var3, Color var4, Image var5) {
- Color var6 = var1.getColor();
- FontMetrics var7 = var1.getFontMetrics(m_normalFont);
- FontMetrics var8 = var1.getFontMetrics(m_hoverFont);
- int var9 = var7.stringWidth(((Topic)this).getName() + " ");
- int var10 = var8.stringWidth(((Topic)this).getName() + " ");
- var9 = var9 > var10 ? var9 : var10;
- int var11 = var7.getAscent();
- int var12 = var7.getLeading();
- int var13 = var8.getAscent();
- int var14 = var8.getLeading();
- if (this.m_bSelect) {
- var1.setColor(m_activeColor);
- var1.fill3DRect(m_indent, var2 * var3, var9, var3, true);
- } else if (var5 != null) {
- var1.drawImage(var5, m_indent, var2 * var3, 2 + var9, var2 * var3 + var3, m_indent, var2 * var3, m_indent + var9, var2 * var3 + var3, (ImageObserver)null);
- } else {
- var1.setColor(var4);
- var1.fillRect(m_indent, var2 * var3, var9, var3);
- }
-
- var1.setColor(var6);
- Font var15 = var1.getFont();
- if (this.m_bHighLight) {
- var1.setColor(m_hoverColor);
- var1.setFont(m_hoverFont);
- var1.drawString(((Topic)this).getName(), m_indent, var2 * var3 + var13 + var14);
- if (m_hoverUnderline) {
- var1.drawLine(m_indent, (var2 + 1) * var3 - 1, m_indent + var9 - 1, (var2 + 1) * var3 - 1);
- }
-
- var1.setColor(var6);
- var1.setFont(var15);
- } else {
- var1.setColor(m_normalColor);
- var1.setFont(m_normalFont);
- var1.drawString(((Topic)this).getName(), m_indent, var2 * var3 + var11 + var12);
- if (m_normalUnderline) {
- var1.drawLine(m_indent, (var2 + 1) * var3 - 1, m_indent + var9 - 1, (var2 + 1) * var3 - 1);
- }
-
- var1.setColor(var6);
- var1.setFont(var15);
- }
- }
-
- public static void setIndent(int var0) {
- m_indent = var0;
- }
-
- public int getWidth(Graphics var1) {
- FontMetrics var2 = var1.getFontMetrics(m_normalFont);
- int var3 = var2.stringWidth(((Topic)this).getName() + " ");
- return m_indent + var3 + 1;
- }
-
- public FtsEntry cloneEntry() {
- FtsEntry var1 = null;
-
- try {
- var1 = (FtsEntry)this.clone();
- } catch (CloneNotSupportedException var3) {
- ((Throwable)var3).printStackTrace();
- }
-
- return var1;
- }
-
- public static void setHoverColor(Color var0) {
- m_hoverColor = var0;
- }
- }
-