home *** CD-ROM | disk | FTP | other *** search
- 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;
-
- public class OCdgst extends OCdg {
- Event the_e;
- private FontMetrics subfm;
- private FontMetrics mainfm;
- private boolean barchange = true;
- private int dgappwidth = 0;
- private int num_desc = 0;
- private int num_icons = 0;
- private int rmainWidth;
- private int bitHeight;
- private int[] main_starty;
- private int bottom_height;
- private boolean barchanged = true;
- private boolean inputHeightFixed;
- private int[] m_mainicon;
- private Image[] i_pic;
- private int[] m_main_icon;
- private String[] m_main_desc;
- private String[] m_iconfile;
- private boolean m_unmaintext = false;
- private int m_maintext_yoffset = 0;
- private int m_item_height = 15;
- private Color m_bgcolor;
- private Color m_main_textcolor;
- private int m_main_icon_indent;
- private int m_main_text_indent;
- private boolean m_tilebgin_margins;
- private int m_arrowxoffset;
- private int m_arrowyoffset;
- private boolean m_tile_mainbg;
- private boolean m_clip_main_bg;
- private int m_main_lmargin;
- private int m_main_rmargin;
- private Color m_arrowcolor;
- private Color m_main_outcolor;
- private Font m_main_font;
- private Font m_sub_font;
- private int m_main_icon_voffset;
- private int m_additional_clip_height;
- private Color m_main_boxcolor;
- private String m_main_bgfile;
- private int m_sbwidth;
- 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 boolean m_tile_bg_insb;
- private Dimension[] icon_d;
- private Image mainBG;
- private Image endcap;
- private Image sb_bg;
- // $FF: renamed from: sb stsb
- private stsb field_0;
-
- public void initIcon(String[] var1) {
- this.m_iconfile = var1;
- this.num_icons = this.m_iconfile.length;
- this.i_pic = new Image[this.num_icons];
- this.icon_d = new Dimension[this.num_icons];
- }
-
- private void reDraw() {
- this.initDrawMenu();
- this.DrawMenu();
- this.DrawBar();
- }
-
- OCdgst() {
- this.m_bgcolor = Color.black;
- this.m_main_textcolor = Color.white;
- this.m_main_icon_indent = 4;
- this.m_main_text_indent = 4;
- this.m_tilebgin_margins = false;
- this.m_arrowxoffset = 0;
- this.m_arrowyoffset = 0;
- this.m_tile_mainbg = true;
- this.m_clip_main_bg = false;
- this.m_main_lmargin = 5;
- this.m_main_rmargin = 5;
- this.m_arrowcolor = Color.lightGray;
- this.m_main_outcolor = null;
- this.m_main_font = new Font("Helvetica", 1, 10);
- this.m_sub_font = new Font("Helvetica", 0, 11);
- this.m_main_icon_voffset = 0;
- this.m_additional_clip_height = 0;
- this.m_main_boxcolor = null;
- this.m_main_bgfile = "-1";
- 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_bg_insb = true;
- this.the_e = new Event(this, 960, this);
- }
-
- public synchronized void DrawApplet() {
- super.off = ((Component)this).createImage(super.appWidth, super.appHeight);
- super.g_off = super.off.getGraphics();
- super.g_off.setColor(this.m_bgcolor);
- super.g_off.fillRect(0, 0, super.appWidth, super.appHeight);
- ACutil var1 = new ACutil();
- this.mainBG = var1.getImage(this.m_main_bgfile);
- if (this.mainBG != null) {
- this.m_main_boxcolor = null;
- }
-
- for(int var2 = 0; var2 < this.num_icons; ++var2) {
- this.i_pic[var2] = var1.getImage(this.m_iconfile[var2]);
- if (this.i_pic[var2] != null) {
- this.icon_d[var2] = new Dimension(this.i_pic[var2].getWidth(this), this.i_pic[var2].getHeight(this));
- }
- }
-
- this.dgappwidth = super.appWidth - this.m_sbwidth;
- this.reDraw();
- }
-
- public void initDefault() {
- String var1 = ((OCdg)this).getParameterDefault("underlinemaintext");
- if (var1 != null) {
- this.m_unmaintext = Boolean.valueOf(var1);
- }
-
- var1 = ((OCdg)this).getParameterDefault("maintextyoffset");
- if (var1 != null) {
- this.m_maintext_yoffset = Integer.parseInt(var1);
- }
-
- var1 = ((OCdg)this).getParameterDefault("itemheight");
- if (var1 != null) {
- this.m_item_height = Integer.parseInt(var1);
- if (this.m_item_height > 0) {
- this.inputHeightFixed = true;
- }
- }
-
- var1 = ((OCdg)this).getParameterDefault("maintextcolor");
- if (var1 != null) {
- this.m_main_textcolor = occcolor.ConvertColor(var1);
- }
-
- var1 = ((OCdg)this).getParameterDefault("mainiconindent");
- if (var1 != null) {
- this.m_main_icon_indent = Integer.parseInt(var1);
- }
-
- var1 = ((OCdg)this).getParameterDefault("maintextindent");
- if (var1 != null) {
- this.m_main_text_indent = Integer.parseInt(var1);
- }
-
- var1 = ((OCdg)this).getParameterDefault("tilebginmargins");
- if (var1 != null) {
- this.m_tilebgin_margins = Boolean.valueOf(var1);
- }
-
- var1 = ((OCdg)this).getParameterDefault("arrowyoffset");
- if (var1 != null) {
- this.m_arrowyoffset = Integer.parseInt(var1);
- }
-
- var1 = ((OCdg)this).getParameterDefault("arrowxoffset");
- if (var1 != null) {
- this.m_arrowxoffset = Integer.parseInt(var1);
- }
-
- var1 = ((OCdg)this).getParameterDefault("tilemainbg");
- if (var1 != null) {
- this.m_tile_mainbg = Boolean.valueOf(var1);
- }
-
- var1 = ((OCdg)this).getParameterDefault("clipmainbg");
- if (var1 != null) {
- this.m_clip_main_bg = Boolean.valueOf(var1);
- }
-
- var1 = ((OCdg)this).getParameterDefault("mainlmargin");
- if (var1 != null) {
- this.m_main_lmargin = Integer.parseInt(var1);
- }
-
- var1 = ((OCdg)this).getParameterDefault("mainrmargin");
- if (var1 != null) {
- this.m_main_rmargin = Integer.parseInt(var1);
- }
-
- var1 = ((OCdg)this).getParameterDefault("arrowcolor");
- if (var1 != null) {
- this.m_arrowcolor = occcolor.ConvertColor(var1);
- }
-
- var1 = ((OCdg)this).getParameterDefault("mainoutcolor");
- if (var1 != null) {
- this.m_main_outcolor = occcolor.ConvertColor(var1);
- }
-
- var1 = ((OCdg)this).getParameterDefault("mainfont");
- if (var1 != null) {
- this.m_main_font = ocfontc.getFontSD(var1, ",");
- } else {
- this.m_main_font = new Font("Helvetica", 0, 12);
- }
-
- var1 = ((OCdg)this).getParameterDefault("subfont");
- if (var1 != null) {
- this.m_sub_font = ocfontc.getFontSD(var1, ",");
- } else {
- this.m_sub_font = new Font("Helvetica", 0, 12);
- }
-
- var1 = ((OCdg)this).getParameterDefault("mainicontopoffset");
- if (var1 != null) {
- this.m_main_icon_voffset = Integer.parseInt(var1);
- }
-
- var1 = ((OCdg)this).getParameterDefault("clipadditionheight");
- if (var1 != null) {
- this.m_additional_clip_height = Integer.parseInt(var1);
- }
-
- var1 = ((OCdg)this).getParameterDefault("barwidth");
- if (var1 != null) {
- this.m_sbwidth = Integer.parseInt(var1);
- }
-
- var1 = ((OCdg)this).getParameterDefault("mainboxcolor");
- if (var1 != null) {
- this.m_main_boxcolor = occcolor.ConvertColor(var1);
- }
-
- var1 = ((OCdg)this).getParameterDefault("mainbgimage");
- if (var1 != null) {
- this.m_main_bgfile = var1;
- this.barchanged = true;
- }
-
- var1 = ((OCdg)this).getParameterDefault("barwidth");
- if (var1 != null) {
- this.m_sbwidth = Integer.parseInt(var1);
- this.barchanged = true;
- }
-
- var1 = ((OCdg)this).getParameterDefault("barbuttoncolor");
- if (var1 != null) {
- this.m_bc = occcolor.ConvertColor(var1);
- this.barchanged = true;
- }
-
- var1 = ((OCdg)this).getParameterDefault("bararrowcolor");
- if (var1 != null) {
- this.m_ac = occcolor.ConvertColor(var1);
- this.barchanged = true;
- }
-
- var1 = ((OCdg)this).getParameterDefault("bararrowhlcolor");
- if (var1 != null) {
- this.m_hc = occcolor.ConvertColor(var1);
- this.barchanged = true;
- }
-
- var1 = ((OCdg)this).getParameterDefault("barbgcolor");
- if (var1 != null) {
- this.m_bgc = occcolor.ConvertColor(var1);
- this.barchanged = true;
- }
-
- var1 = ((OCdg)this).getParameterDefault("barslidecolor");
- if (var1 != null) {
- this.m_sc = occcolor.ConvertColor(var1);
- this.barchanged = true;
- }
-
- var1 = ((OCdg)this).getParameterDefault("baroutlinecolor");
- if (var1 != null) {
- this.m_oc = occcolor.ConvertColor(var1);
- this.barchanged = true;
- }
-
- var1 = ((OCdg)this).getParameterDefault("barbarrowcolor");
- if (var1 != null) {
- this.m_mac = occcolor.ConvertColor(var1);
- this.barchanged = true;
- } else {
- this.m_mac = this.m_bc;
- }
-
- var1 = ((OCdg)this).getParameterDefault("barbarrowhlcolor");
- if (var1 != null) {
- this.m_machl = occcolor.ConvertColor(var1);
- this.barchanged = true;
- } else {
- this.m_machl = this.m_mac;
- }
-
- var1 = ((OCdg)this).getParameterDefault("barinactivecolor");
- if (var1 != null) {
- this.m_unact = occcolor.ConvertColor(var1);
- this.barchanged = true;
- }
-
- var1 = ((OCdg)this).getParameterDefault("barslideinset");
- if (var1 != null) {
- this.m_si = Integer.parseInt(var1);
- this.barchanged = true;
- }
-
- var1 = ((OCdg)this).getParameterDefault("barflat");
- if (var1 != null) {
- this.m_sbflat = Boolean.valueOf(var1);
- this.barchanged = true;
- }
-
- var1 = ((OCdg)this).getParameterDefault("barindentbubble");
- if (var1 != null) {
- this.m_indent_bubble = Boolean.valueOf(var1);
- this.barchanged = true;
- }
-
- var1 = ((OCdg)this).getParameterDefault("tilebginbar");
- if (var1 != null) {
- this.m_tile_bg_insb = Boolean.valueOf(var1);
- this.barchanged = true;
- }
-
- }
-
- private void drawMainBG() {
- if (this.mainBG != null) {
- int var1 = 0;
- int var2 = this.rmainWidth;
- byte var3 = 0;
- int var4 = super.appHeight * 2;
- if (!this.m_tilebgin_margins) {
- var1 = this.m_main_lmargin;
- var2 = this.dgappwidth - 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;
- }
-
- super.g_off.clipRect(var1, var3, var2, var4);
- if (!this.m_tile_mainbg) {
- super.g_off.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 = super.appHeight * 2;
-
- while(true) {
- super.g_off.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;
- }
- }
- }
- }
-
- super.g_off = super.off.getGraphics();
- super.g_off.setFont(this.m_main_font);
- this.sb_bg = ((Component)this).createImage(this.m_sbwidth, super.appHeight);
- Graphics var10 = this.sb_bg.getGraphics();
- var10.drawImage(super.off, -this.dgappwidth, 0, this);
- }
-
- }
-
- private void drawArrow(int var1, int var2, int var3, Color var4) {
- if (var1 == 1) {
- super.g_off.setColor(var4);
- int var5 = var2;
- int var6 = var3;
- int var7 = 8;
-
- do {
- super.g_off.drawLine(var5, var6, var5 + var7, var6);
- ++var6;
- ++var5;
- var7 -= 2;
- } while(var7 >= 0);
- }
-
- if (var1 == 2) {
- super.g_off.setColor(var4);
- int var8 = var2;
- int var9 = var3 + 4;
- int var10 = 8;
-
- do {
- super.g_off.drawLine(var8, var9, var8 + var10, var9);
- --var9;
- ++var8;
- var10 -= 2;
- } while(var10 >= 0);
- }
-
- }
-
- public void initSpecifics() {
- boolean var2 = false;
- this.num_desc = super.spe_pv.size();
- this.m_main_desc = new String[this.num_desc];
- this.m_mainicon = new int[this.num_desc];
- this.main_starty = new int[this.num_desc];
-
- for(int var4 = 0; var4 < this.num_desc; ++var4) {
- String var1 = ((OCdg)this).getParameterSpecific("maindesc", var4);
- if (var1 != null) {
- this.m_main_desc[var4] = var1;
- } else {
- this.m_main_desc[var4] = "";
- }
-
- var1 = ((OCdg)this).getParameterSpecificByTitle("icon image id", var4);
- if (var1 != null) {
- this.m_mainicon[var4] = Integer.parseInt(var1);
- } else {
- this.m_mainicon[var4] = -1;
- }
- }
-
- }
-
- private void initDrawMenu() {
- this.subfm = ((Component)this).getFontMetrics(this.m_sub_font);
- this.mainfm = ((Component)this).getFontMetrics(this.m_main_font);
- if (!this.inputHeightFixed) {
- int var1 = this.subfm.getHeight();
- int var2 = this.mainfm.getHeight();
- if (var1 > var2) {
- this.m_item_height = var1;
- } else {
- this.m_item_height = var2;
- }
- }
-
- this.bitHeight = this.m_item_height;
- this.bottom_height = super.appHeight - this.bitHeight;
- this.rmainWidth = this.dgappwidth;
- if (this.m_tilebgin_margins) {
- this.rmainWidth += this.m_sbwidth;
- }
-
- super.g_off.setFont(this.m_main_font);
- super.g_off.setColor(this.m_bgcolor);
- super.g_off.fillRect(0, 0, this.rmainWidth, super.appHeight);
- }
-
- private void DrawMenu() {
- this.m_arrowxoffset += this.dgappwidth - this.m_main_rmargin - 20;
- this.m_arrowyoffset += this.m_item_height / 2 - 3;
- super.g_off.setFont(this.m_main_font);
- this.drawMainBG();
- int var1 = 0;
-
- for(int var2 = 0; var2 < this.m_main_desc.length; ++var2) {
- this.main_starty[var2] = var1;
- if (this.m_main_boxcolor != null) {
- super.g_off.setColor(this.m_main_boxcolor);
- super.g_off.fillRect(this.m_main_lmargin, this.main_starty[var2], this.dgappwidth - this.m_main_lmargin - this.m_main_rmargin, this.m_item_height);
- }
-
- if (this.m_main_outcolor != null) {
- super.g_off.setColor(this.m_main_outcolor);
- super.g_off.drawRect(this.m_main_lmargin, this.main_starty[var2], this.dgappwidth - this.m_main_lmargin - this.m_main_rmargin - 1, this.m_item_height - 1);
- }
-
- int var3 = this.m_main_lmargin + this.m_main_text_indent;
- if (this.i_pic != null && this.m_mainicon[var2] > -1 && this.i_pic.length > this.m_mainicon[var2] && this.i_pic[this.m_mainicon[var2]] != null) {
- super.g_off.drawImage(this.i_pic[this.m_mainicon[var2]], this.m_main_lmargin + this.m_main_icon_indent, this.main_starty[var2] + this.m_main_icon_voffset + this.m_item_height / 2 - this.icon_d[this.m_mainicon[var2]].height / 2, this);
- var3 = var3 + this.icon_d[this.m_mainicon[var2]].width + this.m_main_icon_indent;
- }
-
- super.g_off.setColor(this.m_main_textcolor);
- int var4 = this.main_starty[var2] + this.m_item_height - this.mainfm.getDescent() - (this.m_item_height - this.mainfm.getHeight()) / 2 + this.m_maintext_yoffset;
- super.g_off.drawString(this.m_main_desc[var2], var3, var4);
- if (this.m_unmaintext) {
- super.g_off.drawLine(var3 + 1, var4 + 1, var3 + this.mainfm.stringWidth(this.m_main_desc[var2]) - 1, var4 + 1);
- }
-
- this.drawArrow(1, this.m_arrowxoffset, this.main_starty[var2] + this.m_arrowyoffset, this.m_arrowcolor);
- var1 += this.bitHeight;
- }
-
- }
-
- private void DrawBar() {
- if (this.barchanged) {
- stsbimg var1 = new stsbimg(this, this.m_sbwidth, super.appHeight);
- var1.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) {
- var1.setBarBgImage(this.sb_bg);
- }
-
- Image var2 = var1.getSBImage();
- if (var2 != null) {
- super.g_off.drawImage(var2, this.dgappwidth, 0, this);
- }
-
- this.barchanged = false;
- }
-
- }
- }
-