//Auto-generated by kalyptus. DO NOT EDIT.
package org.kde.koala;

import org.kde.qt.Qt;
import org.kde.qt.QFont;
import org.kde.qt.QMetaObject;
import org.kde.qt.QtSupport;
import org.kde.qt.QPopupMenu;
import org.kde.qt.QPixmap;
import org.kde.qt.QWidget;
import org.kde.qt.QWidget;

/**

 A Widget for horizontal and vertical tabs.
 It is possible to add normal buttons to the top/left
 The handling if only one tab at a time or multiple tabs
 should be raisable is left to the "user".
		@author Joseph Wenninger
 
		@short    A Widget for horizontal and vertical tabs.

*/
public class KMultiTabBar extends QWidget  {
	protected KMultiTabBar(Class dummy){super((Class) null);}
	public static final int Horizontal = 0;
	public static final int Vertical = 1;

	public static final int Left = 0;
	public static final int Right = 1;
	public static final int Top = 2;
	public static final int Bottom = 3;

	/**	
		 The list of available styles for KMultiTabBar
		   - VSNET - Visual Studio .Net like (only show the text of active tabs
		   - KDEV3 - Kdevelop 3 like (always show the text)
		   - KONQSBC - konqy's classic sidebar style (unthemed) (currently disabled)
			 		@short    The list of available styles for KMultiTabBar    - VSNET - Visual Studio .
	*/
	public static final int VSNET = 0;
	public static final int KDEV3 = 1;
	public static final int KONQSBC = 2;
	public static final int KDEV3ICON = 3;
	public static final int STYLELAST = 0xffff;

	public native QMetaObject metaObject();
	public native String className();
	public KMultiTabBar(int bm, QWidget parent, String name) {
		super((Class) null);
		newKMultiTabBar(bm,parent,name);
	}
	private native void newKMultiTabBar(int bm, QWidget parent, String name);
	public KMultiTabBar(int bm, QWidget parent) {
		super((Class) null);
		newKMultiTabBar(bm,parent);
	}
	private native void newKMultiTabBar(int bm, QWidget parent);
	public KMultiTabBar(int bm) {
		super((Class) null);
		newKMultiTabBar(bm);
	}
	private native void newKMultiTabBar(int bm);
	/**	
		 append  a new button to the button area. The button can later on be accessed with button(ID)
		 eg for connecting signals to it
			@param pic a pixmap for the button
			@param id an arbitraty ID value. It will be emitted in the clicked signal for identifying the button
			if more than one button is connected to a signals.
			@param popup A popup menu which should be displayed if the button is clicked
			@param not_used_yet will be used for a popup text in the future
			 		@short    append  a new button to the button area.
	*/
	public native int appendButton(QPixmap pic, int id, QPopupMenu popup, String not_used_yet);
	public native int appendButton(QPixmap pic, int id, QPopupMenu popup);
	public native int appendButton(QPixmap pic, int id);
	public native int appendButton(QPixmap pic);
	/**	 
		 remove a button with the given ID
			 		@short     remove a button with the given ID
	*/
	public native void removeButton(int id);
	/**	
		 append a new tab to the tab area. It can be accessed lateron with tabb(id);
			@param pic a bitmap for the tab
			@param id an arbitrary ID which can be used later on to identify the tab
			@param text if a mode with text is used it will be the tab text, otherwise a mouse over hint
			 		@short    append a new tab to the tab area.
	*/
	public native int appendTab(QPixmap pic, int id, String text);
	public native int appendTab(QPixmap pic, int id);
	public native int appendTab(QPixmap pic);
	/**	
		 remove a tab with a given ID
			 		@short    remove a tab with a given ID
	*/
	public native void removeTab(int id);
	/**	
		 set a tab to "raised"
			@param id The ID of the tab to manipulate
			@param state true == activated/raised, false == not active
			 		@short    set a tab to "raised"
	*/
	public native void setTab(int id, boolean state);
	/**	
		 return the state of a tab, identified by it's ID
			 		@short    return the state of a tab, identified by it's ID
	*/
	public native boolean isTabRaised(int id);
	/**	
		 get a pointer to a button within the button area identified by its ID
			 		@short    get a pointer to a button within the button area identified by its ID
	*/
	public native KMultiTabBarButton button(int id);
	/**	
		 get a pointer to a tab within the tab area, identiifed by its ID
			 		@short    get a pointer to a tab within the tab area, identiifed by its ID
	*/
	public native KMultiTabBarTab tab(int id);
	/**	
		 set the real position of the widget.
			@param pos if the mode is horizontal, only use top, bottom, if it is vertical use left or right
			 		@short    set the real position of the widget.
	*/
	public native void setPosition(int pos);
	/**	
		 get the tabbar position.
				@return position
	 
		@short    get the tabbar position.
	*/
	public native int position();
	/**	
		 set the display style of the tabs
			 		@short    set the display style of the tabs
	*/
	public native void setStyle(int style);
	/**	
		 get the display style of the tabs
				@return display style
	 
		@short    get the display style of the tabs
	*/
	public native int tabStyle();
	/**	
		 be carefull, don't delete tabs yourself and don't delete the list itself
			 		@short    be carefull, don't delete tabs yourself and don't delete the list itself
	*/
	// QPtrList<KMultiTabBarTab>* tabs(); >>>> NOT CONVERTED
	/**	
		 be carefull, don't delete buttons yourself and don't delete the list itself
			 		@short    be carefull, don't delete buttons yourself and don't delete the list itself
	*/
	// QPtrList<KMultiTabBarButton>* buttons(); >>>> NOT CONVERTED
	/**	
		 might vanish, not sure yet
			 		@short    might vanish, not sure yet
	*/
	public native void showActiveTabTexts(boolean show);
	public native void showActiveTabTexts();
	protected native void fontChange(QFont arg1);
	protected native void updateSeparator();
	/** 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();
}
