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

  1. package hhapplet;
  2.  
  3. import BsscXML.IBsscXMLElementReader;
  4. import java.awt.Color;
  5. import java.awt.Image;
  6.  
  7. public class ViewSkin {
  8.    private Image m_imageBg;
  9.    private Color m_colorBg;
  10.    private BsscFont m_fontNormal;
  11.    private BsscFont m_fontHover;
  12.    private Color m_colorActiveBg;
  13.    private static Color GREEN = new Color(0, 127, 0);
  14.    private int m_nIndent;
  15.    private int m_nMargin;
  16.    public static Color m_PaneColorBg = null;
  17.    public static Image m_PaneImageBg = null;
  18.    public static BsscFont m_PaneFont = null;
  19.  
  20.    public void loadFromDom(IBsscXMLElementReader var1) {
  21.       int var2 = 0;
  22.  
  23.       while(true) {
  24.          IBsscXMLElementReader var3 = var1.getChild(var2++);
  25.          if (var3 == null) {
  26.             return;
  27.          }
  28.  
  29.          if (var3.getName().equals("background")) {
  30.             String var11 = var3.getAttribute("color");
  31.             Color var15 = getColor(var11);
  32.             if (var15 != null) {
  33.                this.m_colorBg = var15;
  34.             }
  35.  
  36.             String var17 = var3.getAttribute("img");
  37.             Image var7 = getImage(var17);
  38.             if (var7 != null) {
  39.                this.m_imageBg = var7;
  40.             }
  41.          } else if (var3.getName().equals("fonts")) {
  42.             int var10 = 0;
  43.  
  44.             while(true) {
  45.                IBsscXMLElementReader var14 = var3.getChild(var10++);
  46.                if (var14 == null) {
  47.                   break;
  48.                }
  49.  
  50.                if (var14.getName().equals("normal")) {
  51.                   BsscFont var6 = getFont(var14);
  52.                   if (var6 != null) {
  53.                      this.m_fontNormal = var6;
  54.                   }
  55.                } else if (var14.getName().equals("hover")) {
  56.                   BsscFont var16 = getFont(var14);
  57.                   if (var16 != null) {
  58.                      this.m_fontHover = var16;
  59.                   }
  60.                }
  61.             }
  62.          } else if (var3.getName().equals("margin")) {
  63.             String var4 = var3.getAttribute("attr");
  64.             int var5 = this.getSize(var4);
  65.             if (var5 >= 0) {
  66.                this.m_nMargin = var5;
  67.             }
  68.          } else if (var3.getName().equals("indent")) {
  69.             String var8 = var3.getAttribute("attr");
  70.             int var12 = this.getSize(var8);
  71.             if (var12 >= 0) {
  72.                this.m_nIndent = var12;
  73.             }
  74.          } else if (var3.getName().equals("activebackgroundcolor")) {
  75.             String var9 = var3.getAttribute("attr");
  76.             Color var13 = getColor(var9);
  77.             if (var13 != null) {
  78.                this.m_colorActiveBg = var13;
  79.             }
  80.          }
  81.       }
  82.    }
  83.  
  84.    public ViewSkin() {
  85.       this.m_imageBg = null;
  86.       this.m_colorBg = new Color(255, 255, 255);
  87.       this.m_fontNormal = new BsscFont(BsscFontFixPatch.GetFontName(), BsscFontFixPatch.GetFontSize() + "pt", "normal", "normal", Color.black, "none");
  88.       this.m_fontHover = new BsscFont(BsscFontFixPatch.GetFontName(), BsscFontFixPatch.GetFontSize() + "pt", "normal", "normal", GREEN, "underline");
  89.       this.m_colorActiveBg = new Color(204, 204, 204);
  90.       this.m_nIndent = 16;
  91.       this.m_nMargin = 0;
  92.    }
  93.  
  94.    public ViewSkin(Image var1, Color var2, BsscFont var3, BsscFont var4, Color var5, int var6, int var7) {
  95.       this.m_imageBg = var1;
  96.       this.m_colorBg = var2;
  97.       this.m_fontNormal = var3;
  98.       this.m_fontHover = var4;
  99.       this.m_colorActiveBg = var5;
  100.       this.m_nIndent = var6;
  101.       this.m_nMargin = var7;
  102.    }
  103.  
  104.    public BsscFont getHoverFont() {
  105.       return this.m_fontHover;
  106.    }
  107.  
  108.    public static Color getColor(String var0) {
  109.       if (var0 != null) {
  110.          if (var0.length() == 7 && var0.indexOf("#") == 0) {
  111.             String var1 = var0.substring(1, 3);
  112.             String var2 = var0.substring(3, 5);
  113.             String var3 = var0.substring(5, 7);
  114.  
  115.             try {
  116.                int var4 = Integer.parseInt(var1, 16);
  117.                int var5 = Integer.parseInt(var2, 16);
  118.                int var6 = Integer.parseInt(var3, 16);
  119.                return new Color(var4, var5, var6);
  120.             } catch (NumberFormatException var7) {
  121.                return null;
  122.             }
  123.          } else {
  124.             return null;
  125.          }
  126.       } else {
  127.          return null;
  128.       }
  129.    }
  130.  
  131.    public Image getBgImage() {
  132.       return this.m_imageBg;
  133.    }
  134.  
  135.    public BsscFont getNormalFont() {
  136.       return this.m_fontNormal;
  137.    }
  138.  
  139.    public static BsscFont getFont(IBsscXMLElementReader var0) {
  140.       if (var0 != null) {
  141.          String var1 = var0.getAttribute("name");
  142.          String var2 = var0.getAttribute("size");
  143.          String var3 = var0.getAttribute("style");
  144.          String var4 = var0.getAttribute("weight");
  145.          String var5 = var0.getAttribute("decoration");
  146.          String var6 = var0.getAttribute("color");
  147.          if (var1 != null && var1.length() > 0 && var2 != null && var2.length() > 0 && var3 != null && var3.length() > 0 && var4 != null && var4.length() > 0 && var6 != null && var6.length() > 0) {
  148.             Color var7 = getColor(var6);
  149.             return new BsscFont(var1, var2, var3, var4, var7, var5);
  150.          }
  151.       }
  152.  
  153.       return null;
  154.    }
  155.  
  156.    public Color getActiveColor() {
  157.       return this.m_colorActiveBg;
  158.    }
  159.  
  160.    public Color getBgColor() {
  161.       return this.m_colorBg;
  162.    }
  163.  
  164.    protected int getSize(String var1) {
  165.       if (var1 != null) {
  166.          int var2 = var1.lastIndexOf("pt");
  167.          if (var2 != -1) {
  168.             var1 = var1.substring(0, var2);
  169.          }
  170.  
  171.          try {
  172.             int var3 = Integer.parseInt(var1);
  173.             return var3;
  174.          } catch (NumberFormatException var4) {
  175.             return -1;
  176.          }
  177.       } else {
  178.          return -1;
  179.       }
  180.    }
  181.  
  182.    public static Image getImage(String var0) {
  183.       if (var0 != null && var0.length() > 0) {
  184.          ImageCache var1 = ImageCache.getInstance();
  185.          return var1.GetImage(var0);
  186.       } else {
  187.          return null;
  188.       }
  189.    }
  190.  
  191.    public int getMargin() {
  192.       return this.m_nMargin;
  193.    }
  194.  
  195.    public int getIndent() {
  196.       return this.m_nIndent;
  197.    }
  198. }
  199.