home *** CD-ROM | disk | FTP | other *** search
/ Internet Magazine 2002 June / INTERNET92.ISO / pc / software / windows / building / visual_dhtml / visualdhtmlwin2000.exe / OCdgImgN.___ (.txt) < prev    next >
Encoding:
Java Class File  |  2001-10-19  |  5.2 KB  |  296 lines

  1. import java.awt.Color;
  2. import java.awt.Component;
  3. import java.awt.Dimension;
  4. import java.awt.Event;
  5. import java.awt.Font;
  6. import java.awt.Graphics;
  7. import java.awt.Image;
  8.  
  9. public class OCdgImgNav extends OCdgImgSub {
  10.    private String m_msg = "";
  11.    private int m_valign;
  12.    private int m_halign;
  13.    private int m_msgx;
  14.    private int m_msgy;
  15.    private int m_msg_height;
  16.    private int m_msg_width;
  17.    private Font m_font;
  18.    private int m_xoffset;
  19.    private int m_b_thick;
  20.    private Color m_b_color;
  21.    private Color m_msg_textcolor;
  22.    private Color m_msg_bgcolor;
  23.    private String[] m_cur_msg;
  24.    private Color[] m_cur_msg_textcolor;
  25.    private Color[] m_cur_msg_bgcolor;
  26.    private Color[] m_cur_b_color;
  27.    private int[] m_cur_b_thick;
  28.    private int[] m_cur_valign;
  29.    private int[] m_cur_halign;
  30.    private Font[] m_cur_font;
  31.    Image msgbox;
  32.    Graphics g_msgbox;
  33.    private boolean movingBox;
  34.  
  35.    public void reDraw() {
  36.       super.reDraw();
  37.       super.g_off.drawImage(this.msgbox, this.m_msgx, this.m_msgy, this);
  38.       ((OCdg)this).drawAppOff();
  39.       ((OCdg)this).paintIt();
  40.    }
  41.  
  42.    OCdgImgNav(APInfo var1) {
  43.       super(var1);
  44.    }
  45.  
  46.    public void DrawApplet() {
  47.       super.DrawApplet();
  48.       if (this.m_msg_height > 0 && this.m_msg_width > 0) {
  49.          this.msgbox = ((Component)this).createImage(this.m_msg_width, this.m_msg_height);
  50.          this.g_msgbox = this.msgbox.getGraphics();
  51.          Dimension var1 = new Dimension(this.m_msg_width, this.m_msg_height);
  52.          if (super.manip_image > -1) {
  53.             int var2 = super.manip_image;
  54.             this.g_msgbox.setColor(this.m_cur_msg_bgcolor[var2]);
  55.             this.g_msgbox.fillRect(0, 0, this.m_msg_width, this.m_msg_height);
  56.             ACutila.drawTextOverImage(this.g_msgbox, var1, this.m_cur_msg[var2], this.m_cur_font[var2], this.m_cur_msg_textcolor[var2], this.m_xoffset, this.m_cur_valign[var2], this.m_cur_halign[var2], this.m_cur_b_color[var2], this.m_cur_b_thick[var2], false);
  57.          } else {
  58.             this.g_msgbox.setColor(this.m_msg_bgcolor);
  59.             this.g_msgbox.fillRect(0, 0, this.m_msg_width, this.m_msg_height);
  60.             ACutila.drawTextOverImage(this.g_msgbox, var1, this.m_msg, this.m_font, this.m_msg_textcolor, this.m_xoffset, this.m_valign, this.m_halign, this.m_b_color, this.m_b_thick, false);
  61.          }
  62.  
  63.          super.g_off.drawImage(this.msgbox, this.m_msgx, this.m_msgy, this);
  64.       }
  65.  
  66.    }
  67.  
  68.    public boolean mouseUp(Event var1, int var2, int var3) {
  69.       if (this.movingBox) {
  70.          super.the_e.id = 9213;
  71.          super.the_e.arg = (new Integer(this.m_msgx)).toString() + "," + (new Integer(this.m_msgy)).toString();
  72.          super.postEvent(super.the_e);
  73.          this.movingBox = false;
  74.       } else {
  75.          super.mouseUp(var1, var2, var3);
  76.       }
  77.  
  78.       return true;
  79.    }
  80.  
  81.    public void initDefault() {
  82.       String var1 = ((OCdg)this).getParameterDefault("msg");
  83.       if (var1 != null && !var1.equalsIgnoreCase("<none>")) {
  84.          this.m_msg = var1;
  85.       } else {
  86.          this.m_msg = "";
  87.       }
  88.  
  89.       var1 = ((OCdg)this).getParameterDefault("msgvalign");
  90.       if (var1 != null) {
  91.          this.m_valign = this.getVAlignValue(var1);
  92.       }
  93.  
  94.       var1 = ((OCdg)this).getParameterDefault("msghalign");
  95.       if (var1 != null) {
  96.          this.m_halign = this.getHAlignValue(var1);
  97.       }
  98.  
  99.       var1 = ((OCdg)this).getParameterDefault("msgxy");
  100.       if (var1 != null) {
  101.          int[] var2 = occcord.getIntValues(var1, ",", 2);
  102.          if (var2 != null) {
  103.             this.m_msgx = var2[0];
  104.             this.m_msgy = var2[1];
  105.          }
  106.       }
  107.  
  108.       var1 = ((OCdg)this).getParameterDefault("msgheight");
  109.       if (var1 != null) {
  110.          this.m_msg_height = Integer.parseInt(var1);
  111.       }
  112.  
  113.       var1 = ((OCdg)this).getParameterDefault("msgwidth");
  114.       if (var1 != null) {
  115.          this.m_msg_width = Integer.parseInt(var1);
  116.       }
  117.  
  118.       var1 = ((OCdg)this).getParameterDefault("msgfont");
  119.       if (var1 != null) {
  120.          this.m_font = ocfontc.getFontSD(var1, ",");
  121.       } else {
  122.          this.m_font = new Font("Helvetica", 0, 12);
  123.       }
  124.  
  125.       var1 = ((OCdg)this).getParameterDefault("msglrmargin");
  126.       if (var1 != null) {
  127.          this.m_xoffset = Integer.parseInt(var1);
  128.       }
  129.  
  130.       var1 = ((OCdg)this).getParameterDefault("msgborderthickness");
  131.       if (var1 != null) {
  132.          this.m_b_thick = Integer.parseInt(var1);
  133.       }
  134.  
  135.       var1 = ((OCdg)this).getParameterDefault("msgbordercolor");
  136.       if (var1 != null) {
  137.          this.m_b_color = occcolor.ConvertColor(var1);
  138.       }
  139.  
  140.       var1 = ((OCdg)this).getParameterDefault("msgtextcolor");
  141.       if (var1 != null) {
  142.          this.m_msg_textcolor = occcolor.ConvertColor(var1);
  143.       }
  144.  
  145.       var1 = ((OCdg)this).getParameterDefault("msgbgcolor");
  146.       if (var1 != null) {
  147.          this.m_msg_bgcolor = occcolor.ConvertColor(var1);
  148.       }
  149.  
  150.       super.initDefault();
  151.    }
  152.  
  153.    private int getHAlignValue(String var1) {
  154.       if (var1.equalsIgnoreCase("right")) {
  155.          return 2;
  156.       } else {
  157.          return var1.equalsIgnoreCase("center") ? 1 : 0;
  158.       }
  159.    }
  160.  
  161.    private int getVAlignValue(String var1) {
  162.       if (var1.equalsIgnoreCase("bottom")) {
  163.          return 2;
  164.       } else {
  165.          return var1.equalsIgnoreCase("center") ? 1 : 0;
  166.       }
  167.    }
  168.  
  169.    public void initSpecifics() {
  170.       boolean var2 = false;
  171.       super.num_images = super.spe_pv.size();
  172.       this.m_cur_msg = new String[super.num_images];
  173.       this.m_cur_msg_textcolor = new Color[super.num_images];
  174.       this.m_cur_msg_bgcolor = new Color[super.num_images];
  175.       this.m_cur_b_color = new Color[super.num_images];
  176.       this.m_cur_b_thick = new int[super.num_images];
  177.       this.m_cur_valign = new int[super.num_images];
  178.       this.m_cur_halign = new int[super.num_images];
  179.       this.m_cur_font = new Font[super.num_images];
  180.  
  181.       for(int var10 = 0; var10 < super.num_images; ++var10) {
  182.          String var1 = ((OCdg)this).getParameterSpecific("msg", var10);
  183.          if (var1 != null && !var1.equalsIgnoreCase("<none>")) {
  184.             this.m_cur_msg[var10] = new String(var1);
  185.          } else {
  186.             this.m_cur_msg[var10] = this.m_msg;
  187.          }
  188.  
  189.          var1 = ((OCdg)this).getParameterSpecific("msgtextcolor", var10);
  190.          if (var1 != null) {
  191.             this.m_cur_msg_textcolor[var10] = occcolor.ConvertColor(var1);
  192.          } else {
  193.             this.m_cur_msg_textcolor[var10] = this.m_msg_textcolor;
  194.          }
  195.  
  196.          var1 = ((OCdg)this).getParameterSpecific("msgbgcolor", var10);
  197.          if (var1 != null) {
  198.             this.m_cur_msg_bgcolor[var10] = occcolor.ConvertColor(var1);
  199.          } else {
  200.             this.m_cur_msg_bgcolor[var10] = this.m_msg_bgcolor;
  201.          }
  202.  
  203.          var1 = ((OCdg)this).getParameterSpecific("msgbordercolor", var10);
  204.          if (var1 != null) {
  205.             this.m_cur_b_color[var10] = occcolor.ConvertColor(var1);
  206.          } else {
  207.             this.m_cur_b_color[var10] = this.m_b_color;
  208.          }
  209.  
  210.          var1 = ((OCdg)this).getParameterSpecific("msgborderthickness", var10);
  211.          if (var1 != null) {
  212.             this.m_cur_b_thick[var10] = Integer.parseInt(var1);
  213.          } else {
  214.             this.m_cur_b_thick[var10] = this.m_b_thick;
  215.          }
  216.  
  217.          var1 = ((OCdg)this).getParameterSpecific("msgvalign", var10);
  218.          if (var1 != null) {
  219.             this.m_cur_valign[var10] = this.getVAlignValue(var1);
  220.          } else {
  221.             this.m_cur_valign[var10] = this.m_valign;
  222.          }
  223.  
  224.          var1 = ((OCdg)this).getParameterSpecific("msghalign", var10);
  225.          if (var1 != null) {
  226.             this.m_cur_halign[var10] = this.getHAlignValue(var1);
  227.          } else {
  228.             this.m_cur_halign[var10] = this.m_halign;
  229.          }
  230.  
  231.          var1 = ((OCdg)this).getParameterSpecific("msgfont", var10);
  232.          if (var1 != null) {
  233.             this.m_cur_font[var10] = ocfontc.getFontSD(var1, ",");
  234.          } else {
  235.             this.m_cur_font[var10] = this.m_font;
  236.          }
  237.       }
  238.  
  239.       super.initSpecifics();
  240.    }
  241.  
  242.    public boolean mouseDown(Event var1, int var2, int var3) {
  243.       super.oldx = var2;
  244.       super.oldy = var3;
  245.       int var4 = this.m_msgx + super.scroll_x + super.offimgx;
  246.       int var5 = this.m_msgy + super.scroll_y + super.offimgy;
  247.       int var6 = this.m_msgx + super.scroll_x + super.offimgx + this.m_msg_width;
  248.       int var7 = this.m_msgy + super.scroll_y + super.offimgy + this.m_msg_height;
  249.       int var8 = super.manip_image;
  250.       if (var2 > var4 && var2 < var6 && var3 > var5 && var3 < var7) {
  251.          ((Component)this).requestFocus();
  252.          this.movingBox = true;
  253.          if (super.manip_image > -1) {
  254.             super.manip_image = -1;
  255.             this.reDraw();
  256.          }
  257.       } else {
  258.          super.mouseDown(var1, var2, var3);
  259.       }
  260.  
  261.       if (super.manip_image != var8) {
  262.          this.DrawApplet();
  263.          this.reDraw();
  264.       }
  265.  
  266.       return true;
  267.    }
  268.  
  269.    public void updateDisplay(int var1) {
  270.       super.manip_image = var1;
  271.       this.DrawApplet();
  272.       super.updateDisplay(var1);
  273.    }
  274.  
  275.    private void moveBox(int var1, int var2) {
  276.       this.m_msgx -= super.oldx - var1;
  277.       this.m_msgy -= super.oldy - var2;
  278.       super.the_e.id = 9301;
  279.       super.the_e.arg = "X: " + (new Integer(this.m_msgx)).toString() + ", Y: " + (new Integer(this.m_msgy)).toString();
  280.       super.postEvent(super.the_e);
  281.       this.reDraw();
  282.    }
  283.  
  284.    public boolean mouseDrag(Event var1, int var2, int var3) {
  285.       if (this.movingBox) {
  286.          this.moveBox(var2, var3);
  287.          super.oldx = var2;
  288.          super.oldy = var3;
  289.       } else {
  290.          super.mouseDrag(var1, var2, var3);
  291.       }
  292.  
  293.       return true;
  294.    }
  295. }
  296.