/***************************************************************************
                            KJavaApplet.java -  description
                             -------------------
    begin                : Sun Jan 27 16:22:17 2002
    copyright            : (C) 2000-2001 Lost Highway Ltd.
    email                : Richard_Dale@tipitina.demon.co.uk
    generated by         : duke@tipitina on Sun Jan 27 16:22:17 2002, using kalyptus 0.9.
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
***************************************************************************/

package org.kde.koala;

import org.kde.qt.*;
import java.util.*;
import java.lang.Error;

/**
 See {@link KJavaAppletSignals} for signals emitted by KJavaApplet.

 See {@link KJavaAppletEventHandling} for event handlers to override in subclasses of KJavaApplet.

*/
public class KJavaApplet extends QObject  {
	protected KJavaApplet(Class dummy){super((Class) null);}

//	private native void newKJavaApplet( KJavaAppletWidget _parent, KJavaAppletContext _context);
//	public KJavaApplet( KJavaAppletWidget _parent, KJavaAppletContext _context) {
//		super((Class) null);
//		newKJavaApplet( _parent, _context);
//	}
//	private native void newKJavaApplet( KJavaAppletWidget _parent);
//	public KJavaApplet( KJavaAppletWidget _parent) {
//		super((Class) null);
//		newKJavaApplet( _parent);
//	}
	protected native void finalize() throws InternalError;
	public native void dispose();
	public native boolean isDisposed();

/** 
 Specify the name of the class file to run. For example 'Lake.class'.
     
*/
	public native void setAppletClass( String clazzName);

/** 
 Get the name of the Class file the applet should run
     
*/
	public native String appletClass();

/** 
 Set the URL of the document embedding the applet.
     
*/
	public native void setBaseURL( String base);

/** 
 get the Base URL of the document embedding the applet
     
*/
	public native String baseURL();

/** 
 Set the codebase of the applet classes.
     
*/
	public native void setCodeBase( String codeBase);

/** 
 Get the codebase of the applet classes
     
*/
	public native String codeBase();

/** 
 Set the list of archives at the Applet's codebase to search in for
 class files and other resources
     
*/
	public native void setArchives( String _archives);

/** 
 Get the list of Archives that should be searched for class files
 and other resources
     
*/
	public native String archives();

/** 
 Set the name the applet should be called in it's context
     
*/
	public native void setAppletName( String name);

/** 
 Get the name the applet should be called in it's context
     
*/
	public native String appletName();

/** 
 Set the size of the applet
     
*/
	public native void setSize( QSize size);

/** 
 Get the size of the applet
     
*/
	public native QSize size();

/** 
 Specify a parameter to be passed to the applet.
     
*/
	public native void setParameter( String name, String value);

/** 
 Look up the parameter value for the given Parameter.  Returns
 String.null if the name has not been set.
     
*/
	public native String parameter( String name);

/** 
 Get a reference to the Paramaters and their values
     
*/
	public native String getParams();

/** 
 Set the window title for swallowing
     
*/
	public native void setWindowName( String title);

/** 
 Get the window title this applet should use
     
*/
	public native String getWindowName();

/** 
 Interface for applets to resize themselves
     
*/
	public native void resizeAppletWidget( int width, int height);

/** 
 Send message to AppletServer to create this applet's
 frame to be swallowed and download the applet classes
     
*/
	public native void create();

/** 
 Send message to AppletServer to Initialize and show
 this applet
     
*/
	public native void init();

/** 
 Returns status of applet- whether it's been created or not
     
*/
	public native boolean isCreated();

/** 
 Run the applet.
     
*/
	public native void start();

/** 
 Pause the applet.
     
*/
	public native void stop();

/** 
 Returns the unique ID this applet is given
     
*/
	public native int appletId();

/** 
 Set the applet ID.
     
*/
	public native void setAppletId( int identifier);
}
