//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.QSize;
import org.kde.qt.QSizePolicy;
import org.kde.qt.QPushButton;
import org.kde.qt.QWidget;
import org.kde.qt.QResizeEvent;
import org.kde.qt.QWidget;

/**

 Container widget for buttons.
 This class uses Qt layout control to place the buttons; can handle
 both vertical and horizontal button placement.  The default border
 is now <code>0</code> (making it easier to deal with layouts). The space
 between buttons is now more Motif compliant.
		@author Mario Weilguni <mweilguni@sime.com>

		@version  kbuttonbox.h,v 1.33 2004/11/05 15:49:23 coles

		@short    Container widget for buttons.

*/
public class KButtonBox extends QWidget  {
	protected KButtonBox(Class dummy){super((Class) null);}
	public native QMetaObject metaObject();
	public native String className();
	/**	
		 Create an empty container for buttons.
			 If <code>_orientation</code> is <code>Vertical</code>, the buttons inserted with
		 addButton() are laid out from top to bottom, otherwise they
		 are laid out from left to right.
		    		@short    Create an empty container for buttons.
	*/
	public KButtonBox(QWidget parent, int _orientation, int border, int _autoborder) {
		super((Class) null);
		newKButtonBox(parent,_orientation,border,_autoborder);
	}
	private native void newKButtonBox(QWidget parent, int _orientation, int border, int _autoborder);
	public KButtonBox(QWidget parent, int _orientation, int border) {
		super((Class) null);
		newKButtonBox(parent,_orientation,border);
	}
	private native void newKButtonBox(QWidget parent, int _orientation, int border);
	public KButtonBox(QWidget parent, int _orientation) {
		super((Class) null);
		newKButtonBox(parent,_orientation);
	}
	private native void newKButtonBox(QWidget parent, int _orientation);
	public KButtonBox(QWidget parent) {
		super((Class) null);
		newKButtonBox(parent);
	}
	private native void newKButtonBox(QWidget parent);
	/**	
			 This size is
		 calculated by the width/height of all buttons plus border/autoborder.
		    		@return The minimum size needed to fit all buttons.

		@short
	*/
	public native QSize sizeHint();
	public native QSizePolicy sizePolicy();
	public native void resizeEvent(QResizeEvent arg1);
	/**	
		 Add a new QPushButton.
			@param text the text of the button to add
			@param noexpand If <code>noexpand</code> is <code>false</code>, the width
		 of the button is adjusted to fit the other buttons (the maximum
		 of all buttons is taken). If <code>noexpand</code> is <code>true</code>, the width of this
		 button will be set to the minimum width needed for the given text).
				@return A pointer to the new button.
    
		@short    Add a new QPushButton.
	*/
	public native QPushButton addButton(String text, boolean noexpand);
	public native QPushButton addButton(String text);
	/**	
		 Add a new QPushButton.
			@param text the text of the button to add.
			@param receiver An object to connect to.
			@param slot A Qt slot to connect the 'clicked()' signal to.
			@param noexpand If <code>noexpand</code> is <code>false</code>, the width
		 of the button is adjusted to fit the other buttons (the maximum
		 of all buttons is taken). If <code>noexpand</code> <code>true</code>, the width of this
		 button will be set to the minimum width needed for the given text).
				@return A pointer to the new button.
    
		@short    Add a new QPushButton.
	*/
	public native QPushButton addButton(String text, QObject receiver, String slot, boolean noexpand);
	public native QPushButton addButton(String text, QObject receiver, String slot);
	/**	
		 Add a new QPushButton.
			@param guiitem text and icon on the button
			@param noexpand If <code>noexpand</code> is <code>false</code>, the width
		 of the button is adjusted to fit the other buttons (the maximum
		 of all buttons is taken). If <code>noexpand</code> is <code>true</code>, the width of this
		 button will be set to the minimum width needed for the given text).
				@return A pointer to the new button.

		@short    Add a new QPushButton.
	*/
	public native QPushButton addButton(KGuiItem guiitem, boolean noexpand);
	public native QPushButton addButton(KGuiItem guiitem);
	/**	
		 Add a new QPushButton.
			@param guiitem text and icon on the button
			@param receiver An object to connect to.
			@param slot A Qt slot to connect the 'clicked()' signal to.
			@param noexpand If <code>noexpand</code> is <code>false</code>, the width
		 of the button is adjusted to fit the other buttons (the maximum
		 of all buttons is taken). If <code>noexpand</code> <code>true</code>, the width of this
		 button will be set to the minimum width needed for the given text).
				@return A pointer to the new button.

		@short    Add a new QPushButton.
	*/
	public native QPushButton addButton(KGuiItem guiitem, QObject receiver, String slot, boolean noexpand);
	public native QPushButton addButton(KGuiItem guiitem, QObject receiver, String slot);
	/**	
		 Add a stretch to the buttonbox.
			 Can be used to separate buttons.  That is, if you add the
		 buttons OK and Cancel, add a stretch, and then add the button Help,
		 the buttons OK and Cancel will be left-aligned (or top-aligned
		 for vertical) whereas Help will be right-aligned (or
		 bottom-aligned for vertical).
				@short    Add a stretch to the buttonbox.
		@see org.kde.qt.QBoxLayout
	*/
	public native void addStretch(int scale);
	public native void addStretch();
	/**	
		 This function must be called <b>once</b> after all buttons have been
		 inserted.
			 It will start layout control.
		    		@short    This function must be called @em once after all buttons have been  inserted.
	*/
	public native void updateLayout();
	/**	
				@return the best size for a button. Checks all buttons and takes
 the maximum width/height.
    
		@short
	*/
	protected native QSize bestButtonSize();
	protected native void placeButtons();
	protected native QSize buttonSizeHint(QPushButton arg1);
	/** 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();
}
