package oracle.forms.fd;

import oracle.forms.engine.Main;
import oracle.forms.handler.IHandler;
import oracle.forms.properties.ID;
import oracle.forms.ui.VBean;
import oracle.forms.engine.*;
import oracle.forms.handler.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

/**
 * Javabean that displays the Forms applet parameters 
 * 
 * @author Francois Degrelle
 * version 1.0
 */
 
public class AppletProperties extends VBean
{
  
  protected static final ID pGetInfos = ID.registerProperty("GET_INFOS");
  protected static final ID pSetParam = ID.registerProperty("SET_PARAM");  
  protected static final ID pGetParam = ID.registerProperty("GET_PARAM");  
  /* 
   * Variables 
  */
  private IHandler mHandler     = null;   // Forms Handler
  private String   sInfos       = null;   // return string
  private String   sValue ;

  // default constructor
  public AppletProperties()
  {
  }
 
  public final void init(IHandler handler)
  {
    mHandler = handler;
    super.init(handler);

    sInfos ="[serverArgs]="+mHandler.getApplet().getParameter("serverArgs")+"n";
    sInfos+="[pluginspage]="+mHandler.getApplet().getParameter("jinit_download_page")+"n";
    sInfos+="[type]="+mHandler.getApplet().getParameter("jinit_mimetype")+"n";
    sInfos+="[java_codebase]="+mHandler.getApplet().getParameter("codebase")+"n"; 
    sInfos+="[java_archive]="+mHandler.getApplet().getParameter("archive_jini")+"n"; 
    sInfos+="[width]="+mHandler.getApplet().getParameter("Width")+"n";
    sInfos+="[height]="+mHandler.getApplet().getParameter("Height")+"n"; 
    sInfos+="[serverURL]="+mHandler.getApplet().getParameter("serverURL")+"n";
    sInfos+="[networkRetries]="+mHandler.getApplet().getParameter("networkRetries")+"n";
    sInfos+="[separateFrame]="+mHandler.getApplet().getParameter("separateFrame")+"n";
    sInfos+="[splashScreen]="+mHandler.getApplet().getParameter("splashScreen")+"n";
    sInfos+="[background]="+mHandler.getApplet().getParameter("background")+"n";
    sInfos+="[lookAndFeel]="+mHandler.getApplet().getParameter("lookAndFeel")+"n";
    sInfos+="[colorScheme]="+mHandler.getApplet().getParameter("colorScheme")+"n";
    sInfos+="[serverApp=]"+mHandler.getApplet().getParameter("serverApp")+"n";
    sInfos+="[logo]="+mHandler.getApplet().getParameter("logo")+"n";
    sInfos+="[imageBase]="+mHandler.getApplet().getParameter("imageBase")+"n";
    sInfos+="[formsMessageListener]="+mHandler.getApplet().getParameter("formsMessageListener")+"n";
    sInfos+="[recordFileName]="+mHandler.getApplet().getParameter("recordFileName");

  }

  /**
   * Set properties
   **/
  public boolean setProperty(ID property, Object value)
  {
    if (property == pSetParam)
    {
      sValue = mHandler.getApplet().getParameter(value.toString());
      return true;
    }
    else
    {
     return super.setProperty(property, value);
    }
  }

  /**
   * Get properties
   **/
  public Object getProperty(ID pId)
  {
    if (pId == pGetInfos)
    {
      return "" + sInfos ;
    }
    else if (pId == pGetParam)
    {
      return "" + sValue ;
    }    
    else
    {
      return super.getProperty(pId);
    }
  } 

}
