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

/**

  Display status messages.
  You can insert text labels or custom widgets. Their geometry is managed
  internally. KStatusBar resizes itself, but positioning is left to
  KMainWindow (or to you, if you don't use KMainWindow ).
  A special type of item is a message which is a temporary text-message
  displayed on top of other items in full-width. Messages are visible for
  specified time, or until you call the slot QStatusBar.clear(). See
  QStatusBar.message for details.
  It is useful to connect the KActionCollection signals to the
  QStatusBar.message slots.
  KStatusBar inherits QStatusBar, you can freely use all QStatusBar
  methods.
  Empty text items are not visible. They will become visible when you change
  (add) text.
 See {@link KStatusBarSignals} for signals emitted by KStatusBar
		@author Mark Donohoe (donohoe@kde.org) Maintained by Sven Radej <radej@kde.org>

		@short %KDE statusbar widget.
		@see KActionCollection

*/
public class KStatusBar extends QStatusBar  {
	protected KStatusBar(Class dummy){super((Class) null);}
	public native QMetaObject metaObject();
	public native String className();
	/**	
		  Constructs a status bar. <code>parent</code> is usually KMainWindow.
		   		@short     Constructs a status bar.
	*/
	public KStatusBar(QWidget parent, String name) {
		super((Class) null);
		newKStatusBar(parent,name);
	}
	private native void newKStatusBar(QWidget parent, String name);
	public KStatusBar(QWidget parent) {
		super((Class) null);
		newKStatusBar(parent);
	}
	private native void newKStatusBar(QWidget parent);
	public KStatusBar() {
		super((Class) null);
		newKStatusBar();
	}
	private native void newKStatusBar();
	/**	
		  Inserts a text label into the status bar.
		  Parameters <code>stretch</code> and  <code>permanent</code> are passed to
		 QStatusBar.addWidget .
			  If <code>permanent</code> is true, then item will be placed on the far right of
		  the statusbar and will never be hidden by QStatusBar.message.
			@param text The label's text string.
			@param id id of item
			@param stretch stretch passed to QStatusBar.addWidget
			@param permanent is item permanent or not (passed to QStatusBar.addWidget )
			   		@short     Inserts a text label into the status bar.
		@see org.kde.qt.QStatusbar#addWidget
	*/
	public native void insertItem(String text, int id, int stretch, boolean permanent);
	public native void insertItem(String text, int id, int stretch);
	public native void insertItem(String text, int id);
	/**	
		  Inserts a fixed width text label into status bar. The width will be set
		  according to <code>text</code>, but will remain fixed even if you change text.
		  You can change fixed width by calling setItemFixed.
			@param text The label's text string
			@param id id of item
			@param permanent permanent flag passed to QStatusBar.addWidget
		   		@short     Inserts a fixed width text label into status bar.
	*/
	public native void insertFixedItem(String text, int id, boolean permanent);
	public native void insertFixedItem(String text, int id);
	/**	
		  Removes an item.
			@param id The item to remove.
		   		@short     Removes an item.
	*/
	public native void removeItem(int id);
	/**	
			  Returns true if an item with <code>id</code> exists already in KStatusBar,
		  otherwise returns false.
			@param id id of the item
		   		@short
	*/
	public native boolean hasItem(int id);
	/**	
		 Changes the text in a status bar field.
			 The item will be resized to fit the text. If you change text to be empty,
		 item will not be visible (untill you add some text).
			@param text The label's text string
			@param id The id of item.
		   		@short    Changes the text in a status bar field.
	*/
	public native void changeItem(String text, int id);
	/**	
		 Sets the alignment of item <code>id.</code> By default all fields are aligned
		 <code>AlignHCenter</code> | <code>AlignVCenter.</code> See QLabel.setAlignment for details.
			  		@short    Sets the alignment of item <code>id.</code>
	*/
	public native void setItemAlignment(int id, int align);
	/**	
		 Sets item <code>id</code> to have fixed width. This cannot be undone, but you can
		 always set new fixed width.
			@param id id of item
			@param width fixed width in pixels. Default -1 is to adapt to text width.
		   		@short    Sets item <code>id</code> to have fixed width.
	*/
	public native void setItemFixed(int id, int width);
	public native void setItemFixed(int id);
	/** 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();
}
