home *** CD-ROM | disk | FTP | other *** search
- import java.applet.Applet;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Dimension;
- import java.awt.Event;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.LayoutManager;
- import java.awt.MediaTracker;
- import java.net.MalformedURLException;
- import java.net.URL;
-
- public class stmenu extends OCAviewerExtend implements Runnable {
- Thread trun = null;
- private FontMetrics subfm;
- private FontMetrics mainfm;
- // $FF: renamed from: d java.awt.Dimension
- private Dimension field_0;
- private Image[] arErase;
- private Graphics g_arErase;
- boolean mouseIn = false;
- boolean animating = false;
- boolean init_sb = false;
- boolean syncarrow = false;
- int bottom_height = 0;
- int er_id = -1;
- boolean go_expand = false;
- boolean go_retract = false;
- int sbx = 0;
- int rmainWidth;
- int rsubWidth;
- boolean bar_removed = false;
- boolean first_force = false;
- boolean tag = false;
- int subHL = -1;
- int num_main;
- int max_subs;
- int total_subs;
- int[] num_mainsubs;
- boolean[] m_sub_expanded;
- int[] sub_id;
- private int[] sub_starty;
- private int[] sub_offy;
- int[] main_starty;
- int[] sub_start_index;
- int bitHeight;
- int[] main_icon_id;
- int[] sub_icon_id;
- private int curMain = 0;
- private int offHeight = 0;
- private boolean inputHeightFixed = false;
- private int curSub = -1;
- Image bitoff;
- Graphics g_bitoff;
- Image bitorig;
- Graphics g_bitorig;
- Image bitsub;
- Graphics g_bitsub;
- Image endcap;
- private boolean m_tile_bg_insb = true;
- private int m_startopen_index = -1;
- private boolean m_hide_sb = false;
- private boolean m_tilebgin_margins = false;
- private boolean m_unmaintext = false;
- private boolean m_unsubtext = false;
- private boolean m_clip_main_bg = false;
- private String[] m_main_url;
- private String m_loadwhere = "_self";
- private String[] m_sub_url;
- private Color m_main_texthlcolor;
- private Color m_main_textcolor;
- private Color m_arrow_activecolor;
- private Color m_arrowhlcolor;
- private Color m_arrowcolor;
- private Color m_main_outcolor;
- private Color m_main_hloutcolor;
- private Color m_main_boxcolor;
- private Color m_sub_boxcolor;
- private Color m_sub_outcolor;
- private Color m_sub_hloutcolor;
- private Color m_sub_textcolor;
- private Color m_sub_hltextcolor;
- private String m_onsbtext;
- private String m_offsbtext;
- private Color m_bgcolor;
- private Font m_main_font;
- private Font m_sub_font;
- private String[] m_sub_desc;
- private String[] m_main_desc;
- private int m_main_lmargin;
- private int m_main_rmargin;
- private int m_main_icon_voffset;
- private int m_sub_icon_voffset;
- private int m_main_icon_indent;
- private int m_main_text_indent;
- private boolean m_animate_arrows;
- private int m_sub_lmargin;
- private int m_sub_rmargin;
- private int m_sub_text_indent;
- private int m_sub_icon_indent;
- private int m_arrowxoffset;
- private int m_arrowyoffset;
- private int m_jump_size;
- private int m_delay;
- private int m_item_height;
- private int m_additional_clip_height;
- private String m_endcap_image;
- private int m_maintext_yoffset;
- private String m_load_msg;
- private Color m_load_msgcolor;
- private Font m_load_font;
- private int m_sbwidth;
- private int m_lineinc;
- private int m_si;
- private Color m_bc;
- private Color m_ac;
- private Color m_hc;
- private Color m_bgc;
- private Color m_sc;
- private Color m_oc;
- private Color m_mac;
- private Color m_unact;
- private Color m_machl;
- private boolean m_sbflat;
- private boolean m_indent_bubble;
- private String[] m_icon_file;
- private String[] m_icon_switchfile;
- private boolean m_tile_mainbg;
- private boolean m_tile_subbg;
- private String m_sub_bgfile;
- private String m_main_bgfile;
- private int maxExpandHeight;
- private int curExpandHeight;
- private int cur_mainHL;
- // $FF: renamed from: my int
- private int field_1;
- // $FF: renamed from: mx int
- private int field_2;
- // $FF: renamed from: sb stsb
- private stsb field_3;
- private int scroll_y;
- private int old_scrolly;
- // $FF: renamed from: ts java.awt.Image
- private Image field_4;
- private Graphics g_ts;
- private Image main;
- private Graphics g_main;
- boolean first_run;
- boolean mouse_in;
- Image[] i_pic;
- Image[] s_pic;
- Image mainBG;
- Image subBG;
- Dimension[] icon_d;
- int i_pic_break;
- int s_pic_break;
- int num_icons;
- Image sb_bg;
-
- private void hlSubText(int var1) {
- this.g_bitoff.drawImage(this.main, 0, -this.sub_starty[var1], this);
- this.g_bitoff.setFont(this.m_sub_font);
- this.g_bitsub.drawImage(this.bitoff, 0, 0, this);
- int var2 = this.m_sub_lmargin + this.m_sub_text_indent;
- if (this.sub_icon_id[var1] > -1 && this.s_pic[this.sub_icon_id[var1]] != null) {
- this.g_bitoff.drawImage(this.s_pic[this.sub_icon_id[var1]], this.m_sub_lmargin + this.m_sub_icon_indent, this.m_sub_icon_voffset + this.m_item_height / 2 - this.icon_d[this.sub_icon_id[var1]].height / 2, this);
- var2 = var2 + this.icon_d[this.sub_icon_id[var1]].width + this.m_sub_icon_indent;
- }
-
- if (this.m_sub_hloutcolor != null) {
- this.g_bitoff.setColor(this.m_sub_hloutcolor);
- this.g_bitoff.drawRect(this.m_sub_lmargin, 0, this.field_0.width - this.m_sub_rmargin - this.m_sub_lmargin - 1, this.m_item_height - 1);
- }
-
- this.g_bitoff.setColor(this.m_sub_hltextcolor);
- int var3 = this.m_item_height - this.subfm.getDescent() - (this.m_item_height - this.subfm.getHeight()) / 2;
- this.g_bitoff.drawString(this.m_sub_desc[var1], var2, var3);
- if (this.m_unsubtext) {
- this.g_bitoff.drawLine(var2 + 1, var3 + 1, var2 + this.subfm.stringWidth(this.m_sub_desc[var1]) - 1, var3 + 1);
- }
-
- this.g_main.drawImage(this.bitoff, 0, this.sub_starty[var1], this);
- }
-
- public boolean mouseEnter(Event var1, int var2, int var3) {
- this.mouseIn = true;
- if (this.first_run && this.tag) {
- ((OCAviewerExtend)this).showStatus(this.m_load_msg);
- } else {
- ((OCAviewerExtend)this).showStatus(this.m_onsbtext);
- }
-
- return true;
- }
-
- public boolean mouseMove(Event var1, int var2, int var3) {
- this.field_1 = var3;
- this.field_2 = var2;
- if (this.animating) {
- return true;
- } else {
- this.mouseMove(var2, var3);
- return true;
- }
- }
-
- private void initSB() {
- this.field_3 = new stsb();
- this.field_3.setBarStyle(this.m_si, this.m_bc, this.m_ac, this.m_hc, this.m_bgc, this.m_sc, this.m_oc, this.m_mac, this.m_machl, this.m_unact, this.m_sbflat, this.m_indent_bubble);
- if (this.sb_bg != null && this.m_tile_bg_insb) {
- this.field_3.setBarBgImage(this.sb_bg);
- }
-
- this.field_3.setBackground(this.m_bgc);
- ((Container)this).setLayout((LayoutManager)null);
- this.field_3.reshape(this.sbx, 0, this.m_sbwidth, this.field_0.height);
- ((Container)this).add(this.field_3);
- this.init_sb = true;
- }
-
- public void stop() {
- if (this.trun != null) {
- this.trun.stop();
- this.trun = null;
- }
-
- }
-
- private void hlMainText(int var1) {
- this.g_bitoff.drawImage(this.main, 0, -this.main_starty[var1], this);
- this.g_bitoff.setFont(this.m_main_font);
- this.g_bitorig.drawImage(this.bitoff, 0, 0, this);
- int var2 = this.m_main_lmargin + this.m_main_text_indent;
- if (this.main_icon_id[var1] > -1 && this.s_pic[this.main_icon_id[var1]] != null) {
- this.g_bitoff.drawImage(this.s_pic[this.main_icon_id[var1]], this.m_main_lmargin + this.m_main_icon_indent, this.m_main_icon_voffset + this.m_item_height / 2 - this.icon_d[this.main_icon_id[var1]].height / 2, this);
- var2 = var2 + this.icon_d[this.main_icon_id[var1]].width + this.m_main_icon_indent;
- }
-
- if (this.m_main_hloutcolor != null) {
- this.g_bitoff.setColor(this.m_main_hloutcolor);
- this.g_bitoff.drawRect(this.m_main_lmargin, 0, this.field_0.width - this.m_main_lmargin - this.m_main_rmargin - 1, this.m_item_height - 1);
- }
-
- this.g_bitoff.setColor(this.m_main_texthlcolor);
- int var3 = this.m_item_height - this.mainfm.getDescent() - (this.m_item_height - this.mainfm.getHeight()) / 2 + this.m_maintext_yoffset;
- this.g_bitoff.drawString(this.m_main_desc[var1], var2, var3);
- if (this.m_unmaintext) {
- this.g_bitoff.drawLine(var2 + 1, var3 + 1, var2 + this.mainfm.stringWidth(this.m_main_desc[var1]) - 1, var3 + 1);
- }
-
- if (this.subHL != -1) {
- this.undohlSubText(this.subHL);
- this.subHL = -1;
- }
-
- this.g_main.drawImage(this.bitoff, 0, this.main_starty[var1], this);
- }
-
- private void undohlMainText(int var1) {
- this.g_bitorig.clipRect(this.m_arrowxoffset, this.m_arrowyoffset, 11, 8);
- this.g_bitorig.drawImage(this.main, 0, -this.main_starty[var1], this);
- this.g_main.drawImage(this.bitorig, 0, this.main_starty[var1], this);
- this.g_bitorig = this.bitorig.getGraphics();
- }
-
- private void activateSubURL(int var1, int var2) {
- if (var1 < this.field_0.width - this.m_sub_rmargin && var1 > this.m_sub_lmargin) {
- for(int var3 = 0; var3 < this.m_sub_desc.length; ++var3) {
- if (this.m_sub_expanded[this.sub_id[var3]] && var2 > this.sub_starty[var3] + this.scroll_y && var2 < this.sub_starty[var3] + this.m_item_height + this.scroll_y && var3 == this.subHL) {
- this.loadURL(this.m_sub_url[var3]);
- }
- }
- }
-
- }
-
- private int checkSubPosition(int var1) {
- for(int var2 = 0; var2 < this.sub_id.length; ++var2) {
- if (this.m_sub_expanded[this.sub_id[var2]] && var1 > this.sub_starty[var2] + this.scroll_y && var1 < this.sub_starty[var2] + this.m_item_height + this.scroll_y) {
- return var2;
- }
- }
-
- return -1;
- }
-
- private void loadURL(String var1) {
- if (!var1.equals("-1")) {
- String var2 = "-1";
- Object var3 = null;
- int var4 = var1.indexOf("|");
- String var8;
- if (var4 > 0) {
- if (var4 < var1.length() - 1) {
- var8 = var1.substring(0, var4);
- var2 = var1.substring(var4 + 1);
- } else {
- var2 = var1;
- var8 = this.m_loadwhere;
- }
- } else {
- var2 = var1;
- var8 = this.m_loadwhere;
- }
-
- if (!var2.equals("-1")) {
- try {
- URL var5 = new URL(((OCAviewerExtend)this).getDocumentBase(), var2);
- ((Applet)this).getAppletContext().showDocument(var5, var8);
- return;
- } catch (MalformedURLException var6) {
- }
- }
-
- }
- }
-
- private void drawMainBG() {
- if (this.mainBG != null) {
- int var1 = 0;
- int var2 = this.rmainWidth;
- byte var3 = 0;
- int var4 = this.field_0.height * 2;
- if (!this.m_tilebgin_margins) {
- var1 = this.m_main_lmargin;
- var2 = this.field_0.width - this.m_main_lmargin - this.m_main_rmargin;
- }
-
- if (this.m_clip_main_bg) {
- var4 = this.m_main_desc.length * this.bitHeight + this.m_additional_clip_height;
- }
-
- if (this.m_main_desc.length * this.bitHeight > var4) {
- var4 = this.m_main_desc.length * this.bitHeight;
- }
-
- this.g_main.clipRect(var1, var3, var2, var4);
- if (!this.m_tile_mainbg) {
- this.g_main.drawImage(this.mainBG, 0, 0, this);
- } else {
- int var5 = 0;
- int var6 = 0;
- int var7 = this.mainBG.getWidth(this);
- int var8 = this.mainBG.getHeight(this);
- int var9 = this.field_0.height * 2;
-
- while(true) {
- this.g_main.drawImage(this.mainBG, var5, var6, this);
- var5 += var7;
- if (var5 > this.rmainWidth) {
- var5 = 0;
- var6 += var8;
- if (this.m_clip_main_bg) {
- if (var6 > this.m_main_desc.length * this.bitHeight + this.m_additional_clip_height) {
- break;
- }
- } else if (var6 > var9) {
- break;
- }
- }
- }
- }
-
- this.g_main = this.main.getGraphics();
- this.g_main.setFont(this.m_main_font);
- if (this.endcap != null) {
- this.g_main.drawImage(this.endcap, 0, this.m_main_desc.length * this.bitHeight, this);
- }
-
- this.sb_bg = ((Component)this).createImage(this.m_sbwidth, this.field_0.height);
- Graphics var10 = this.sb_bg.getGraphics();
- var10.drawImage(this.main, -this.field_0.width, 0, this);
- }
-
- }
-
- private synchronized void drawAnimatedArrows(int var1, int var2) {
- this.g_main.drawImage(this.arErase[var1], this.m_arrowxoffset, this.main_starty[var1] + this.m_arrowyoffset, this);
- if (this.m_animate_arrows) {
- this.g_main.setColor(this.m_arrow_activecolor);
- } else if (this.cur_mainHL == var1) {
- this.g_main.setColor(this.m_arrowhlcolor);
- } else {
- this.g_main.setColor(this.m_arrowcolor);
- }
-
- int var3 = (8 - var2) / 2;
- if (this.m_sub_expanded[var1]) {
- if (var2 > 0) {
- int var4 = var3 + this.m_arrowxoffset;
- int var5 = 4 + this.main_starty[var1] + this.m_arrowyoffset;
-
- for(int var6 = var2; var6 >= 0; var6 -= 2) {
- this.g_main.drawLine(var4, var5, var4 + var6, var5);
- --var5;
- ++var4;
- }
-
- return;
- }
- } else if (var2 > 0) {
- int var7 = var3 + this.m_arrowxoffset;
- int var8 = this.main_starty[var1] + this.m_arrowyoffset;
-
- for(int var9 = var2; var9 >= 0; var9 -= 2) {
- this.g_main.drawLine(var7, var8, var7 + var9, var8);
- ++var8;
- ++var7;
- }
- }
-
- }
-
- private void DrawMenu() {
- int var1 = 0;
- this.drawSubBG();
-
- for(int var2 = 0; var2 < this.m_sub_desc.length; ++var2) {
- this.sub_starty[var2] = var1;
- this.sub_offy[var2] = var1;
- if (this.m_sub_boxcolor != null) {
- this.g_ts.setColor(this.m_sub_boxcolor);
- this.g_ts.fillRect(this.m_sub_lmargin, this.sub_starty[var2], this.field_0.width - this.m_sub_rmargin - this.m_sub_lmargin, this.m_item_height);
- }
-
- if (this.m_sub_outcolor != null) {
- this.g_ts.setColor(this.m_sub_outcolor);
- this.g_ts.drawRect(this.m_sub_lmargin, this.sub_starty[var2], this.field_0.width - this.m_sub_rmargin - this.m_sub_lmargin - 1, this.m_item_height - 1);
- }
-
- int var3 = this.m_sub_lmargin + this.m_sub_text_indent;
- if (this.sub_icon_id[var2] > -1 && this.i_pic[this.sub_icon_id[var2]] != null) {
- this.g_ts.drawImage(this.i_pic[this.sub_icon_id[var2]], this.m_sub_lmargin + this.m_sub_icon_indent, this.sub_starty[var2] + this.m_sub_icon_voffset + this.m_item_height / 2 - this.icon_d[this.sub_icon_id[var2]].height / 2, this);
- var3 = var3 + this.icon_d[this.sub_icon_id[var2]].width + this.m_sub_icon_indent;
- }
-
- this.g_ts.setColor(this.m_sub_textcolor);
- int var4 = var1 + this.m_item_height - this.subfm.getDescent() - (this.m_item_height - this.subfm.getHeight()) / 2;
- this.g_ts.drawString(this.m_sub_desc[var2], var3, var4);
- if (this.m_unsubtext) {
- this.g_ts.drawLine(var3 + 1, var4 + 1, var3 + this.subfm.stringWidth(this.m_sub_desc[var2]) - 1, var4 + 1);
- }
-
- var1 += this.bitHeight;
- }
-
- var1 = 0;
- this.m_arrowxoffset += this.field_0.width - this.m_main_rmargin - 20;
- this.m_arrowyoffset += this.m_item_height / 2 - 3;
- this.g_main.setFont(this.m_main_font);
- this.drawMainBG();
-
- for(int var9 = 0; var9 < this.m_main_desc.length; ++var9) {
- this.main_starty[var9] = var1;
- if (this.m_main_boxcolor != null) {
- this.g_main.setColor(this.m_main_boxcolor);
- this.g_main.fillRect(this.m_main_lmargin, this.main_starty[var9], this.field_0.width - this.m_main_lmargin - this.m_main_rmargin, this.m_item_height);
- }
-
- if (this.m_main_outcolor != null) {
- this.g_main.setColor(this.m_main_outcolor);
- this.g_main.drawRect(this.m_main_lmargin, this.main_starty[var9], this.field_0.width - this.m_main_lmargin - this.m_main_rmargin - 1, this.m_item_height - 1);
- }
-
- int var10 = this.m_main_lmargin + this.m_main_text_indent;
- if (this.main_icon_id[var9] > -1 && this.i_pic[this.main_icon_id[var9]] != null) {
- this.g_main.drawImage(this.i_pic[this.main_icon_id[var9]], this.m_main_lmargin + this.m_main_icon_indent, this.main_starty[var9] + this.m_main_icon_voffset + this.m_item_height / 2 - this.icon_d[this.main_icon_id[var9]].height / 2, this);
- var10 = var10 + this.icon_d[this.main_icon_id[var9]].width + this.m_main_icon_indent;
- }
-
- this.g_main.setColor(this.m_main_textcolor);
- int var11 = this.main_starty[var9] + this.m_item_height - this.mainfm.getDescent() - (this.m_item_height - this.mainfm.getHeight()) / 2 + this.m_maintext_yoffset;
- this.g_main.drawString(this.m_main_desc[var9], var10, var11);
- if (this.m_unmaintext) {
- this.g_main.drawLine(var10 + 1, var11 + 1, var10 + this.mainfm.stringWidth(this.m_main_desc[var9]) - 1, var11 + 1);
- }
-
- this.arErase[var9] = ((Component)this).createImage(9, 5);
- this.g_arErase = this.arErase[var9].getGraphics();
- int var5 = this.main_starty[var9] + this.m_arrowyoffset;
- this.g_arErase.drawImage(this.main, -this.m_arrowxoffset, -var5, this);
- this.drawArrow(1, this.m_arrowxoffset, this.main_starty[var9] + this.m_arrowyoffset, this.m_arrowcolor);
- var1 += this.bitHeight;
- int var6 = 0;
-
- for(int var7 = this.sub_start_index[var9]; var7 < this.sub_start_index[var9] + this.num_mainsubs[var9]; ++var7) {
- this.sub_starty[var7] = var6 + (this.sub_id[var7] + 1) * this.bitHeight;
- var6 += this.bitHeight;
- }
- }
-
- }
-
- public void start() {
- if (this.tag) {
- if (this.trun == null) {
- this.trun = new Thread(this);
- this.trun.start();
- }
-
- }
- }
-
- private void loadImages() {
- for(int var1 = this.i_pic_break; var1 < this.num_icons; this.i_pic_break = var1++) {
- if ((this.i_pic[var1] = this.trackReturn(this.m_icon_file[var1])) != null) {
- this.icon_d[var1] = new Dimension(this.i_pic[var1].getWidth(this), this.i_pic[var1].getHeight(this));
- }
- }
-
- for(int var2 = this.s_pic_break; var2 < this.num_icons; this.s_pic_break = var2++) {
- if ((this.s_pic[var2] = this.trackReturn(this.m_icon_switchfile[var2])) == null) {
- this.s_pic[var2] = this.i_pic[var2];
- }
- }
-
- this.mainBG = this.trackReturn(this.m_main_bgfile);
- if (this.mainBG != null) {
- this.m_main_boxcolor = null;
- }
-
- this.subBG = this.trackReturn(this.m_sub_bgfile);
- if (this.subBG != null) {
- this.m_sub_boxcolor = null;
- }
-
- if ((this.endcap = this.trackReturn(this.m_endcap_image)) != null) {
- if (this.mainBG != null) {
- this.m_clip_main_bg = true;
- }
-
- this.m_additional_clip_height = this.endcap.getHeight(this);
- }
-
- }
-
- private int checkYExpandMouse(int var1, int var2) {
- for(int var3 = 0; var3 < this.main_starty.length; ++var3) {
- if (var1 >= this.main_starty[var3] + var2 && var1 <= this.main_starty[var3] + this.m_item_height + var2) {
- return var3;
- }
- }
-
- return -1;
- }
-
- private void checkHL(int var1, int var2) {
- if (var1 < 0 && var2 < 0) {
- this.undoHL();
- this.paintIt();
- } else {
- int var3 = this.checkYExpandMouse(var2, this.scroll_y);
- if (var3 != -1) {
- if (!this.first_run && this.cur_mainHL != var3) {
- if (this.cur_mainHL > -1) {
- if (this.m_animate_arrows && this.curMain == this.cur_mainHL) {
- this.undohlMainText(this.cur_mainHL);
- } else {
- this.undohlMainText(this.cur_mainHL);
- this.undoArrowHL(this.cur_mainHL);
- }
- }
-
- if (var3 != this.curMain) {
- this.hlMainArrows(var3, false);
- this.hlMainText(var3);
- } else if (!this.m_animate_arrows) {
- this.hlMainArrows(var3, false);
- this.hlMainText(var3);
- } else {
- this.hlMainText(var3);
- }
-
- this.cur_mainHL = var3;
- }
- } else {
- if ((this.cur_mainHL == -1 || this.curMain == this.cur_mainHL) && (this.m_animate_arrows || this.cur_mainHL == -1)) {
- if (this.cur_mainHL > -1) {
- this.undohlMainText(this.cur_mainHL);
- this.cur_mainHL = -1;
- }
- } else {
- this.undohlMainText(this.cur_mainHL);
- this.undoArrowHL(this.cur_mainHL);
- this.cur_mainHL = -1;
- }
-
- if (var1 < this.field_0.width - this.m_sub_rmargin && var1 > this.m_sub_lmargin) {
- int var4 = this.checkSubPosition(var2);
- if (var4 != -1) {
- if (this.subHL != -1 && this.subHL != var4) {
- this.undohlSubText(this.subHL);
- }
-
- if (this.subHL != var4) {
- this.hlSubText(var4);
- this.subHL = var4;
- }
- }
- } else if (this.subHL != -1) {
- this.undohlSubText(this.subHL);
- this.subHL = -1;
- }
- }
-
- this.paintIt();
- }
- }
-
- private void undoHL() {
- if (this.cur_mainHL == -1) {
- if (this.subHL != -1) {
- this.undohlSubText(this.subHL);
- this.subHL = -1;
- }
-
- } else {
- if (this.curMain == this.cur_mainHL && this.m_animate_arrows) {
- this.undohlMainText(this.cur_mainHL);
- } else {
- this.undohlMainText(this.cur_mainHL);
- this.undoArrowHL(this.cur_mainHL);
- this.paintIt();
- }
-
- this.cur_mainHL = -1;
- }
- }
-
- private void drawSubBG() {
- if (this.subBG != null) {
- if (!this.m_tilebgin_margins) {
- this.g_ts.clipRect(this.m_sub_lmargin, 0, this.field_0.width - this.m_sub_rmargin - this.m_sub_lmargin, this.field_4.getHeight(this));
- }
-
- if (!this.m_tile_subbg) {
- this.g_ts.drawImage(this.subBG, 0, 0, this);
- } else {
- int var1 = 0;
- int var2 = 0;
- int var3 = this.subBG.getWidth(this);
- int var4 = this.subBG.getHeight(this);
- int var5 = this.rsubWidth;
- int var6 = this.field_4.getHeight(this);
-
- while(true) {
- this.g_ts.drawImage(this.subBG, var1, var2, this);
- var1 += var3;
- if (var1 > var5) {
- var1 = 0;
- var2 += var4;
- if (var2 > var6) {
- break;
- }
- }
- }
- }
-
- if (!this.m_tilebgin_margins) {
- this.g_ts = this.field_4.getGraphics();
- this.g_ts.setFont(this.m_sub_font);
- }
- }
-
- }
-
- public String[] getIdandText(String var1) {
- Object var2 = null;
- Object var3 = null;
- int var4 = var1.indexOf("|");
- String var6;
- String var7;
- if (var4 > 0) {
- if (var4 < var1.length()) {
- var7 = var1.substring(0, var4);
- var6 = var1.substring(var4 + 1);
- } else {
- var6 = var1;
- var7 = "-1";
- }
- } else {
- var6 = var1;
- var7 = "-1";
- }
-
- String[] var5 = new String[]{var7, var6};
- return var5;
- }
-
- public boolean mouseExit(Event var1, int var2, int var3) {
- this.field_1 = -1;
- this.field_2 = -1;
- if (this.animating) {
- return true;
- } else {
- this.undoHL();
- this.paintIt();
- this.mouseIn = false;
- ((OCAviewerExtend)this).showStatus(this.m_offsbtext);
- return true;
- }
- }
-
- public void paint(Graphics var1) {
- this.paintIt();
- }
-
- private void startExpand(int var1) {
- if (this.curMain > -1) {
- this.stop();
- if (this.curMain != var1) {
- this.undoArrowHL(this.curMain);
- }
-
- if (this.m_animate_arrows) {
- this.drawArrow(1, this.m_arrowxoffset, this.main_starty[var1] + this.m_arrowyoffset, this.m_arrow_activecolor);
- this.paintIt();
- }
-
- this.curMain = -1;
- }
-
- this.er_id = var1;
- this.animating = true;
- this.go_expand = true;
- this.start();
- }
-
- public Image trackReturn(String var1) {
- if (var1 == null) {
- return null;
- } else {
- ocgifix var2 = new ocgifix();
- Object var3 = null;
- MediaTracker var4 = new MediaTracker(this);
- if (!var1.equals("-1")) {
- Image var6 = ((Applet)this).getImage(((OCAviewerExtend)this).getDocumentBase(), var1);
- var4.addImage(var6, 0);
-
- try {
- var4.waitForID(0);
- } catch (InterruptedException var5) {
- return null;
- }
-
- if (var4.isErrorID(0)) {
- System.out.println("Error Loading Image File:" + var1);
- return null;
- } else {
- var6 = var2.gifix(var6, var1);
- return var6;
- }
- } else {
- return null;
- }
- }
- }
-
- public boolean mouseUp(Event var1, int var2, int var3) {
- if (this.animating) {
- return true;
- } else if (var2 < this.field_0.width - this.m_main_rmargin && var2 > this.m_main_lmargin) {
- int var4 = this.checkYExpandMouse(var3, this.scroll_y);
- if (var4 != -1 && var4 == this.cur_mainHL) {
- if (this.m_sub_expanded[var4]) {
- this.startRetract(var4);
- } else if (this.num_mainsubs[var4] > 0) {
- this.startExpand(var4);
- }
-
- this.loadURL(this.m_main_url[var4]);
- return true;
- } else {
- this.activateSubURL(var2, var3);
- return true;
- }
- } else {
- this.mouseMove(var2, var3);
- return true;
- }
- }
-
- public stmenu() {
- this.m_main_texthlcolor = Color.red;
- this.m_main_textcolor = Color.white;
- this.m_arrow_activecolor = Color.yellow;
- this.m_arrowhlcolor = Color.yellow;
- this.m_arrowcolor = Color.lightGray;
- this.m_main_outcolor = null;
- this.m_main_hloutcolor = null;
- this.m_main_boxcolor = null;
- this.m_sub_boxcolor = null;
- this.m_sub_outcolor = null;
- this.m_sub_hloutcolor = null;
- this.m_sub_textcolor = Color.black;
- this.m_sub_hltextcolor = Color.green;
- this.m_onsbtext = "OpenCube - SmartTree Menu";
- this.m_offsbtext = "Java by OpenCube";
- this.m_bgcolor = Color.black;
- this.m_main_font = new Font("Helvetica", 1, 10);
- this.m_sub_font = new Font("Helvetica", 0, 11);
- this.m_main_lmargin = 5;
- this.m_main_rmargin = 5;
- this.m_main_icon_voffset = 0;
- this.m_sub_icon_voffset = 0;
- this.m_main_icon_indent = 4;
- this.m_main_text_indent = 4;
- this.m_animate_arrows = true;
- this.m_sub_lmargin = 10;
- this.m_sub_rmargin = 7;
- this.m_sub_text_indent = 5;
- this.m_sub_icon_indent = 4;
- this.m_arrowxoffset = 0;
- this.m_arrowyoffset = 0;
- this.m_jump_size = 2;
- this.m_delay = 10;
- this.m_item_height = 15;
- this.m_additional_clip_height = 0;
- this.m_endcap_image = "-1";
- this.m_maintext_yoffset = 0;
- this.m_load_msg = "Loading Images...";
- this.m_load_msgcolor = Color.white;
- this.m_load_font = new Font("Helvetica", 0, 12);
- this.m_sbwidth = 12;
- this.m_si = 2;
- this.m_bc = null;
- this.m_ac = Color.black;
- this.m_hc = Color.yellow;
- this.m_bgc = Color.white;
- this.m_sc = null;
- this.m_oc = null;
- this.m_mac = Color.lightGray;
- this.m_unact = Color.gray;
- this.m_machl = Color.yellow;
- this.m_sbflat = true;
- this.m_indent_bubble = false;
- this.m_tile_mainbg = true;
- this.m_tile_subbg = true;
- this.m_sub_bgfile = "-1";
- this.m_main_bgfile = "-1";
- this.maxExpandHeight = 0;
- this.curExpandHeight = 0;
- this.cur_mainHL = -1;
- this.field_1 = 0;
- this.field_2 = 0;
- this.first_run = true;
- this.mouse_in = false;
- }
-
- private synchronized void paintIt() {
- Graphics var1 = ((Component)this).getGraphics();
- if (!this.tag) {
- var1.setColor(Color.yellow);
- var1.drawString(this.m_onsbtext, 2, 20);
- } else if (!this.first_run) {
- var1.drawImage(this.main, 0, this.scroll_y, this);
- } else {
- var1.drawImage(this.field_4, 0, 0, this);
- }
- }
-
- public void scrollIt(int var1, boolean var2) {
- if (var1 == 602 || var1 == 601 || var1 == 605 || var1 == 604 || var1 == 603) {
- this.scroll_y = -this.field_3.getValue();
- this.paintIt();
- }
-
- }
-
- public void destroy() {
- if (this.trun != null) {
- this.trun.stop();
- this.trun = null;
- }
-
- }
-
- private void drawArrow(int var1, int var2, int var3, Color var4) {
- if (var1 == 1) {
- this.g_main.setColor(var4);
- int var5 = var2;
- int var6 = var3;
- int var7 = 8;
-
- do {
- this.g_main.drawLine(var5, var6, var5 + var7, var6);
- ++var6;
- ++var5;
- var7 -= 2;
- } while(var7 >= 0);
- }
-
- if (var1 == 2) {
- this.g_main.setColor(var4);
- int var8 = var2;
- int var9 = var3 + 4;
- int var10 = 8;
-
- do {
- this.g_main.drawLine(var8, var9, var8 + var10, var9);
- --var9;
- ++var8;
- var10 -= 2;
- } while(var10 >= 0);
- }
-
- }
-
- private void firstRun() {
- ((Component)this).setBackground(this.m_bgcolor);
- this.field_4 = ((Component)this).createImage(this.field_0.width + this.m_sbwidth, this.field_0.height);
- this.g_ts = this.field_4.getGraphics();
- this.g_ts.setColor(this.m_bgcolor);
- this.g_ts.fillRect(0, 0, this.field_0.width + this.m_sbwidth, this.field_0.height);
- this.g_ts.setFont(this.m_load_font);
- FontMetrics var1 = this.g_ts.getFontMetrics(this.m_load_font);
- this.g_ts.setColor(this.m_load_msgcolor);
- this.g_ts.drawString(this.m_load_msg, (this.field_0.width + this.m_sbwidth) / 2 - var1.stringWidth(this.m_load_msg) / 2, this.field_0.height / 2 + var1.getHeight() / 2);
- ((Component)this).getGraphics().drawImage(this.field_4, 0, 0, this);
- ((OCAviewerExtend)this).showStatus(this.m_load_msg);
- this.loadImages();
- this.subfm = ((Component)this).getFontMetrics(this.m_sub_font);
- this.mainfm = ((Component)this).getFontMetrics(this.m_main_font);
- if (!this.inputHeightFixed) {
- int var2 = this.subfm.getHeight();
- int var3 = this.mainfm.getHeight();
- if (var2 > var3) {
- this.m_item_height = var2;
- } else {
- this.m_item_height = var3;
- }
- }
-
- this.bitHeight = this.m_item_height;
- this.m_lineinc = this.bitHeight;
- System.out.println("Item Height = " + this.bitHeight);
- this.offHeight = this.bitHeight * this.m_sub_desc.length;
- System.out.println("Total Sub Menu Hiehgt = " + this.offHeight);
- this.bitoff = ((Component)this).createImage(this.field_0.width, this.bitHeight);
- this.g_bitoff = this.bitoff.getGraphics();
- this.bitorig = ((Component)this).createImage(this.field_0.width, this.bitHeight);
- this.g_bitorig = this.bitorig.getGraphics();
- this.bitsub = ((Component)this).createImage(this.field_0.width, this.bitHeight);
- this.g_bitsub = this.bitsub.getGraphics();
- this.rsubWidth = this.field_0.width;
- if (this.m_tilebgin_margins) {
- this.rsubWidth += this.m_sbwidth;
- }
-
- if (this.offHeight < 1) {
- this.offHeight = 1;
- }
-
- this.field_4 = ((Component)this).createImage(this.rsubWidth, this.offHeight);
- this.g_ts = this.field_4.getGraphics();
- this.g_ts.setFont(this.m_sub_font);
- this.g_ts.setColor(this.m_bgcolor);
- this.g_ts.fillRect(0, 0, this.rsubWidth, this.offHeight);
- this.bottom_height = this.field_0.height - this.bitHeight;
- this.curExpandHeight = this.bitHeight * this.m_main_desc.length;
- this.maxExpandHeight = this.offHeight + this.curExpandHeight + this.bottom_height;
- this.rmainWidth = this.field_0.width;
- if (this.m_tilebgin_margins) {
- this.rmainWidth += this.m_sbwidth;
- }
-
- this.main = ((Component)this).createImage(this.rmainWidth, this.maxExpandHeight);
- this.g_main = this.main.getGraphics();
- this.g_main.setFont(this.m_main_font);
- this.g_main.setColor(this.m_bgcolor);
- this.g_main.fillRect(0, 0, this.rmainWidth, this.maxExpandHeight);
- this.DrawMenu();
- this.initSB();
- if (this.m_startopen_index > -1) {
- this.first_force = true;
- this.first_run = false;
- this.paintIt();
- this.curMain = -1;
- this.expandItem(this.m_startopen_index);
- } else {
- this.setScrollBar();
- }
- }
-
- private void retractItem(int var1) {
- boolean var2 = false;
- int var3 = this.num_mainsubs[var1] * this.bitHeight;
- int var4 = this.main_starty[var1] + this.bitHeight;
- if (this.main_starty[var1] + this.bitHeight * 2 > Math.abs(this.scroll_y - this.field_0.height)) {
- int var5 = -(this.main_starty[var1] + this.bitHeight * 2) + this.field_0.height;
- if (var5 < this.scroll_y) {
- for(int var17 = this.scroll_y; var17 > var5; var17 -= this.m_jump_size) {
- this.scroll_y = var17;
- this.paintIt();
-
- try {
- Thread.sleep((long)this.m_delay);
- } catch (InterruptedException var16) {
- }
- }
- }
- }
-
- Graphics var22 = ((Component)this).getGraphics();
- var22.clipRect(0, this.main_starty[var1] + this.bitHeight + this.scroll_y, this.rsubWidth, this.field_0.height);
- Image var6 = ((Component)this).createImage(this.rsubWidth, this.maxExpandHeight - var4);
- Graphics var7 = var6.getGraphics();
- int var10000 = this.sub_offy[this.sub_start_index[var1]];
- var7.drawImage(this.main, 0, -var4, this);
- int var8 = this.main_starty[var1] + this.bitHeight;
-
- for(int var18 = 0; var18 > -var3; var18 -= this.m_jump_size) {
- var22.drawImage(var6, 0, var18 + var8 + this.scroll_y, this);
-
- try {
- Thread.sleep((long)this.m_delay);
- } catch (InterruptedException var15) {
- }
- }
-
- int var9 = -var3 + var8;
- this.g_main.clipRect(0, var8, this.rsubWidth, this.main.getHeight(this) - var8);
- this.g_main.drawImage(var6, 0, var9, this);
- this.paintIt();
-
- for(int var10 = var1 + 1; var10 < this.main_starty.length; ++var10) {
- this.main_starty[var10] -= var3;
-
- for(int var11 = this.sub_start_index[var10]; var11 < this.sub_start_index[var10] + this.num_mainsubs[var10]; ++var11) {
- this.sub_starty[var11] -= var3;
- }
- }
-
- this.g_main = this.main.getGraphics();
- this.g_main.setColor(this.m_bgcolor);
- int var23 = this.main_starty[this.main_starty.length - 1] + this.bitHeight;
- if (this.m_sub_expanded[this.main_starty.length - 1] && this.main_starty.length - 1 != var1) {
- var23 += this.num_mainsubs[this.main_starty.length - 1] * this.bitHeight;
- }
-
- if ((this.mainBG == null || !this.m_clip_main_bg) && this.endcap == null) {
- if (this.mainBG == null) {
- this.g_main.fillRect(0, var23, this.field_0.width, var3);
- }
- } else {
- this.g_main.fillRect(0, var23 + this.m_additional_clip_height, this.field_0.width, var3);
- }
-
- if (this.curExpandHeight - var3 >= this.field_0.height) {
- int var24 = -this.main_starty[var1];
- if (var24 < -(this.curExpandHeight - var3) + this.field_0.height) {
- var24 = -(this.curExpandHeight - var3) + this.field_0.height;
- }
-
- if (var24 < this.scroll_y) {
- for(int var20 = this.scroll_y; var20 > var24; var20 -= 2) {
- this.scroll_y = var20;
- this.paintIt();
-
- try {
- Thread.sleep((long)this.m_delay);
- } catch (InterruptedException var14) {
- }
- }
- } else {
- for(int var19 = this.scroll_y; var19 < var24; var19 += this.m_jump_size) {
- this.scroll_y = var19;
- this.paintIt();
-
- try {
- Thread.sleep((long)this.m_delay);
- } catch (InterruptedException var13) {
- }
- }
- }
-
- this.scroll_y = var24;
- this.paintIt();
- } else {
- byte var25 = 0;
-
- for(int var21 = this.scroll_y; var21 < var25; var21 += this.m_jump_size) {
- this.scroll_y = var21;
- this.paintIt();
-
- try {
- Thread.sleep((long)this.m_delay);
- } catch (InterruptedException var12) {
- }
- }
-
- this.scroll_y = var25;
- this.paintIt();
- }
-
- this.m_sub_expanded[var1] = false;
- this.curExpandHeight -= var3;
- this.hlMainArrows(var1, true);
- this.checkHL(this.field_2, this.field_1);
- this.paintIt();
- this.setScrollBar();
- this.curMain = var1;
- }
-
- private void expandItem(int var1) {
- System.gc();
- boolean var2 = false;
- int var3 = this.num_mainsubs[var1] * this.bitHeight;
- int var4 = this.main_starty[var1] + this.bitHeight;
- if (this.curExpandHeight + var3 >= this.field_0.height) {
- int var5 = -this.main_starty[var1];
- if (var5 < -(this.curExpandHeight + var3) + this.field_0.height) {
- var5 = -(this.curExpandHeight + var3) + this.field_0.height;
- }
-
- if (var5 < this.scroll_y) {
- for(int var16 = this.scroll_y; var16 > var5; var16 -= this.m_jump_size) {
- this.scroll_y = var16;
- this.paintIt();
-
- try {
- Thread.sleep((long)this.m_delay);
- } catch (InterruptedException var14) {
- }
- }
- } else {
- for(int var15 = this.scroll_y; var15 < var5; var15 += this.m_jump_size) {
- this.scroll_y = var15;
- this.paintIt();
-
- try {
- Thread.sleep((long)this.m_delay);
- } catch (InterruptedException var13) {
- }
- }
- }
-
- this.scroll_y = var5;
- this.paintIt();
- }
-
- Image var18 = ((Component)this).createImage(this.rsubWidth, this.maxExpandHeight - var4);
- Graphics var6 = var18.getGraphics();
- int var7 = -this.sub_offy[this.sub_start_index[var1]];
- int var8 = this.main_starty[var1] + this.bitHeight;
- Graphics var9 = ((Component)this).getGraphics();
- var9.clipRect(0, this.main_starty[var1] + this.bitHeight + this.scroll_y, this.rsubWidth, this.field_0.height);
- var6.drawImage(this.field_4, 0, var7, this);
- var6.clipRect(0, var3, this.rsubWidth, var18.getHeight(this) - var3);
- var6.drawImage(this.main, 0, var3 - var8, this);
-
- for(int var17 = -var3; var17 <= 0; var17 += this.m_jump_size) {
- var9.drawImage(var18, 0, var17 + var8 + this.scroll_y, this);
-
- try {
- Thread.sleep((long)this.m_delay);
- } catch (InterruptedException var12) {
- }
- }
-
- this.g_main.clipRect(0, var8 - 1, this.rsubWidth, this.main.getHeight(this) - var8 + 1);
- this.g_main.drawImage(var18, 0, var8, this);
- this.g_main = this.main.getGraphics();
- this.paintIt();
-
- for(int var10 = var1 + 1; var10 < this.main_starty.length; ++var10) {
- this.main_starty[var10] += var3;
-
- for(int var11 = this.sub_start_index[var10]; var11 < this.sub_start_index[var10] + this.num_mainsubs[var10]; ++var11) {
- this.sub_starty[var11] += var3;
- }
- }
-
- this.m_sub_expanded[var1] = true;
- this.curExpandHeight += var3;
- this.hlMainArrows(var1, true);
- if (!this.first_force) {
- this.checkHL(this.field_2, this.field_1);
- } else {
- this.first_force = false;
- }
-
- this.paintIt();
- this.setScrollBar();
- this.curMain = var1;
- }
-
- private void setScrollBar() {
- if (this.m_hide_sb && this.curExpandHeight <= this.field_0.height) {
- if (!this.bar_removed) {
- ((Container)this).remove(this.field_3);
- this.bar_removed = true;
- return;
- }
- } else {
- if (this.bar_removed) {
- ((Container)this).add(this.field_3);
- this.bar_removed = false;
- }
-
- this.field_3.setValues(this.m_lineinc, this.field_0.height, this.curExpandHeight, Math.abs(this.scroll_y));
- }
-
- }
-
- private void startRetract(int var1) {
- if (this.curMain > -1) {
- this.stop();
- if (this.curMain != var1) {
- this.undoArrowHL(this.curMain);
- }
-
- if (this.m_animate_arrows) {
- this.drawArrow(2, this.m_arrowxoffset, this.main_starty[var1] + this.m_arrowyoffset, this.m_arrow_activecolor);
- this.paintIt();
- }
-
- this.curMain = -1;
- }
-
- this.er_id = var1;
- this.animating = true;
- this.go_retract = true;
- this.start();
- }
-
- public void run() {
- if (this.first_run) {
- this.firstRun();
- this.first_run = false;
- if (this.mouseIn) {
- ((OCAviewerExtend)this).showStatus(this.m_onsbtext);
- } else {
- ((OCAviewerExtend)this).showStatus(this.m_offsbtext);
- }
-
- this.paintIt();
- }
-
- if (this.er_id > -1) {
- if (this.go_expand) {
- this.expandItem(this.er_id);
- } else if (this.go_retract) {
- this.retractItem(this.er_id);
- }
-
- this.er_id = -1;
- this.animating = false;
- this.go_expand = false;
- this.go_retract = false;
- }
-
- while(true) {
- while(!this.m_animate_arrows) {
- this.stop();
- }
-
- if (this.curMain > -1) {
- this.hlMainArrows(this.curMain, true);
- this.paintIt();
-
- try {
- Thread.sleep(750L);
- } catch (InterruptedException var2) {
- }
- }
-
- while(this.curMain > -1) {
- int var1 = 6;
-
- do {
- this.drawAnimatedArrows(this.curMain, var1);
- this.paintIt();
-
- try {
- Thread.sleep(25L);
- } catch (InterruptedException var7) {
- }
-
- var1 -= 2;
- } while(var1 > 0);
-
- this.drawAnimatedArrows(this.curMain, 0);
- this.paintIt();
-
- try {
- Thread.sleep(500L);
- } catch (InterruptedException var6) {
- }
-
- var1 = 2;
-
- do {
- this.drawAnimatedArrows(this.curMain, var1);
- this.paintIt();
-
- try {
- Thread.sleep(25L);
- } catch (InterruptedException var5) {
- }
-
- var1 += 2;
- } while(var1 < 8);
-
- this.hlMainArrows(this.curMain, true);
- this.paintIt();
-
- try {
- Thread.sleep(400L);
- } catch (InterruptedException var4) {
- }
- }
-
- try {
- Thread.sleep(100L);
- } catch (InterruptedException var3) {
- }
-
- this.stop();
- }
- }
-
- public void init() {
- String var1 = "SmartTree Menu, Copyright (c) 1999, OpenCube Inc.";
- this.field_0 = ((Component)this).size();
- int var3 = 0;
- int var4 = 0;
- String var2 = ((OCAviewerExtend)this).getParameter("Notice");
- if (var2 == null) {
- this.m_onsbtext = "Missing 'Notice' Tag";
- } else {
- String var5 = compkey.getKey(var2, ((OCAviewerExtend)this).getDocumentBase());
- if (!var5.equals(var1)) {
- if (var5.equals("-1")) {
- this.m_onsbtext = "Incorrect Base URL Registration";
- } else {
- this.m_onsbtext = "Incorrect Copyright Notice in 'Notice' tag";
- }
- } else {
- this.tag = true;
- var2 = ((OCAviewerExtend)this).getParameter("onsbtext");
- if (var2 != null) {
- this.m_onsbtext = var2;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("offsbtext");
- if (var2 != null) {
- this.m_offsbtext = var2;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("loadmsgcolor");
- if (var2 != null) {
- this.m_load_msgcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("loadmsg");
- if (var2 != null) {
- this.m_load_msg = var2;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("maintextyoffset");
- if (var2 != null) {
- this.m_maintext_yoffset = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("loadfont");
- if (var2 != null) {
- this.m_load_font = ocfontc.getFontSD(var2, ",");
- } else {
- this.m_load_font = new Font("Helvetica", 0, 12);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("loadwhere");
- if (var2 != null) {
- this.m_loadwhere = var2;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("animatearrows");
- if (var2 != null) {
- this.m_animate_arrows = Boolean.valueOf(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("tilebginmargins");
- if (var2 != null) {
- this.m_tilebgin_margins = Boolean.valueOf(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("underlinemaintext");
- if (var2 != null) {
- this.m_unmaintext = Boolean.valueOf(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("hidebar");
- if (var2 != null) {
- this.m_hide_sb = Boolean.valueOf(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("underlinesubtext");
- if (var2 != null) {
- this.m_unsubtext = Boolean.valueOf(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("clipmainbg");
- if (var2 != null) {
- this.m_clip_main_bg = Boolean.valueOf(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("clipadditionheight");
- if (var2 != null) {
- this.m_additional_clip_height = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("tilemainbg");
- if (var2 != null) {
- this.m_tile_mainbg = Boolean.valueOf(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("tilesubbg");
- if (var2 != null) {
- this.m_tile_subbg = Boolean.valueOf(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("bgcolor");
- if (var2 != null) {
- this.m_bgcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mainboxcolor");
- if (var2 != null) {
- this.m_main_boxcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("maintextcolor");
- if (var2 != null) {
- this.m_main_textcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("maintexthlcolor");
- if (var2 != null) {
- this.m_main_texthlcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mainoutcolor");
- if (var2 != null) {
- this.m_main_outcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mainhloutcolor");
- if (var2 != null) {
- this.m_main_hloutcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("subboxcolor");
- if (var2 != null) {
- this.m_sub_boxcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("suboutcolor");
- if (var2 != null) {
- this.m_sub_outcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("subhloutcolor");
- if (var2 != null) {
- this.m_sub_hloutcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("subtextcolor");
- if (var2 != null) {
- this.m_sub_textcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("subhltextcolor");
- if (var2 != null) {
- this.m_sub_hltextcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("arrowcolor");
- if (var2 != null) {
- this.m_arrowcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("arrowhlcolor");
- if (var2 != null) {
- this.m_arrowhlcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("arrowactivecolor");
- if (var2 != null) {
- this.m_arrow_activecolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mainbgimage");
- if (var2 != null) {
- this.m_main_bgfile = var2;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("subbgimage");
- if (var2 != null) {
- this.m_sub_bgfile = var2;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("jumpsize");
- if (var2 != null) {
- this.m_jump_size = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("startopenindex");
- if (var2 != null) {
- this.m_startopen_index = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("jumpdelay");
- if (var2 != null) {
- this.m_delay = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mainlmargin");
- if (var2 != null) {
- this.m_main_lmargin = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mainrmargin");
- if (var2 != null) {
- this.m_main_rmargin = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("sublmargin");
- if (var2 != null) {
- this.m_sub_lmargin = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("subrmargin");
- if (var2 != null) {
- this.m_sub_rmargin = Integer.parseInt(var2);
- }
-
- this.m_sub_lmargin += this.m_main_lmargin;
- this.m_sub_rmargin += this.m_main_rmargin;
- var2 = ((OCAviewerExtend)this).getParameter("maintextindent");
- if (var2 != null) {
- this.m_main_text_indent = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mainiconindent");
- if (var2 != null) {
- this.m_main_icon_indent = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("subiconindent");
- if (var2 != null) {
- this.m_sub_icon_indent = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mainicontopoffset");
- if (var2 != null) {
- this.m_main_icon_voffset = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("subicontopoffset");
- if (var2 != null) {
- this.m_sub_icon_voffset = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("subtextindent");
- if (var2 != null) {
- this.m_sub_text_indent = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("arrowyoffset");
- if (var2 != null) {
- this.m_arrowyoffset = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("arrowxoffset");
- if (var2 != null) {
- this.m_arrowxoffset = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("itemheight");
- if (var2 != null) {
- this.m_item_height = Integer.parseInt(var2);
- if (this.m_item_height > 0) {
- this.inputHeightFixed = true;
- }
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mainfont");
- if (var2 != null) {
- this.m_main_font = ocfontc.getFontSD(var2, ",");
- } else {
- this.m_main_font = new Font("Helvetica", 0, 12);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("subfont");
- if (var2 != null) {
- this.m_sub_font = ocfontc.getFontSD(var2, ",");
- } else {
- this.m_sub_font = new Font("Helvetica", 0, 12);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("endcapimage");
- if (var2 != null) {
- this.m_endcap_image = var2;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("barwidth");
- if (var2 != null) {
- this.m_sbwidth = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("barbuttoncolor");
- if (var2 != null) {
- this.m_bc = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("bararrowcolor");
- if (var2 != null) {
- this.m_ac = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("bararrowhlcolor");
- if (var2 != null) {
- this.m_hc = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("barbgcolor");
- if (var2 != null) {
- this.m_bgc = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("barslidecolor");
- if (var2 != null) {
- this.m_sc = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("baroutlinecolor");
- if (var2 != null) {
- this.m_oc = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("barbarrowcolor");
- if (var2 != null) {
- this.m_mac = occcolor.ConvertColor(var2);
- } else {
- this.m_mac = this.m_bc;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("barbarrowhlcolor");
- if (var2 != null) {
- this.m_machl = occcolor.ConvertColor(var2);
- } else {
- this.m_machl = this.m_mac;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("barinactivecolor");
- if (var2 != null) {
- this.m_unact = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("barslideinset");
- if (var2 != null) {
- this.m_si = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("barflat");
- if (var2 != null) {
- this.m_sbflat = Boolean.valueOf(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("barindentbubble");
- if (var2 != null) {
- this.m_indent_bubble = Boolean.valueOf(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("tilebginbar");
- if (var2 != null) {
- this.m_tile_bg_insb = Boolean.valueOf(var2);
- }
-
- this.sbx = this.field_0.width - this.m_sbwidth;
- this.field_0 = new Dimension(this.field_0.width - this.m_sbwidth, this.field_0.height);
-
- int var6;
- for(var6 = 0; ((OCAviewerExtend)this).getParameter("maindesc" + var3) != null; ++this.num_main) {
- while(((OCAviewerExtend)this).getParameter("subdesc" + var3 + "-" + var4) != null) {
- ++var4;
- ++var6;
- if (var4 > this.max_subs) {
- this.max_subs = var4;
- }
- }
-
- var4 = 0;
- ++var3;
- }
-
- this.total_subs = var6;
- this.sub_id = new int[this.total_subs];
- this.m_sub_desc = new String[this.total_subs];
- this.sub_icon_id = new int[this.total_subs];
- this.sub_starty = new int[this.total_subs];
- this.sub_offy = new int[this.total_subs];
- this.m_sub_url = new String[this.total_subs];
- this.m_main_url = new String[this.num_main];
- this.num_mainsubs = new int[this.num_main];
- this.m_main_desc = new String[this.num_main];
- this.main_icon_id = new int[this.num_main];
- this.m_sub_expanded = new boolean[this.num_main];
- this.main_starty = new int[this.num_main];
- this.sub_start_index = new int[this.num_main];
- this.arErase = new Image[this.num_main];
- var6 = 0;
-
- for(int var79 = 0; var79 < this.num_main; ++var79) {
- for(int var82 = 0; ((OCAviewerExtend)this).getParameter("subdesc" + var79 + "-" + var82) != null; ++var82) {
- int var10002 = this.num_mainsubs[var79]++;
- }
-
- for(int var83 = 0; var83 < this.num_mainsubs[var79]; ++var83) {
- this.sub_id[var6] = var79;
- var2 = ((OCAviewerExtend)this).getParameter("subdesc" + var79 + "-" + var83);
- if (var2 != null) {
- this.m_sub_desc[var6] = var2;
- String[] var7 = this.getIdandText(this.m_sub_desc[var6]);
- this.sub_icon_id[var6] = Integer.parseInt(var7[0]);
- this.m_sub_desc[var6] = var7[1];
- } else {
- this.m_sub_desc[var6] = "";
- this.sub_icon_id[var79] = -1;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("suburl" + var79 + "-" + var83);
- if (var2 != null) {
- this.m_sub_url[var6] = var2;
- } else {
- this.m_sub_url[var6] = "-1";
- }
-
- ++var6;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("maindesc" + var79);
- if (var2 != null) {
- this.m_main_desc[var79] = new String(var2);
- String[] var85 = this.getIdandText(this.m_main_desc[var79]);
- this.main_icon_id[var79] = Integer.parseInt(var85[0]);
- this.m_main_desc[var79] = var85[1];
- } else {
- this.m_main_desc[var79] = "";
- this.main_icon_id[var79] = -1;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mainurl" + var79);
- if (var2 != null) {
- this.m_main_url[var79] = new String(var2);
- } else {
- this.m_main_url[var79] = "-1";
- }
- }
-
- int var86 = 0;
-
- for(int var80 = 0; var80 < this.num_mainsubs.length; ++var80) {
- this.sub_start_index[var80] = var86;
- var86 += this.num_mainsubs[var80];
- }
-
- while(((OCAviewerExtend)this).getParameter("iconfile" + this.num_icons) != null) {
- ++this.num_icons;
- }
-
- this.m_icon_file = new String[this.num_icons];
- this.m_icon_switchfile = new String[this.num_icons];
- this.i_pic = new Image[this.num_icons];
- this.s_pic = new Image[this.num_icons];
- this.icon_d = new Dimension[this.num_icons];
-
- for(int var81 = 0; var81 < this.num_icons; ++var81) {
- var2 = ((OCAviewerExtend)this).getParameter("iconfile" + var81);
- if (var2 != null) {
- this.m_icon_file[var81] = new String(var2);
- } else {
- this.m_icon_file[var81] = new String(" ");
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("iconswitchfile" + var81);
- if (var2 != null) {
- this.m_icon_switchfile[var81] = new String(var2);
- } else {
- this.m_icon_switchfile[var81] = this.m_icon_file[var81];
- }
- }
-
- }
- }
- }
-
- public boolean handleEvent(Event var1) {
- if (var1.target == this.field_3) {
- this.scrollIt(var1.id, true);
- }
-
- return super.handleEvent(var1);
- }
-
- public boolean mouseDrag(Event var1, int var2, int var3) {
- this.field_1 = var3;
- this.field_2 = var2;
- return true;
- }
-
- private void undoArrowHL(int var1) {
- if (this.m_sub_expanded[var1]) {
- this.drawArrow(2, this.m_arrowxoffset, this.main_starty[var1] + this.m_arrowyoffset, this.m_arrowcolor);
- } else {
- this.drawArrow(1, this.m_arrowxoffset, this.main_starty[var1] + this.m_arrowyoffset, this.m_arrowcolor);
- }
- }
-
- private void hlMainArrows(int var1, boolean var2) {
- if (var2) {
- this.drawAnimatedArrows(var1, 8);
- } else if (this.m_sub_expanded[var1]) {
- this.drawArrow(2, this.m_arrowxoffset, this.main_starty[var1] + this.m_arrowyoffset, this.m_arrowhlcolor);
- } else {
- this.drawArrow(1, this.m_arrowxoffset, this.main_starty[var1] + this.m_arrowyoffset, this.m_arrowhlcolor);
- }
- }
-
- private void undohlSubText(int var1) {
- this.g_main.drawImage(this.bitsub, 0, this.sub_starty[var1], this);
- }
-
- private void mouseMove(int var1, int var2) {
- if (var1 < this.field_0.width - this.m_main_rmargin && var1 > this.m_main_lmargin) {
- this.checkHL(var1, var2);
- } else {
- this.field_1 = -1;
- this.field_2 = -1;
- this.undoHL();
- }
- }
- }
-