//Auto-generated by kalyptus. DO NOT EDIT.
package org.kde.koala;

import org.kde.qt.Qt;
import org.kde.qt.QMetaObject;
import org.kde.qt.QtSupport;
import org.kde.qt.QObject;
import org.kde.qt.QWidget;

/**

 A generic factory object to create a Part.
 Factory is an abstract class. Reimplement the 
 createPartObject() method to give it functionality.
		@short    A generic factory object to create a Part.
		@see KLibFactory#

*/
public class Factory extends KLibFactory  {
	protected Factory(Class dummy){super((Class) null);}
	public native QMetaObject metaObject();
	public native String className();
	/**	
		 Creates a part.
			 The ArrayList can be used to pass additional arguments to the part.
		 If the part needs additional arguments, it should take them as
		 name="value" pairs. This is the way additional arguments will get passed
		 to the part from eg. khtml. You can for example emebed the part into HTML
		 by using the following code:
		 <pre>
		    <object type="my_mimetype" data="url_to_my_data">
		        <param name="name1" value="value1">
		        <param name="name2" value="value2">
		    </object>
		 </pre>
		 This could result in a call to
		 <pre>
		     createPart( parentWidget, name, parentObject, parentName, "Kparts.Part",
		                 ArrayList("name1="value1"", "name2="value2") );
		 </pre>
			 createPart() automatically emits a signal KLibFactory.objectCreated to tell
		 the library about its newly created object.  This is very
		 important for reference counting, and allows unloading the
		 library automatically once all its objects have been destroyed.
		     		@return the newly created part.

		@short    Creates a part.
	*/
	public native Part createPart(QWidget parentWidget, String widgetName, QObject parent, String name, String classname, String[] args);
	public native Part createPart(QWidget parentWidget, String widgetName, QObject parent, String name, String classname);
	public native Part createPart(QWidget parentWidget, String widgetName, QObject parent, String name);
	public native Part createPart(QWidget parentWidget, String widgetName, QObject parent);
	public native Part createPart(QWidget parentWidget, String widgetName);
	public native Part createPart(QWidget parentWidget);
	public native Part createPart();
	/**	
		 If you have a part contained in a shared library you might want to query
		 for meta-information like the about-data, or the KInstance in general.
		 If the part is exported using KParts.GenericFactory then this method will
		 return the instance that belongs to the part without the need to instantiate
		 the part component.
		      		@short    If you have a part contained in a shared library you might want to query  for meta-information like the about-data, or the KInstance in general.
	*/
	public native KInstanceInterface partInstance();
	/**	
		 A convenience method for partInstance that takes care of retrieving
		 the factory for a given library name and calling partInstance on it.
			@param libraryName name of the library to query the instance from
		      		@short    A convenience method for partInstance that takes care of retrieving  the factory for a given library name and calling partInstance on it.
	*/
	public static native KInstanceInterface partInstanceFromLibrary(String libraryName);
}
