//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.QEvent;
import org.kde.qt.QWidget;
import org.kde.qt.QObject;

/**

 Every part can use this class to customize the statusbar as long as it is active.
 Add items via addStatusBarItem() and remove an item with removeStatusBarItem().
 IMPORTANT: do NOT add any items immediately after constructing the extension.
 Give the application time to set the statusbar in the extension if necessary.
		@short An extension for KParts that allows more sophisticated statusbar handling.

*/
public class StatusBarExtension extends QObject  {
	protected StatusBarExtension(Class dummy){super((Class) null);}
	public native QMetaObject metaObject();
	public native String className();
	public StatusBarExtension(ReadOnlyPart parent, String name) {
		super((Class) null);
		newStatusBarExtension(parent,name);
	}
	private native void newStatusBarExtension(ReadOnlyPart parent, String name);
	public StatusBarExtension(ReadOnlyPart parent) {
		super((Class) null);
		newStatusBarExtension(parent);
	}
	private native void newStatusBarExtension(ReadOnlyPart parent);
	/**	
		 This adds a widget to the statusbar for this part.
		 If you use this method instead of using statusBar() directly,
		 this extension will take care of removing the items when the parts GUI
		 is deactivated and will re-add them when it is reactivated.
		 The parameters are the same as QStatusBar.addWidget().
			 Note that you can't use KStatusBar methods (inserting text items by id)
		 but you can create a KStatusBarLabel with a dummy id instead, and use
		 it directly in order to get the same look and feel.
			@param widget the widget to add
			@param stretch the stretch factor. 0 for a minimum size.
			@param permanent passed to QStatusBar.addWidget as the "permanent" boolean.
		 Note that the item isn't really permanent though, it goes away when
		 the part is unactivated. This simply controls where temporary messages
		 hide the <code>widget</code>, and whether it's added to the left or to the right side.
			 IMPORTANT: do NOT add any items immediately after constructing the extension.
		 Give the application time to set the statusbar in the extension if necessary.
		       		@short    This adds a widget to the statusbar for this part.
	*/
	public native void addStatusBarItem(QWidget widget, int stretch, boolean permanent);
	/**	
		 Remove a <code>widget</code> from the statusbar for this part.
		       		@short    Remove a <code>widget</code> from the statusbar for this part.
	*/
	public native void removeStatusBarItem(QWidget widget);
	/**	
				@return the statusbar of the KMainWindow in which this part is currently embedded.
 WARNING: this could return 0L
       
		@short
	*/
	public native KStatusBar statusBar();
	/**	
		 This allows the hosting application to set a particular KStatusBar
		 for this part. If it doesn't do this, the statusbar used will be
		 the one of the KMainWindow in which the part is embedded.
		 Konqueror uses this to assign a view-statusbar to the part.
		 The part should never call this method!
		       		@short    This allows the hosting application to set a particular KStatusBar  for this part.
	*/
	public native void setStatusBar(KStatusBar status);
	/**	 @internal 		@short   @internal
	*/
	public native boolean eventFilter(QObject watched, QEvent ev);
	/**	
		 Queries <code>obj</code> for a child object which inherits from this
		 BrowserExtension class. Convenience method.
		       		@short    Queries <code>obj</code> for a child object which inherits from this  BrowserExtension class.
	*/
	public static native StatusBarExtension childObject(QObject arg1);
}
