//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.QMouseEvent;
import org.kde.qt.QIconSet;
import org.kde.qt.QWidget;
import org.kde.qt.QDragObject;
import org.kde.qt.QPushButton;

/**

 This is nothing but a QPushButton with drag-support and KGuiItem support. You have to call
 setDragEnabled( true ) and override the method
 dragObject() to specify the QDragObject to be used.
		@author Carsten Pfeiffer <pfeiffer@kde.org>
 
		@short A QPushButton with drag-support and KGuiItem support.

*/
public class KPushButton extends QPushButton  {
	protected KPushButton(Class dummy){super((Class) null);}
	public native QMetaObject metaObject();
	public native String className();
	/**	
		 Default constructor.
		     		@short    Default constructor.
	*/
	public KPushButton(QWidget parent, String name) {
		super((Class) null);
		newKPushButton(parent,name);
	}
	private native void newKPushButton(QWidget parent, String name);
	public KPushButton(QWidget parent) {
		super((Class) null);
		newKPushButton(parent);
	}
	private native void newKPushButton(QWidget parent);
	/**	
		 Constructor, that sets the button-text to <code>text</code>
		     		@short    Constructor, that sets the button-text to <code>text</code>
	*/
	public KPushButton(String text, QWidget parent, String name) {
		super((Class) null);
		newKPushButton(text,parent,name);
	}
	private native void newKPushButton(String text, QWidget parent, String name);
	public KPushButton(String text, QWidget parent) {
		super((Class) null);
		newKPushButton(text,parent);
	}
	private native void newKPushButton(String text, QWidget parent);
	/**	
		 Constructor, that sets an icon and the button-text to <code>text</code>
		     		@short    Constructor, that sets an icon and the button-text to <code>text</code>
	*/
	public KPushButton(QIconSet icon, String text, QWidget parent, String name) {
		super((Class) null);
		newKPushButton(icon,text,parent,name);
	}
	private native void newKPushButton(QIconSet icon, String text, QWidget parent, String name);
	public KPushButton(QIconSet icon, String text, QWidget parent) {
		super((Class) null);
		newKPushButton(icon,text,parent);
	}
	private native void newKPushButton(QIconSet icon, String text, QWidget parent);
	/**	
		 Constructor that takes a KGuiItem for the text, the icon, the tooltip
		 and the what's this help
		     		@short    Constructor that takes a KGuiItem for the text, the icon, the tooltip  and the what's this help
	*/
	public KPushButton(KGuiItem item, QWidget parent, String name) {
		super((Class) null);
		newKPushButton(item,parent,name);
	}
	private native void newKPushButton(KGuiItem item, QWidget parent, String name);
	public KPushButton(KGuiItem item, QWidget parent) {
		super((Class) null);
		newKPushButton(item,parent);
	}
	private native void newKPushButton(KGuiItem item, QWidget parent);
	/**	
		 Enables/disables drag-support. Default is disabled.
		     		@short    Enables/disables drag-support.
	*/
	public native void setDragEnabled(boolean enable);
	/**	
				@return if drag support is enabled or not.
     
		@short
	*/
	public native boolean isDragEnabled();
	/**	
		 Sets the KGuiItem for this button.
		     		@short    Sets the KGuiItem for this button.
	*/
	public native void setGuiItem(KGuiItem item);
	/**	 
		 Sets the standard KGuiItem for this button.
				@short     Sets the standard KGuiItem for this button.
	*/
	public native void setGuiItem(int item);
	/**	
		 Reads the standard KGuiItem for this button. 
				@short    Reads the standard KGuiItem for this button.
	*/
	public native int guiItem();
	public native void setGuiItm(int itm);
	public native int guiItm();
	/**	
		 Sets the Icon Set for this button. It also takes into account hte
		 KGlobalSettings.showIconsOnPushButtons() setting.
		     		@short    Sets the Icon Set for this button.
	*/
	public native void setIconSet(QIconSet iconSet);
	/**	
		 Sets the text of the button
		    		@short    Sets the text of the button
	*/
	public native void setText(String text);
	/**	
		 Reimplement this and return the QDragObject that should be used
		 for the drag.
		 Default implementation returns null, so that no drag is initiated.
		     		@short    Reimplement this and return the QDragObject that should be used  for the drag.
	*/
	protected native QDragObject dragObject();
	/**	
		 Reimplemented to add drag-support
		     		@short    Reimplemented to add drag-support
	*/
	protected native void mousePressEvent(QMouseEvent arg1);
	/**	
		 Reimplemented to add drag-support
		     		@short    Reimplemented to add drag-support
	*/
	protected native void mouseMoveEvent(QMouseEvent arg1);
	/**	
		 Starts a drag (dragCopy() by default) using dragObject()
		     		@short    Starts a drag (dragCopy() by default) using dragObject()
	*/
	protected native void startDrag();
	/** Deletes the wrapped C++ instance */
	protected native void finalize() throws InternalError;
	/** Delete the wrapped C++ instance ahead of finalize() */
	public native void dispose();
	/** Has the wrapped C++ instance been deleted? */
	public native boolean isDisposed();
}
