//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.QObject;

/**

 A generic tool that processes data.
 A data-tool is a "plugin" for an application, that acts (reads/modifies)
 on a portion of the data present in the document (e.g. a text document,
 a single word or paragraph, a KSpread cell, an image, etc.)
 The application has some generic code for presenting the tools in a popupmenu
		@short    A generic tool that processes data.
		@see KDataToolAction
		@see #for
		@see #activating
		@see #a
		@see #tool
		@see #passing
		@see #it
		@see #the
		@see #data
		@see (and
		@see #possibly
		@see #getting
		@see #modified
		@see #data
		@see #from
		@see #it)#

*/
public class KDataTool extends QObject  {
	protected KDataTool(Class dummy){super((Class) null);}
	public native QMetaObject metaObject();
	public native String className();
	/**	
		 Constructor
		 The data-tool is only created when a menu-item, that relates to it, is activated.
			@param parent the parent of the QObject (or 0 for parent-less KDataTools)
			@param name the name of the QObject, can be 0
		     		@short    Constructor  The data-tool is only created when a menu-item, that relates to it, is activated.
	*/
	/**	
			     		@short
	*/
	public native void setInstance(KInstanceInterface instance);
	/**	
		 Returns the instance of the part that created this tool.
		 Usually used if the tool wants to read its configuration in the app's config file.
				@return the instance of the part that created this tool.
     
		@short    Returns the instance of the part that created this tool.
	*/
	public native KInstanceInterface instance();
	/**	
		 Interface for 'running' this tool.
		 This is the method that the data-tool must implement.
			@param command is the command that was selected (see KDataToolInfo.commands())
			@param data the data provided by the application, on which to run the tool.
		             The application is responsible for setting that data before running the tool,
		             and for getting it back and updating itself with it, after the tool ran.
			@param datatype defines the type of <code>data.</code>
			@param mimetype defines the mimetype of the data (for instance datatype may be
		                 String, but the mimetype can be text/plain, text/html etc.)
				@return true if successful, false otherwise
     
		@short    Interface for 'running' this tool.
	*/
	// bool run(const QString& arg1,void* arg2,const QString& arg3,const QString& arg4); >>>> NOT CONVERTED
}
