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

/**

 It's a special kind of QToolBar that acts as taskbar for child views.
 KMdiTaskBarButtons can be added or removed dynamically.<br>
 The button sizes are adjusted dynamically, as well.
 		@short Internal class.

*/
public class KMdiTaskBar extends KToolBar  {
	protected KMdiTaskBar(Class dummy){super((Class) null);}
	public native QMetaObject metaObject();
	public native String className();
	/**	
		 Constructor (NoFocus, minimum width = 1, an internal QPtrList of taskbar buttons (autodelete))
					@short    Constructor (NoFocus, minimum width = 1, an internal QPtrList of taskbar buttons (autodelete))
	*/
	public KMdiTaskBar(KMdiMainFrm parent, int dock) {
		super((Class) null);
		newKMdiTaskBar(parent,dock);
	}
	private native void newKMdiTaskBar(KMdiMainFrm parent, int dock);
	/**	
		Add a new KMdiTaskBarButton . The width doesn't change.
		 If there's not enough space, all taskbar buttons will be resized to a new smaller size.
		 Probably button texts must be abbreviated now.
					@short   Add a new KMdiTaskBarButton .
	*/
	public native KMdiTaskBarButton addWinButton(KMdiChildView win_ptr);
	/**	
		 Removes a KMdiTaskBarButton and deletes it. If the rest of the buttons are smaller
		 than they usually are, all those buttons will be resized in a way that the new free size is used as well.
					@short    Removes a KMdiTaskBarButton and deletes it.
	*/
	public native void removeWinButton(KMdiChildView win_ptr, boolean haveToLayoutTaskBar);
	public native void removeWinButton(KMdiChildView win_ptr);
	/**	
		 Returns the neighbor taskbar button of the taskbar button of the MDI view given by parameter
		 bRight specifies the side, of course left is used if bRight is false.
					@short    Returns the neighbor taskbar button of the taskbar button of the MDI view given by parameter  bRight specifies the side, of course left is used if bRight is false.
	*/
	public native KMdiTaskBarButton getNextWindowButton(boolean bRight, KMdiChildView win_ptr);
	/**	
		 Get the button belonging to the MDI view given as parameter.
					@short    Get the button belonging to the MDI view given as parameter.
	*/
	public native KMdiTaskBarButton getButton(KMdiChildView win_ptr);
	/**	
		 Switch it on or off.
					@short    Switch it on or off.
	*/
	public native void switchOn(boolean bOn);
	/**	
				@return whether switched on or off.
	
		@short
	*/
	public native boolean isSwitchedOn();
	/**	
		 Pushes the desired taskbar button down (switch on), the old one is released (switched off).
		 Actually it's a radiobutton group behavior.
					@short    Pushes the desired taskbar button down (switch on), the old one is released (switched off).
	*/
	public native void setActiveButton(KMdiChildView win_ptr);
	/**	
		 Reimplemented from its base class to call layoutTaskBar, additionally.
					@short    Reimplemented from its base class to call layoutTaskBar, additionally.
	*/
	protected native void resizeEvent(QResizeEvent arg1);
	/**	
		 Checks if all buttons fits into this. If not, it recalculates all button widths
		 in a way that all buttons fits into the taskbar and have got equal width.
		 The text of the buttons will be abbreviated when nessecary, all buttons get a
		 fixed width and show() is called for each one.
		 If one drags the taskbar to a vertical orientation, the button width is set to 80 pixel.
					@short    Checks if all buttons fits into this.
	*/
	protected native void layoutTaskBar(int taskBarWidth);
	protected native void layoutTaskBar();
	/** 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();
}
