home *** CD-ROM | disk | FTP | other *** search
- package hhapplet;
-
- import XMLConsumer.Consumer;
- import XMLConsumer.Project;
- import XMLConsumer.Toc;
- import XMLConsumer.TocEntry;
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Image;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.Enumeration;
- import java.util.Vector;
-
- public class TocView extends BsscImagePanel {
- private Vector m_vProjects;
- private Vector m_vToc;
- private TocListView m_list;
- private Object m_Cursor = null;
-
- public void sync(String var1, String var2) {
- if (this.m_list != null) {
- this.m_list.sync(var1, var2);
- }
-
- }
-
- public TocView(Vector var1, TocViewSkin var2) {
- this.m_vProjects = var1;
- this.m_vToc = new Vector();
- this.loadTocInfo();
- this.m_list = new TocListView(this.m_vProjects, this.m_vToc);
- Color var3 = ((ViewSkin)var2).getBgColor();
- if (var3 != null) {
- this.m_list.setBackground(var3);
- } else {
- this.m_list.setBackground(Color.white);
- }
-
- Image var4 = ((ViewSkin)var2).getBgImage();
- if (var4 != null) {
- this.m_list.setBgImage(var4);
- }
-
- BsscFont var5 = ((ViewSkin)var2).getNormalFont();
- if (var5 != null) {
- Font var6 = var5.getFont();
- FontMetrics var7 = ((Component)this).getFontMetrics(var6);
- int var8 = var7.getHeight();
- if (var8 > 16) {
- this.m_list.setUnitHeight(var7.getHeight());
- }
-
- Font var9 = var5.getFont();
- if (var9 != null) {
- TocEntry.setNormalFont(var9);
- }
-
- Color var10 = var5.getColor();
- if (var10 != null) {
- TocEntry.setNormalColor(var10);
- }
-
- TocEntry.setNormalUnderline(var5.isUnderline());
- }
-
- BsscFont var11 = ((ViewSkin)var2).getHoverFont();
- if (var11 != null) {
- Font var12 = var11.getFont();
- if (var12 != null) {
- TocEntry.setHoverFont(var12);
- }
-
- Color var13 = var11.getColor();
- if (var13 != null) {
- TocEntry.setHoverColor(var13);
- }
-
- TocEntry.setHoverUnderline(var11.isUnderline());
- }
-
- var2.getIconImage(1);
- TocEntry.SetObserver(this.m_list);
- TocEntry.setIconImage(1, var2.getIconImage(1));
- TocEntry.setIconImage(2, var2.getIconImage(2));
- TocEntry.setIconImage(3, var2.getIconImage(3));
- TocEntry.setIconImage(4, var2.getIconImage(4));
- TocEntry.setIconImage(5, var2.getIconImage(5));
- TocEntry.setIconImage(6, var2.getIconImage(6));
- TocEntry.setIconImage(7, var2.getIconImage(7));
- TocEntry.setIconImage(8, var2.getIconImage(8));
- TocEntry.setActiveColor(((ViewSkin)var2).getActiveColor());
- ((Container)this).setLayout(new BorderLayout());
- ((Container)this).add("Center", this.m_list);
- }
-
- private void updateTocRootPath(Project var1, Toc var2) {
- String var3 = var2.getRootTocPath();
- URL var4 = ((Consumer)var1).getURL();
- Enumeration var5 = var2.getRemoteProjPaths();
-
- while(var5.hasMoreElements()) {
- String var6 = (String)var5.nextElement();
- URL var7 = null;
-
- try {
- var7 = URLFileHandler.makeURL(var4, var6, (String)null);
- var7 = URLFileHandler.makeURL(var7, Project.getFileName(), (String)null);
- } catch (MalformedURLException var13) {
- }
-
- if (var7 != null) {
- Enumeration var8 = this.m_vProjects.elements();
-
- while(var8.hasMoreElements()) {
- Project var9 = (Project)var8.nextElement();
- URL var10 = ((Consumer)var9).getURL();
- if (var10.equals(var7)) {
- Toc var11 = var9.getToc();
- if (var11.getRootTocPath() == null) {
- String var12 = var2.getProjTocPath(var6);
- if (var12 != null) {
- if (var3 != null) {
- var12 = var3 + var12;
- }
-
- var11.setRootTocPath(var12);
- }
- }
- break;
- }
- }
- }
- }
-
- }
-
- public void loadTocInfo() {
- try {
- if (this.m_vProjects != null) {
- Toc var1 = ((Project)this.m_vProjects.elementAt(0)).getToc();
- var1.setRootTocPath("/");
- Enumeration var2 = this.m_vProjects.elements();
-
- while(var2.hasMoreElements()) {
- Object var3 = var2.nextElement();
- if (var3 instanceof Project) {
- Toc var4 = ((Project)var3).getToc();
- if (var4 != null) {
- ((Consumer)var4).process();
- this.updateTocRootPath((Project)var3, var4);
- this.m_vToc.addElement(var4);
- }
- }
- }
-
- return;
- }
- } catch (Exception var5) {
- ((Throwable)var5).printStackTrace();
- }
-
- }
-
- public Dimension getPreferredSize() {
- return ((Component)this).getParent().getSize();
- }
- }
-