home *** CD-ROM | disk | FTP | other *** search
- import java.applet.Applet;
- import java.awt.Color;
- import java.awt.Component;
- 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.MediaTracker;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.Stack;
- import java.util.Vector;
-
- public class slidem extends OCAviewerExtend implements Runnable {
- Thread trun;
- boolean clickloaded;
- boolean moveloaded;
- int usub_h = -1;
- boolean mu_h = false;
- boolean mouse_in = true;
- String prev_url = "-1";
- Font sub_font;
- FontMetrics fm_sub_font;
- Font main_font;
- FontMetrics fm_main_font;
- int max_subs = 0;
- int break_picload = 0;
- int break_pictype = 0;
- int break_up = 0;
- int last_bitstart = -1;
- int addB = 0;
- int mStart = 0;
- int last_bs;
- int cur_expand = -1;
- int break_bgload;
- URL goURL;
- // $FF: renamed from: d java.awt.Dimension
- Dimension field_0;
- Image[] suboff;
- Graphics[] g_suboff;
- Image bitoff;
- Graphics g_bitoff;
- Image mainoff;
- Graphics g_mainoff;
- // $FF: renamed from: ts java.awt.Image
- Image field_1;
- Graphics g_ts;
- int menux;
- int menuy;
- int menuwidth;
- int menuheight;
- int extra_length;
- int level_max;
- int max_open;
- int bitheight;
- int on_sub_num = 0;
- int last_sub;
- boolean sub_highlighted = false;
- boolean tag = false;
- boolean first_run = true;
- private boolean m_check_previous_link = false;
- private String m_loadwhere = "_self";
- private String[] m_main_desturl;
- private Color m_bgcolor;
- private int m_jump_size;
- private int m_delay;
- private boolean m_tile_menus_only;
- private int m_top_offset;
- private boolean m_hl_text_only;
- private boolean m_retract_from_offscreen;
- private int m_sub_indent;
- private int m_sub_height;
- private Color m_sub_color;
- private Color m_sub_textcolor;
- private Color m_sub_hlcolor;
- private Color m_sub_hltextcolor;
- private Color m_sub_hlocolor;
- boolean[] gif_tile;
- private String m_sub_bgfile;
- private Image m_subbg;
- private boolean m_bgfile_stat;
- private int m_sub_icon_indent;
- private String m_load_msg;
- private Color m_load_msgcolor;
- private Color[] mc_sub_color;
- private Color[] mc_sub_textcolor;
- private Color[] mc_sub_hlcolor;
- private Color[] mc_sub_hltextcolor;
- private Color[] mc_sub_hlocolor;
- private String[] mc_sub_bgfile;
- private boolean[] mc_bgfile_stat;
- private Image[] mc_subbg;
- private Color[] mcu_sub_hlcolor;
- private Color[] mcu_sub_hltextcolor;
- private Color[] mcu_sub_hlocolor;
- private Color mu_sub_hlcolor;
- private Color mu_sub_hltextcolor;
- private Color mu_sub_hlocolor;
- private String m_onsbtext;
- private String m_offsbtext;
- private String[] m_icon_file;
- private String[] m_switchfile;
- private String[] m_switchufile;
- private int[] m_pic_ycord;
- private String[] m_maindesc;
- private int[] m_mainicon;
- private int m_main_height;
- private int m_main_indent;
- private int m_main_icon_indent;
- private String m_main_bgfile;
- private boolean main_gif_tile;
- private Image m_main_bgimage;
- private boolean m_tile_bg;
- private Color m_main_textcolor;
- private Color m_main_ocolor;
- private Color m_main_hltextcolor;
- private Color m_main_hlocolor;
- private Color m_main_hlbgcolor;
- private Color mu_main_hltextcolor;
- private Color mu_main_hlocolor;
- private Color mu_main_hlbgcolor;
- int last_drawn;
- int last_level;
- int num_main;
- int num_icons;
- int add_m;
- boolean[] no_subs;
- String[] subs;
- String[] p_subs;
- int[] ItoM;
- Image[] i_pic;
- Image[] s_pic;
- Image[] u_pic;
- int cur_level;
- int real_level;
- boolean[] i_pic_stat;
- boolean[] s_pic_stat;
- boolean[] u_pic_stat;
- int[] menu_coords;
- String cur_link;
-
- 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 void stop() {
- this.trun.interrupt();
- }
-
- public boolean mouseEnter(Event var1, int var2, int var3) {
- this.mouse_in = true;
- if (!this.tag) {
- ((OCAviewerExtend)this).showStatus(this.m_onsbtext);
- return true;
- } else {
- if (this.first_run) {
- ((OCAviewerExtend)this).showStatus("Loading Menu Images...");
- } else {
- ((OCAviewerExtend)this).showStatus(this.m_onsbtext);
- }
-
- return true;
- }
- }
-
- public void USubHighlight(int var1, int var2, int var3) {
- this.UndoH();
- ++var3;
- this.usub_h = var2;
- this.last_sub = var1;
- this.last_level = var2;
- this.last_bitstart = var3;
- int var4 = this.menu_coords[var2 * 7 + 6];
- Color var5 = this.mu_sub_hlcolor;
- Color var6 = this.mu_sub_hlocolor;
- Color var7 = this.mu_sub_hltextcolor;
- if (var2 > 0) {
- var5 = this.mcu_sub_hlcolor[var2 - 1];
- var6 = this.mcu_sub_hlocolor[var2 - 1];
- var7 = this.mcu_sub_hltextcolor[var2 - 1];
- }
-
- int var8 = this.m_sub_indent;
- if (this.m_sub_icon_indent < 0) {
- var8 = this.m_sub_indent - this.m_sub_icon_indent + 1;
- }
-
- if (this.m_hl_text_only) {
- var8 = 3;
- }
-
- int var9 = this.menu_coords[var2 * 7] - var8;
- this.g_bitoff.drawImage(this.field_1, 0, -var3, this);
- if (var5 != null) {
- this.g_bitoff.setColor(var5);
- this.g_bitoff.fillRect(var9, 0, this.field_0.width - var9, this.bitheight);
- }
-
- if (var6 != null) {
- this.g_bitoff.setColor(var6);
- this.g_bitoff.drawRect(var9, 0, this.field_0.width - (var9 + 1), this.bitheight);
- }
-
- String var10 = this.subs[var4 + var1 * 4 + 1];
- int var11 = Integer.parseInt(this.subs[var4 + var1 * 4 + 2]);
- if (this.u_pic != null && var11 > -1 && var11 < this.u_pic.length && this.u_pic[var11] != null) {
- this.g_bitoff.drawImage(this.u_pic[var11], this.menu_coords[var2 * 7] - this.m_sub_indent + this.m_sub_icon_indent, this.bitheight / 2 - this.u_pic[var11].getHeight(this) / 2, this);
- }
-
- this.g_bitoff.setColor(var7);
- this.g_bitoff.drawString(var10, this.menu_coords[var2 * 7], this.bitheight / 2 - this.fm_sub_font.getHeight() / 2 + this.fm_sub_font.getAscent());
- ((Component)this).getGraphics().drawImage(this.bitoff, 0, var3, this);
- }
-
- public synchronized void UndoSubHighlight() {
- ((Component)this).getGraphics().drawImage(this.field_1, 0, 0, this);
- this.usub_h = -1;
- this.sub_highlighted = false;
- this.last_sub = -1;
- this.last_level = -1;
- }
-
- public synchronized void checkMouse(int var1, int var2, boolean var3) {
- int var4 = 0;
- if (this.cur_expand > -1 && this.cur_level > -1 && var2 < this.m_pic_ycord[this.cur_expand] + this.m_main_height + this.add_m && var2 > this.m_pic_ycord[this.cur_expand] + this.m_main_height) {
- this.mStart = this.m_pic_ycord[this.cur_expand] + this.m_main_height;
- int var5 = (var2 - this.mStart) / this.bitheight + 1;
- int var6 = this.menu_coords[this.cur_level * 7 + 1] + this.menu_coords[this.cur_level * 7 + 3] - 1;
- int var7 = this.addB + this.menu_coords[this.cur_level * 7 + 4];
- int var8 = 0;
- if (var2 > var6) {
- for(int var12 = this.cur_level - 1; var12 >= 0; --var12) {
- var4 = var12 * 7;
- var7 += this.menu_coords[var4 + 4] - this.menu_coords[var4 + 7 + 5];
- if (var5 <= var7) {
- this.real_level = var12;
- this.MouseInSub(this.menu_coords[var4 + 4] - (var7 - var5), var3, var5);
- return;
- }
- }
-
- } else if (var2 > this.menu_coords[this.cur_level * 7 + 1]) {
- this.real_level = this.cur_level;
- this.MouseInSub(var5 - this.addB, var3, var5);
- } else {
- for(int var9 = 0; var9 < this.cur_level; ++var9) {
- var4 = var9 * 7;
- if (var5 <= var8 + this.menu_coords[var4 + 7 + 5]) {
- this.real_level = var9;
- this.MouseInSub(var5 - var8, var3, var5);
- return;
- }
-
- var8 += this.menu_coords[var4 + 7 + 5];
- }
-
- }
- } else {
- this.real_level = -1;
- if (this.sub_highlighted || this.usub_h > -1) {
- this.UndoSubHighlight();
- }
-
- this.on_sub_num = -1;
- if (this.cur_expand > -1) {
- if (!this.MouseInMain(var2, var3, 0, this.cur_expand + 1, 0)) {
- this.MouseInMain(var2, var3, this.cur_expand + 1, this.num_main, this.add_m);
- }
-
- } else {
- if (!this.MouseInMain(var2, var3, 0, this.num_main, 0)) {
- this.UndoH();
- }
-
- }
- }
- }
-
- public void UHighlightPic(int var1, int var2) {
- this.g_mainoff.drawImage(this.field_1, 0, -var2, this);
- if (this.mu_main_hlbgcolor != null) {
- this.g_mainoff.setColor(this.mu_main_hlbgcolor);
- this.g_mainoff.fillRect(0, 0, this.field_0.width, this.m_main_height);
- }
-
- if (this.i_pic != null && this.m_mainicon[var1] > -1 && this.m_mainicon[var1] < this.i_pic.length && this.i_pic[this.m_mainicon[var1]] != null) {
- this.g_mainoff.drawImage(this.u_pic[this.m_mainicon[var1]], this.m_main_icon_indent, this.m_main_height / 2 - this.u_pic[this.m_mainicon[var1]].getHeight(this) / 2, this);
- }
-
- if (this.mu_main_hlocolor != null) {
- this.g_mainoff.setColor(this.mu_main_hlocolor);
- this.g_mainoff.drawRect(0, 0, this.field_0.width - 1, this.m_main_height);
- }
-
- this.g_mainoff.setColor(this.mu_main_hltextcolor);
- this.g_mainoff.drawString(this.m_maindesc[var1], this.m_main_indent, this.m_main_height / 2 - this.fm_main_font.getHeight() / 2 + this.fm_main_font.getAscent());
- ((Component)this).getGraphics().drawImage(this.mainoff, 0, var2, this);
- this.mu_h = true;
- }
-
- public boolean mouseExit(Event var1, int var2, int var3) {
- this.mouse_in = true;
- if (!this.sub_highlighted && this.usub_h <= -1) {
- if (this.last_drawn != -1) {
- ((Component)this).getGraphics().drawImage(this.field_1, 0, 0, this);
- this.last_drawn = -1;
- }
- } else {
- this.UndoSubHighlight();
- this.on_sub_num = -1;
- }
-
- if (!this.tag) {
- ((OCAviewerExtend)this).showStatus(this.m_onsbtext);
- return true;
- } else {
- if (this.first_run) {
- ((OCAviewerExtend)this).showStatus("Loading Menu Images...");
- } else {
- ((OCAviewerExtend)this).showStatus(this.m_offsbtext);
- }
-
- return true;
- }
- }
-
- public synchronized void growSub(int var1, int var2) {
- int var3 = 0;
- int var4 = this.menu_coords[var1 * 7 + 3];
- int var5 = this.menu_coords[var1 * 7 + 1] + 1;
- this.add_m += var4;
- this.addB += var2;
- this.g_ts.clipRect(0, var5, this.field_0.width, this.field_0.height + this.extra_length - var5);
- Image var6 = ((Component)this).createImage(this.field_0.width, this.field_0.height + this.extra_length - var5);
- Graphics var7 = var6.getGraphics();
- var7.drawImage(this.field_1, 0, -var5, this);
-
- for(int var9 = var5; var9 < var5 + var4 + 1; var9 += this.m_jump_size) {
- this.g_ts.drawImage(this.suboff[var1], 0, var9 - var4, this);
- this.g_ts.drawImage(var6, 0, var9, this);
- ((Component)this).getGraphics().drawImage(this.field_1, 0, 0, this);
-
- try {
- Thread.sleep((long)this.m_delay);
- } catch (InterruptedException var8) {
- }
- }
-
- var3 = var5 + var4;
- if (this.m_jump_size > 1) {
- this.g_ts.drawImage(this.suboff[var1], 0, var3 - var4, this);
- this.g_ts.drawImage(var6, 0, var3, this);
- ((Component)this).getGraphics().drawImage(this.field_1, 0, 0, this);
- }
-
- this.g_ts = this.field_1.getGraphics();
- System.gc();
- }
-
- public void ExpandSub(boolean var1, int var2) {
- if (var1) {
- if (!this.no_subs[var2] && this.cur_level > -1) {
- for(int var3 = this.cur_level; var3 > this.real_level; --var3) {
- this.shrinkSub(var3);
- }
- }
-
- if (!this.drawMainMenu(var2)) {
- this.cur_link = this.m_main_desturl[var2];
- return;
- }
-
- this.cur_link = this.m_main_desturl[var2];
- this.growSub(this.cur_level, 0);
- this.mu_h = false;
- this.cur_expand = var2;
- }
-
- }
-
- public void paint(Graphics var1) {
- this.paintIt(var1);
- }
-
- public boolean MouseInMain(int var1, boolean var2, int var3, int var4, int var5) {
- for(int var6 = var3; var6 < var4; ++var6) {
- if (var1 > this.m_pic_ycord[var6] + var5 && var1 < this.m_pic_ycord[var6] + this.m_main_height + var5) {
- if (var6 != this.cur_expand) {
- if (var6 != this.last_drawn) {
- ((Component)this).getGraphics().drawImage(this.field_1, 0, 0, this);
- this.last_drawn = var6;
- if (var2) {
- this.ExpandSub(var2, var6);
- } else {
- this.HighlightPic(var6, this.m_pic_ycord[var6] + var5);
- }
-
- return true;
- }
- } else {
- if (!this.mu_h || var6 != this.last_drawn) {
- this.UndoH();
- }
-
- if (var6 != this.last_drawn) {
- this.UHighlightPic(var6, this.m_pic_ycord[var6] + var5);
- this.last_drawn = var6;
- }
- }
-
- if (var2) {
- if (var6 != this.cur_expand) {
- this.ExpandSub(var2, var6);
- } else {
- if (this.cur_level != -1) {
- for(int var7 = this.cur_level; var7 > this.real_level; --var7) {
- this.shrinkSub(var7);
- }
-
- this.mu_h = false;
- this.cur_level = -1;
- this.cur_expand = -1;
- this.HighlightPic(var6, this.m_pic_ycord[var6] + var5);
- this.cur_link = "-1";
- return true;
- }
-
- if (!this.drawMainMenu(var6)) {
- this.cur_link = this.m_main_desturl[var6];
- } else {
- this.growSub(this.cur_level, 0);
- this.cur_expand = var6;
- }
- }
- }
-
- return true;
- }
- }
-
- return false;
- }
-
- public Image trackReturn(String var1) {
- 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);
- if (var6 != null) {
- 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;
- }
- } else {
- return null;
- }
- }
-
- public boolean mouseUp(Event var1, int var2, int var3) {
- if (this.first_run) {
- return true;
- } else {
- this.checkMouse(var2, var3, false);
- return true;
- }
- }
-
- public slidem() {
- this.m_bgcolor = Color.white;
- this.m_jump_size = 2;
- this.m_delay = 10;
- this.m_tile_menus_only = true;
- this.m_top_offset = 0;
- this.m_hl_text_only = false;
- this.m_retract_from_offscreen = true;
- this.m_sub_indent = 40;
- this.m_sub_height = -1;
- this.m_sub_color = Color.yellow;
- this.m_sub_textcolor = Color.black;
- this.m_sub_hlcolor = null;
- this.m_sub_hltextcolor = Color.red;
- this.m_sub_hlocolor = null;
- this.m_sub_icon_indent = 1;
- this.m_load_msg = "Loading Images...";
- this.m_load_msgcolor = Color.white;
- this.mu_sub_hlcolor = null;
- this.mu_sub_hltextcolor = Color.red;
- this.mu_sub_hlocolor = null;
- this.m_onsbtext = "OpenCube - Sliding Tree Menu";
- this.m_offsbtext = "Java by OpenCube";
- this.m_main_height = -1;
- this.m_main_indent = 10;
- this.m_main_icon_indent = 1;
- this.m_main_bgfile = "-1";
- this.main_gif_tile = false;
- this.m_tile_bg = true;
- this.m_main_textcolor = Color.black;
- this.m_main_ocolor = null;
- this.m_main_hltextcolor = Color.red;
- this.m_main_hlocolor = null;
- this.m_main_hlbgcolor = null;
- this.mu_main_hltextcolor = Color.red;
- this.mu_main_hlocolor = null;
- this.mu_main_hlbgcolor = null;
- this.last_drawn = -1;
- this.last_level = -1;
- this.num_main = 0;
- this.num_icons = 0;
- this.cur_level = -1;
- this.real_level = 0;
- this.cur_link = "-1";
- }
-
- public void paintIt(Graphics var1) {
- if (!this.tag) {
- var1.setColor(Color.black);
- var1.drawString(this.m_onsbtext, 5, 20);
- } else {
- var1.drawImage(this.field_1, 0, 0, this);
- }
- }
-
- public boolean drawMainMenu(int var1) {
- if (this.no_subs[var1]) {
- return false;
- } else {
- int var2 = new Integer(this.p_subs[this.ItoM[var1] + 3]) - new Integer(this.p_subs[this.ItoM[var1] + 2]) + 1;
- int var3 = new Integer(this.p_subs[this.ItoM[var1] + 2]) * 4;
- this.addB = 0;
- this.add_m = 0;
- this.menux = this.m_main_indent + this.m_sub_indent;
- this.menuy = this.m_pic_ycord[var1] + this.m_main_height;
- this.menuwidth = this.field_0.width - (this.m_main_indent + this.m_sub_indent) - 1;
- this.menuheight = var2 * this.bitheight;
- this.menu_coords[0] = this.menux;
- this.menu_coords[1] = this.menuy;
- this.menu_coords[2] = this.menuwidth;
- this.menu_coords[3] = this.menuheight;
- this.menu_coords[4] = var2;
- this.menu_coords[5] = var1;
- this.menu_coords[6] = var3;
- this.suboff[0] = ((Component)this).createImage(this.field_0.width, this.menuheight + 1);
- this.g_suboff[0] = this.suboff[0].getGraphics();
- this.g_suboff[0].setFont(this.sub_font);
- Color var4 = this.mc_sub_color[0];
- Color var5 = this.mc_sub_textcolor[0];
- Image var6 = this.mc_subbg[0];
- boolean var7 = this.mc_bgfile_stat[0];
- this.g_suboff[0].setColor(var4);
- this.g_suboff[0].fillRect(0, 0, this.field_0.width, this.menuheight);
- if (var7) {
- int var8 = 0;
- int var9 = 0;
- int var10 = this.m_subbg.getWidth(this);
- int var11 = this.m_subbg.getHeight(this);
- if (this.gif_tile[0]) {
- var9 = -1;
- }
-
- while(true) {
- this.g_suboff[0].drawImage(var6, var8, var9, this);
- var8 += var10;
- if (var8 > this.field_0.width) {
- var8 = 0;
- var9 += var11;
- if (this.gif_tile[0]) {
- --var9;
- }
-
- if (var9 > this.menuheight + 1) {
- break;
- }
- }
- }
- }
-
- for(int var12 = 0; var12 < var2; ++var12) {
- int var13 = Integer.parseInt(this.subs[var3 + var12 * 4 + 2]);
- if (this.i_pic != null && var13 > -1 && var13 < this.i_pic.length && this.i_pic[var13] != null) {
- this.g_suboff[0].drawImage(this.i_pic[var13], this.menux - this.m_sub_indent + this.m_sub_icon_indent, this.bitheight * var12 + this.bitheight / 2 - this.i_pic[var13].getHeight(this) / 2, this);
- }
-
- this.g_suboff[0].setColor(var5);
- this.g_suboff[0].drawString(this.subs[var3 + var12 * 4 + 1], this.menux, this.bitheight * var12 + this.bitheight / 2 - this.fm_sub_font.getHeight() / 2 + this.fm_sub_font.getAscent());
- }
-
- this.cur_level = 0;
- return true;
- }
- }
-
- public void destroy() {
- if (this.trun != null) {
- this.trun.stop();
- this.trun = null;
- }
-
- }
-
- public void HighlightPic(int var1, int var2) {
- this.g_mainoff.drawImage(this.field_1, 0, -var2, this);
- if (this.m_main_hlbgcolor != null) {
- this.g_mainoff.setColor(this.m_main_hlbgcolor);
- this.g_mainoff.fillRect(0, 0, this.field_0.width, this.m_main_height);
- }
-
- if (this.i_pic != null && this.m_mainicon[var1] > -1 && this.m_mainicon[var1] < this.i_pic.length && this.i_pic[this.m_mainicon[var1]] != null) {
- this.g_mainoff.drawImage(this.s_pic[this.m_mainicon[var1]], this.m_main_icon_indent, this.m_main_height / 2 - this.s_pic[this.m_mainicon[var1]].getHeight(this) / 2, this);
- }
-
- if (this.m_main_hlocolor != null) {
- this.g_mainoff.setColor(this.m_main_hlocolor);
- this.g_mainoff.drawRect(0, 0, this.field_0.width - 1, this.m_main_height);
- }
-
- this.g_mainoff.setColor(this.m_main_hltextcolor);
- this.g_mainoff.drawString(this.m_maindesc[var1], this.m_main_indent, this.m_main_height / 2 - this.fm_main_font.getHeight() / 2 + this.fm_main_font.getAscent());
- ((Component)this).getGraphics().drawImage(this.mainoff, 0, var2, this);
- }
-
- public void FirstRun(Graphics var1) {
- boolean var2 = false;
- this.g_ts.setColor(this.m_bgcolor);
- this.g_ts.fillRect(0, 0, this.field_0.width, this.field_0.height + this.extra_length + 1);
- this.g_ts.setFont(new Font("Helvetica", 0, 11));
- FontMetrics var3 = this.g_ts.getFontMetrics();
- this.g_ts.setColor(this.m_load_msgcolor);
- this.g_ts.drawString(this.m_load_msg, this.field_0.width / 2 - var3.stringWidth(this.m_load_msg) / 2, this.field_0.height / 2 + var3.getHeight() / 2);
- ((Component)this).getGraphics().drawImage(this.field_1, 0, 0, this);
-
- for(int var4 = this.break_pictype; var4 < this.num_icons; this.break_pictype = var4++) {
- if ((this.i_pic[var4] = this.trackReturn(this.m_icon_file[var4])) != null) {
- this.i_pic_stat[var4] = true;
- }
- }
-
- for(int var5 = this.break_picload; var5 < this.num_icons; this.break_picload = var5++) {
- if ((this.s_pic[var5] = this.trackReturn(this.m_switchfile[var5])) != null) {
- this.s_pic_stat[var5] = true;
- } else {
- this.s_pic[var5] = this.i_pic[var5];
- }
- }
-
- for(int var6 = this.break_up; var6 < this.num_icons; this.break_up = var6++) {
- if ((this.u_pic[var6] = this.trackReturn(this.m_switchufile[var6])) != null) {
- this.u_pic_stat[var6] = true;
- } else {
- this.u_pic[var6] = this.i_pic[var6];
- }
- }
-
- if ((this.m_subbg = this.trackReturn(this.m_sub_bgfile)) != null) {
- this.m_bgfile_stat = true;
- }
-
- for(int var7 = this.break_bgload; var7 < this.level_max; this.break_bgload = var7++) {
- if ((this.mc_subbg[var7] = this.trackReturn(this.mc_sub_bgfile[var7])) != null) {
- this.mc_bgfile_stat[var7] = true;
- }
- }
-
- this.m_main_bgimage = this.trackReturn(this.m_main_bgfile);
- ((Component)this).setBackground(this.m_bgcolor);
- this.g_ts.setColor(this.m_bgcolor);
- this.g_ts.fillRect(0, 0, this.field_0.width, this.field_0.height + this.extra_length + 1);
- if (this.mouse_in) {
- ((OCAviewerExtend)this).showStatus(this.m_onsbtext);
- } else {
- ((OCAviewerExtend)this).showStatus(this.m_offsbtext);
- }
- }
-
- public void MouseInSub(int var1, boolean var2, int var3) {
- int var4 = this.mStart + this.bitheight * (var3 - 1);
- if (this.real_level < this.cur_level) {
- if (this.menu_coords[(this.real_level + 1) * 7 + 5] != var1) {
- if (this.on_sub_num != var1 || this.real_level != this.last_level) {
- if (this.sub_highlighted || this.usub_h > -1) {
- this.UndoSubHighlight();
- }
-
- this.on_sub_num = var1;
- this.SubHighlight(var1 - 1, this.real_level, var4, var2);
- }
-
- this.on_sub_num = var1;
- this.checkNextLevel(var2, this.menu_coords[this.real_level * 7 + 6], var1 - 1, var4);
- } else {
- if (this.sub_highlighted) {
- this.UndoSubHighlight();
- }
-
- if (this.usub_h != this.real_level) {
- if (this.usub_h > -1) {
- this.UndoSubHighlight();
- }
-
- this.USubHighlight(var1 - 1, this.real_level, var4);
- } else {
- if (var2) {
- for(int var5 = this.cur_level; var5 > this.real_level; --var5) {
- this.shrinkSub(var5);
- }
-
- this.cur_level = this.real_level;
- this.SubHighlight(var1 - 1, this.real_level, var4, var2);
- }
-
- this.on_sub_num = var1;
- }
- }
- } else {
- if (var1 != this.on_sub_num || this.last_level != this.cur_level) {
- if (this.sub_highlighted || this.usub_h > -1) {
- this.UndoSubHighlight();
- }
-
- this.on_sub_num = var1;
- this.SubHighlight(var1 - 1, this.cur_level, var4, var2);
- }
-
- if (var2) {
- this.on_sub_num = var1;
- this.checkNextLevel(var2, this.menu_coords[this.cur_level * 7 + 6], var1 - 1, var4);
- }
-
- }
- }
-
- public synchronized void shrinkSub(int var1) {
- int var2 = 0;
- int var3 = this.menu_coords[var1 * 7 + 3];
- int var4 = this.menu_coords[var1 * 7 + 1] + 1;
- this.add_m -= var3;
- this.last_bs = var4 - this.bitheight - 1;
- this.addB -= this.menu_coords[var1 * 7 + 5];
- this.g_ts.clipRect(0, var4, this.field_0.width, this.field_0.height + this.extra_length - var4);
- Image var5 = ((Component)this).createImage(this.field_0.width, this.field_0.height + this.extra_length - var4 + this.m_jump_size);
- Graphics var6 = var5.getGraphics();
- var6.setColor(this.m_bgcolor);
- var6.fillRect(0, 0, this.field_0.width, this.field_0.height + this.extra_length - var4 + this.m_jump_size);
- var6.drawImage(this.field_1, 0, -var4, this);
-
- for(int var8 = var4; var8 > var4 - var3 - 1; var8 -= this.m_jump_size) {
- this.g_ts.drawImage(var5, 0, var8, this);
- ((Component)this).getGraphics().drawImage(this.field_1, 0, 0, this);
-
- try {
- Thread.sleep((long)this.m_delay);
- } catch (InterruptedException var7) {
- }
- }
-
- var2 = var4 - var3;
- if (this.m_jump_size > 1) {
- this.g_ts.drawImage(var5, 0, var2, this);
- ((Component)this).getGraphics().drawImage(this.field_1, 0, 0, this);
- }
-
- this.g_ts = this.field_1.getGraphics();
- }
-
- public void start() {
- if (this.tag) {
- if (this.first_run) {
- this.trun = new Thread(this);
- this.trun.start();
- } else {
- this.trun.resume();
- }
- }
- }
-
- public void SubHighlight(int var1, int var2, int var3, boolean var4) {
- this.UndoH();
- ++var3;
- this.sub_highlighted = true;
- this.last_sub = var1;
- this.last_level = var2;
- this.last_bitstart = var3;
- int var5 = this.menu_coords[var2 * 7 + 6];
- Color var6 = this.m_sub_hlcolor;
- Color var7 = this.m_sub_hlocolor;
- Color var8 = this.m_sub_hltextcolor;
- var6 = this.mc_sub_hlcolor[var2];
- var7 = this.mc_sub_hlocolor[var2];
- var8 = this.mc_sub_hltextcolor[var2];
- int var9 = this.m_sub_indent;
- if (this.m_sub_icon_indent < 0) {
- var9 = this.m_sub_indent - this.m_sub_icon_indent + 1;
- }
-
- if (this.m_hl_text_only) {
- var9 = 3;
- }
-
- int var10 = this.menu_coords[var2 * 7] - var9;
- this.g_bitoff.drawImage(this.field_1, 0, -var3, this);
- if (var6 != null) {
- this.g_bitoff.setColor(var6);
- this.g_bitoff.fillRect(var10, 0, this.field_0.width - var10, this.bitheight);
- }
-
- if (var7 != null) {
- this.g_bitoff.setColor(var7);
- this.g_bitoff.drawRect(var10, 0, this.field_0.width - (var10 + 1), this.bitheight);
- }
-
- String var11 = this.subs[var5 + var1 * 4 + 1];
- int var12 = Integer.parseInt(this.subs[var5 + var1 * 4 + 2]);
- if (this.i_pic != null && var12 > -1 && var12 < this.i_pic.length && this.i_pic[var12] != null) {
- this.g_bitoff.drawImage(this.s_pic[var12], this.menu_coords[var2 * 7] - this.m_sub_indent + this.m_sub_icon_indent, this.bitheight / 2 - this.s_pic[var12].getHeight(this) / 2, this);
- }
-
- this.g_bitoff.setColor(var8);
- this.g_bitoff.drawString(var11, this.menu_coords[var2 * 7], this.bitheight / 2 - this.fm_sub_font.getHeight() / 2 + this.fm_sub_font.getAscent());
- ((Component)this).getGraphics().drawImage(this.bitoff, 0, var3, this);
- }
-
- public boolean mouseDown(Event var1, int var2, int var3) {
- if (this.first_run) {
- return true;
- } else {
- this.checkMouse(var2, var3, true);
- if (this.cur_link.equals("-1")) {
- return true;
- } else {
- String var4 = "-1";
- Object var5 = null;
- int var6 = this.cur_link.indexOf("|");
- String var9;
- if (var6 > 0) {
- if (var6 < this.cur_link.length() - 1) {
- var9 = this.cur_link.substring(0, var6);
- var4 = this.cur_link.substring(var6 + 1);
- } else {
- var4 = this.cur_link;
- var9 = this.m_loadwhere;
- }
- } else {
- var4 = this.cur_link;
- var9 = this.m_loadwhere;
- }
-
- if (!var4.equals("-1")) {
- if (this.m_check_previous_link && this.prev_url.equals(var4)) {
- this.cur_link = "-1";
- return true;
- }
-
- try {
- this.goURL = new URL(((OCAviewerExtend)this).getDocumentBase(), var4);
- ((Applet)this).getAppletContext().showDocument(this.goURL, var9);
- this.prev_url = var4;
- } catch (MalformedURLException var7) {
- }
- }
-
- this.cur_link = "-1";
- return true;
- }
- }
- }
-
- public void run() {
- while(true) {
- if (this.first_run) {
- ((OCAviewerExtend)this).showStatus("Loading Menu Images...");
- this.FirstRun(((Component)this).getGraphics());
- this.drawMain();
- this.first_run = false;
- this.paintIt(((Component)this).getGraphics());
- }
-
- try {
- Thread.sleep(200L);
- } catch (InterruptedException var1) {
- }
- }
- }
-
- public void init() {
- String var1 = "Sliding Tree Menu, Copyright (c) 1999, OpenCube Inc.";
- this.field_0 = ((Component)this).size();
- boolean var3 = false;
- String var2 = ((OCAviewerExtend)this).getParameter("Notice");
- if (var2 == null) {
- this.m_onsbtext = "Missing 'Notice' Tag";
- } else {
- String var4 = compkey.getKey(var2, ((OCAviewerExtend)this).getDocumentBase());
- if (!var4.equals(var1)) {
- if (var4.equals("-1")) {
- this.m_onsbtext = "License Error: Invalid URL";
- } else {
- this.m_onsbtext = "Incorrect Copyright Notice in 'Notice' tag";
- }
- } else {
- this.tag = true;
- var2 = ((OCAviewerExtend)this).getParameter("subfont");
- if (var2 != null) {
- this.sub_font = ocfontc.getFontSD(var2, ",");
- } else {
- this.sub_font = new Font("Helvetica", 0, 12);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mfont");
- if (var2 != null) {
- this.main_font = ocfontc.getFontSD(var2, ",");
- } else {
- this.main_font = new Font("Helvetica", 0, 12);
- }
-
- this.fm_sub_font = ((Component)this).getFontMetrics(this.sub_font);
- this.fm_main_font = ((Component)this).getFontMetrics(this.main_font);
- var2 = ((OCAviewerExtend)this).getParameter("mindent");
- if (var2 != null) {
- this.m_main_indent = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("subindent");
- if (var2 != null) {
- this.m_sub_indent = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mheight");
- if (var2 != null) {
- this.m_main_height = Integer.parseInt(var2);
- }
-
- if (this.m_main_height < 1) {
- this.m_main_height = this.fm_main_font.getHeight();
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mtextcolor");
- if (var2 != null) {
- this.m_main_textcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mhltextcolor");
- if (var2 != null) {
- this.m_main_hltextcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("muhltextcolor");
- if (var2 != null) {
- this.mu_main_hltextcolor = occcolor.ConvertColor(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("muhltextcolor");
- if (var2 != null) {
- this.mu_main_hltextcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mhloutcolor");
- if (var2 != null) {
- this.m_main_hlocolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("muhloutcolor");
- if (var2 != null) {
- this.mu_main_hlocolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("moutcolor");
- if (var2 != null) {
- this.m_main_ocolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mbgfile");
- if (var2 != null) {
- this.m_main_bgfile = var2;
- }
-
- String var5 = this.m_main_bgfile.toLowerCase();
- if (var5.lastIndexOf("gif") != -1) {
- this.main_gif_tile = true;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mtilebg");
- if (var2 != null) {
- this.m_tile_bg = Boolean.valueOf(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("hlsubtextonly");
- if (var2 != null) {
- this.m_hl_text_only = Boolean.valueOf(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("checkprevlink");
- if (var2 != null) {
- this.m_check_previous_link = Boolean.valueOf(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mbgonmenusonly");
- if (var2 != null) {
- this.m_tile_menus_only = Boolean.valueOf(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("rfromoff");
- if (var2 != null) {
- this.m_retract_from_offscreen = Boolean.valueOf(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mhlbgcolor");
- if (var2 != null) {
- this.m_main_hlbgcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("muhlbgcolor");
- if (var2 != null) {
- this.mu_main_hlbgcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("subheight");
- if (var2 != null) {
- this.m_sub_height = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("subiconindent");
- if (var2 != null) {
- this.m_sub_icon_indent = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("s_color");
- if (var2 != null) {
- this.m_sub_color = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("s_hlcolor");
- if (var2 != null) {
- this.m_sub_hlcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("s_textcolor");
- if (var2 != null) {
- this.m_sub_textcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("s_hltextcolor");
- if (var2 != null) {
- this.m_sub_hltextcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("s_hloutcolor");
- if (var2 != null) {
- this.m_sub_hlocolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("s_uhltextcolor");
- if (var2 != null) {
- this.mu_sub_hltextcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("s_uhloutcolor");
- if (var2 != null) {
- this.mu_sub_hlocolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("s_uhlcolor");
- if (var2 != null) {
- this.mu_sub_hlcolor = occcolor.ConvertColor(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("s_bgfile");
- if (var2 != null) {
- this.m_sub_bgfile = var2;
- } else {
- this.m_sub_bgfile = "-1";
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("topoffset");
- if (var2 != null) {
- this.m_top_offset = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("jumpsize");
- if (var2 != null) {
- this.m_jump_size = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("delay");
- if (var2 != null) {
- this.m_delay = Integer.parseInt(var2);
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("miconindent");
- if (var2 != null) {
- this.m_main_icon_indent = Integer.parseInt(var2);
- }
-
- 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("loadwhere");
- if (var2 != null) {
- this.m_loadwhere = var2;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("bgcolor");
- if (var2 != null) {
- this.m_bgcolor = occcolor.ConvertColor(var2);
- }
-
- ((Component)this).setBackground(this.m_bgcolor);
-
- while(((OCAviewerExtend)this).getParameter("maindesc" + this.num_main) != null) {
- ++this.num_main;
- }
-
- this.m_maindesc = new String[this.num_main];
- this.m_mainicon = new int[this.num_main];
- this.m_pic_ycord = new int[this.num_main];
- this.m_main_desturl = new String[this.num_main];
- this.no_subs = new boolean[this.num_main];
- this.ItoM = new int[this.num_main];
- Vector var6 = new Vector();
- Vector var7 = new Vector();
- Vector var8 = new Vector();
- int var9 = 0;
- int var10 = 0;
- String var11 = "";
- String var12 = "";
- Stack var13 = new Stack();
- Stack var14 = new Stack();
- int var15 = 0;
- String var16 = "";
- int var17 = 0;
- boolean var18 = false;
- int var19 = 0;
- int var20 = 0;
- if (this.m_sub_height < 1) {
- this.bitheight = this.fm_sub_font.getHeight();
- } else {
- this.bitheight = this.m_sub_height;
- }
-
- for(int var84 = 0; var84 < this.num_main; ++var84) {
- if (((OCAviewerExtend)this).getParameter("desc" + var84 + "-0") == null) {
- this.no_subs[var84] = true;
- }
-
- var11 = (new Integer(var84)).toString();
- var12 = var11;
- var18 = true;
-
- while(true) {
- var11 = var12 + "-" + var10;
- var2 = ((OCAviewerExtend)this).getParameter("desc" + var11);
- int var21 = 0;
- int var22 = 0;
- boolean var23 = false;
-
- while(var21 != -1) {
- var21 = var11.indexOf("-", var21 + 1);
- if (var21 == -1) {
- break;
- }
-
- ++var22;
- if (var22 > this.level_max) {
- this.level_max = var22;
- var23 = true;
- var6.addElement((new Integer(var10)).toString());
- }
- }
-
- if (!var23) {
- var6.addElement("0");
- }
-
- if (var2 != null) {
- if (((OCAviewerExtend)this).getParameter("desc" + var11 + "-0") != null) {
- var7.addElement(var11);
- ++var15;
- var13.push(var11);
- var14.push((new Integer(var9 * 4)).toString());
- } else {
- var7.addElement("-1");
- }
-
- String var95 = "-1";
- String var25 = "-1";
- int var26 = var2.indexOf("|");
- if (var26 > 0) {
- if (var26 < var2.length() - 1) {
- var95 = var2.substring(0, var26);
- var25 = var2.substring(var26 + 1);
- } else {
- var25 = var2;
- }
- } else {
- var25 = var2;
- }
-
- var7.addElement(var25);
- var7.addElement(var95);
- var2 = ((OCAviewerExtend)this).getParameter("desturl" + var11);
- if (var2 != null) {
- var7.addElement(var2);
- } else {
- var7.addElement("-1");
- }
-
- if (var10 == 0) {
- var8.addElement("15");
- var8.addElement("15");
- var8.addElement((new Integer(var9)).toString());
- }
-
- ++var9;
- ++var10;
- } else {
- if (this.no_subs[var84]) {
- int var24 = 0;
-
- do {
- var8.addElement("0");
- ++var24;
- } while(var24 < 5);
- }
-
- int var94 = Integer.parseInt(var6.elementAt(var22 - 1).toString());
- if (var94 < var10) {
- var6.setElementAt((new Integer(var10)).toString(), var22 - 1);
- }
-
- if (var10 > 0) {
- var8.addElement((new Integer(var9 - 1)).toString());
- var8.addElement((new Integer(0)).toString());
- }
-
- ++var17;
- ++var19;
- if (var18) {
- this.ItoM[var84] = (var17 - 1) * 5;
- var18 = false;
- }
-
- if (var15 < 1) {
- var13 = new Stack();
- var14 = new Stack();
- var10 = 0;
- if (var19 > var20) {
- var20 = var19;
- var19 = 0;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("mdesturl" + var84);
- if (var2 != null) {
- this.m_main_desturl[var84] = var2;
- } else {
- this.m_main_desturl[var84] = "-1";
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("maindesc" + var84);
- if (var2 != null) {
- this.m_maindesc[var84] = var2;
- } else {
- this.m_maindesc[var84] = "";
- }
- break;
- }
-
- var12 = var13.pop().toString();
- --var15;
- var16 = var14.pop().toString();
- var7.setElementAt((new Integer(var17)).toString(), new Integer(var16));
- var10 = 0;
- }
- }
- }
-
- for(int var85 = 0; var85 < this.level_max; ++var85) {
- this.max_open += Integer.parseInt(var6.elementAt(var85).toString());
- }
-
- if (this.m_tile_menus_only) {
- this.extra_length = this.max_open * this.bitheight + this.m_main_height * this.m_maindesc.length - this.field_0.height;
- } else {
- this.extra_length = this.max_open * this.bitheight + this.m_main_height * this.m_maindesc.length;
- }
-
- if (!this.m_retract_from_offscreen || this.extra_length < 0) {
- this.extra_length = 0;
- }
-
- this.field_1 = ((Component)this).createImage(this.field_0.width, this.field_0.height + this.extra_length);
- this.g_ts = this.field_1.getGraphics();
- this.g_ts.setFont(this.main_font);
- this.g_ts.setColor(this.m_bgcolor);
- this.g_ts.fillRect(0, 0, this.field_0.width, this.field_0.height + this.extra_length);
- this.menu_coords = new int[var20 * 7];
- this.suboff = new Image[var20];
- this.g_suboff = new Graphics[var20];
- this.subs = new String[var7.size()];
- var7.copyInto(this.subs);
- this.p_subs = new String[var8.size()];
- var8.copyInto(this.p_subs);
- this.mc_sub_hlocolor = new Color[this.level_max];
- this.mc_sub_color = new Color[this.level_max];
- this.mc_sub_textcolor = new Color[this.level_max];
- this.mc_sub_hlcolor = new Color[this.level_max];
- this.mc_sub_hltextcolor = new Color[this.level_max];
- this.mc_sub_bgfile = new String[this.level_max];
- this.mcu_sub_hlcolor = new Color[this.level_max];
- this.mcu_sub_hltextcolor = new Color[this.level_max];
- this.mcu_sub_hlocolor = new Color[this.level_max];
- this.gif_tile = new boolean[this.level_max];
- this.mc_bgfile_stat = new boolean[this.level_max];
- this.mc_subbg = new Image[this.level_max];
-
- for(int var86 = 0; var86 < this.level_max; ++var86) {
- var2 = ((OCAviewerExtend)this).getParameter("s_color" + var86);
- if (var2 != null) {
- this.mc_sub_color[var86] = occcolor.ConvertColor(var2);
- } else {
- this.mc_sub_color[var86] = this.m_sub_color;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("s_hlcolor" + var86);
- if (var2 != null) {
- this.mc_sub_hlcolor[var86] = occcolor.ConvertColor(var2);
- } else {
- this.mc_sub_hlcolor[var86] = this.m_sub_hlcolor;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("s_hloutcolor" + var86);
- if (var2 != null) {
- this.mc_sub_hlocolor[var86] = occcolor.ConvertColor(var2);
- } else {
- this.mc_sub_hlocolor[var86] = this.m_sub_hlocolor;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("s_textcolor" + var86);
- if (var2 != null) {
- this.mc_sub_textcolor[var86] = occcolor.ConvertColor(var2);
- } else {
- this.mc_sub_textcolor[var86] = this.m_sub_textcolor;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("s_hltextcolor" + var86);
- if (var2 != null) {
- this.mc_sub_hltextcolor[var86] = occcolor.ConvertColor(var2);
- } else {
- this.mc_sub_hltextcolor[var86] = this.m_sub_hltextcolor;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("s_bgfile" + var86);
- if (var2 != null) {
- this.mc_sub_bgfile[var86] = var2;
- } else {
- this.mc_sub_bgfile[var86] = this.m_sub_bgfile;
- }
-
- String var93 = this.mc_sub_bgfile[var86].toLowerCase();
- if (var93.lastIndexOf("gif") != -1) {
- this.gif_tile[var86] = true;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("s_uhlcolor" + var86);
- if (var2 != null) {
- this.mcu_sub_hlcolor[var86] = occcolor.ConvertColor(var2);
- } else {
- this.mcu_sub_hlcolor[var86] = this.mu_sub_hlcolor;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("s_uhloutcolor" + var86);
- if (var2 != null) {
- this.mcu_sub_hlocolor[var86] = occcolor.ConvertColor(var2);
- } else {
- this.mcu_sub_hlocolor[var86] = this.mu_sub_hlocolor;
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("s_uhltextcolor" + var86);
- if (var2 != null) {
- this.mcu_sub_hltextcolor[var86] = occcolor.ConvertColor(var2);
- } else {
- this.mcu_sub_hltextcolor[var86] = this.mu_sub_hltextcolor;
- }
- }
-
- this.bitoff = ((Component)this).createImage(this.field_0.width, this.bitheight + 1);
- this.g_bitoff = this.bitoff.getGraphics();
- this.g_bitoff.setFont(this.sub_font);
-
- while(((OCAviewerExtend)this).getParameter("iconfile" + this.num_icons) != null) {
- ++this.num_icons;
- }
-
- this.m_icon_file = new String[this.num_icons];
- this.m_switchfile = new String[this.num_icons];
- this.m_switchufile = new String[this.num_icons];
- this.u_pic_stat = new boolean[this.num_icons];
- this.s_pic_stat = new boolean[this.num_icons];
- this.i_pic_stat = new boolean[this.num_icons];
- this.i_pic = new Image[this.num_icons];
- this.s_pic = new Image[this.num_icons];
- this.u_pic = new Image[this.num_icons];
-
- for(int var87 = 0; var87 < this.num_icons; ++var87) {
- var2 = ((OCAviewerExtend)this).getParameter("iconfile" + var87);
- if (var2 != null) {
- this.m_icon_file[var87] = new String(var2);
- } else {
- this.m_icon_file[var87] = new String(" ");
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("iconswitchfile" + var87);
- if (var2 != null) {
- this.m_switchfile[var87] = new String(var2);
- } else {
- this.m_switchfile[var87] = this.m_icon_file[var87];
- }
-
- var2 = ((OCAviewerExtend)this).getParameter("iconclickfile" + var87);
- if (var2 != null) {
- this.m_switchufile[var87] = new String(var2);
- } else {
- this.m_switchufile[var87] = this.m_icon_file[var87];
- }
- }
-
- }
- }
- }
-
- public void CreateSub(int var1, int var2) {
- int var3 = new Integer(this.p_subs[var1 + 3]) - new Integer(this.p_subs[var1 + 2]) + 1;
- int var4 = new Integer(this.p_subs[var1 + 2]) * 4;
- this.menux = this.m_sub_indent;
- this.menuy = (var2 + 1) * this.bitheight;
- this.menuheight = var3 * this.bitheight;
- this.menuwidth = this.menu_coords[(this.cur_level - 1) * 7 + 2] - this.m_sub_indent;
- this.menu_coords[this.cur_level * 7] = this.menu_coords[(this.cur_level - 1) * 7] + this.menux;
- this.menu_coords[this.cur_level * 7 + 1] = this.menu_coords[(this.cur_level - 1) * 7 + 1] + this.menuy;
- this.menu_coords[this.cur_level * 7 + 2] = this.menuwidth;
- this.menu_coords[this.cur_level * 7 + 3] = this.menuheight;
- this.menu_coords[this.cur_level * 7 + 4] = var3;
- this.menu_coords[this.cur_level * 7 + 5] = this.on_sub_num;
- this.menu_coords[this.cur_level * 7 + 6] = var4;
- this.suboff[this.cur_level] = ((Component)this).createImage(this.field_0.width, this.menuheight + 1);
- this.g_suboff[this.cur_level] = this.suboff[this.cur_level].getGraphics();
- this.g_suboff[this.cur_level].setFont(this.sub_font);
- Color var5 = this.mc_sub_color[this.cur_level];
- Color var6 = this.mc_sub_textcolor[this.cur_level];
- Image var7 = this.mc_subbg[this.cur_level];
- boolean var8 = this.mc_bgfile_stat[this.cur_level];
- this.g_suboff[this.cur_level].setColor(var5);
- this.g_suboff[this.cur_level].fillRect(0, 0, this.field_0.width, this.menuheight);
- if (var8) {
- int var9 = 0;
- int var10 = 0;
- int var11 = var7.getWidth(this);
- int var12 = var7.getHeight(this);
- if (this.gif_tile[this.cur_level]) {
- var10 = -1;
- }
-
- while(true) {
- this.g_suboff[this.cur_level].drawImage(var7, var9, var10, this);
- var9 += var11;
- if (var9 > this.field_0.width) {
- var9 = 0;
- var10 += var12;
- if (this.gif_tile[this.cur_level]) {
- --var10;
- }
-
- if (var10 > this.menuheight + 1) {
- break;
- }
- }
- }
- }
-
- for(int var13 = 0; var13 < var3; ++var13) {
- String var14 = this.subs[var4 + var13 * 4 + 1];
- int var15 = Integer.parseInt(this.subs[var4 + var13 * 4 + 2]);
- if (this.i_pic != null && var15 > -1 && var15 < this.i_pic.length && this.i_pic[var15] != null) {
- this.g_suboff[this.cur_level].drawImage(this.i_pic[var15], this.menu_coords[this.cur_level * 7] - this.m_sub_indent + this.m_sub_icon_indent, this.bitheight * var13 + this.bitheight / 2 - this.i_pic[var15].getHeight(this) / 2, this);
- }
-
- this.g_suboff[this.cur_level].setColor(var6);
- this.g_suboff[this.cur_level].drawString(var14, this.menu_coords[this.cur_level * 7], this.bitheight * var13 + this.bitheight / 2 - this.fm_sub_font.getHeight() / 2 + this.fm_sub_font.getAscent());
- }
-
- this.on_sub_num = -1;
- this.sub_highlighted = false;
- this.usub_h = -1;
- }
-
- public void drawMain() {
- boolean var1 = false;
- this.mainoff = ((Component)this).createImage(this.field_0.width, this.m_main_height + 1);
- this.g_mainoff = this.mainoff.getGraphics();
- this.g_mainoff.setFont(this.main_font);
- this.g_ts.setFont(this.main_font);
- if (this.m_tile_menus_only) {
- this.g_ts.clipRect(0, 0, this.field_0.width, this.m_main_height * this.m_maindesc.length + this.m_top_offset + 1);
- }
-
- if (this.m_bgcolor != null) {
- this.g_ts.setColor(this.m_bgcolor);
- this.g_ts.fillRect(0, 0, this.field_0.width, this.field_0.height);
- }
-
- if (this.m_main_bgimage != null) {
- if (this.m_tile_bg) {
- int var2 = 0;
- int var3 = 0;
- int var4 = this.m_main_bgimage.getWidth(this);
- int var5 = this.m_main_bgimage.getHeight(this);
- if (this.main_gif_tile) {
- var3 = -1;
- }
-
- while(true) {
- this.g_ts.drawImage(this.m_main_bgimage, var2, var3, this);
- var2 += var4;
- if (var2 > this.field_0.width) {
- var2 = 0;
- var3 += var5;
- if (this.main_gif_tile) {
- --var3;
- }
-
- if (this.m_tile_menus_only) {
- if (var3 > this.m_main_height * this.m_maindesc.length) {
- break;
- }
- } else if (var3 > this.field_0.height) {
- break;
- }
- }
- }
- } else {
- this.g_ts.drawImage(this.m_main_bgimage, 0, 0, this);
- }
- }
-
- for(int var6 = 0; var6 < this.m_maindesc.length; ++var6) {
- String[] var7 = this.getIdandText(this.m_maindesc[var6]);
- this.m_mainicon[var6] = Integer.parseInt(var7[0]);
- this.m_maindesc[var6] = var7[1];
- if (this.i_pic != null && this.m_mainicon[var6] > -1 && this.m_mainicon[var6] < this.i_pic.length && this.i_pic[this.m_mainicon[var6]] != null) {
- this.g_ts.drawImage(this.i_pic[this.m_mainicon[var6]], this.m_main_icon_indent, this.m_main_height * var6 + this.m_top_offset + this.m_main_height / 2 - this.i_pic[this.m_mainicon[var6]].getHeight(this) / 2, this);
- }
-
- if (this.m_main_ocolor != null) {
- this.g_ts.setColor(this.m_main_ocolor);
- this.g_ts.drawRect(0, this.m_main_height * var6 + this.m_top_offset, this.field_0.width - 1, this.m_main_height);
- }
-
- this.g_ts.setColor(this.m_main_textcolor);
- this.g_ts.drawString(this.m_maindesc[var6], this.m_main_indent, this.m_main_height / 2 - this.fm_main_font.getHeight() / 2 + this.fm_main_font.getAscent() + this.m_main_height * var6 + this.m_top_offset);
- this.m_pic_ycord[var6] = this.m_main_height * var6 + this.m_top_offset;
- }
-
- this.g_ts = this.field_1.getGraphics();
- }
-
- public void UndoH() {
- if (this.last_drawn != -1) {
- ((Component)this).getGraphics().drawImage(this.field_1, 0, 0, this);
- this.last_drawn = -1;
- this.mu_h = false;
- }
-
- }
-
- public void checkNextLevel(boolean var1, int var2, int var3, int var4) {
- if (var1) {
- int var5 = Integer.parseInt(this.subs[var2 + var3 * 4]);
- this.cur_link = this.subs[var2 + var3 * 4 + 3];
- if (var5 == -1) {
- return;
- }
-
- for(int var6 = this.cur_level; var6 > this.real_level; --var6) {
- this.shrinkSub(var6);
- }
-
- if (this.cur_level > this.real_level) {
- this.UndoSubHighlight();
- }
-
- this.cur_level = this.real_level;
- ++this.cur_level;
- this.CreateSub(var5 * 5, var3);
- this.growSub(this.cur_level, var3 + 1);
- }
-
- }
-
- public boolean mouseMove(Event var1, int var2, int var3) {
- if (this.first_run) {
- return true;
- } else {
- this.checkMouse(var2, var3, false);
- return true;
- }
- }
- }
-