//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.QPopupMenu;
import java.util.ArrayList;
import org.kde.qt.QIconSet;
import org.kde.qt.QWidget;

/**

  Action for selecting one of several items.
  This action shows up a submenu with a list of items.
  One of them can be checked. If the user clicks on an item
  this item will automatically be checked,
  the formerly checked item becomes unchecked.
  There can be only one item checked at a time.
  See {@link KSelectActionSignals} for signals emitted by KSelectAction
		@short Action for selecting one of several items.

*/
public class KSelectAction extends KAction  {
	protected KSelectAction(Class dummy){super((Class) null);}
	public native QMetaObject metaObject();
	public native String className();
	/**	
		 Constructs a select action with text and potential keyboard
		 accelerator but nothing else. Use this only if you really
		 know what you are doing.
			@param text The text that will be displayed.
			@param cut The corresponding keyboard accelerator (shortcut).
			@param parent This action's parent.
			@param name An internal name for this action.
		     		@short    Constructs a select action with text and potential keyboard  accelerator but nothing else.
	*/
	public KSelectAction(String text, KShortcut cut, QObject parent, String name) {
		super((Class) null);
		newKSelectAction(text,cut,parent,name);
	}
	private native void newKSelectAction(String text, KShortcut cut, QObject parent, String name);
	public KSelectAction(String text, KShortcut cut, QObject parent) {
		super((Class) null);
		newKSelectAction(text,cut,parent);
	}
	private native void newKSelectAction(String text, KShortcut cut, QObject parent);
	public KSelectAction(String text, KShortcut cut) {
		super((Class) null);
		newKSelectAction(text,cut);
	}
	private native void newKSelectAction(String text, KShortcut cut);
	public KSelectAction(String text) {
		super((Class) null);
		newKSelectAction(text);
	}
	private native void newKSelectAction(String text);
	/**	
			@param text The text that will be displayed.
			@param cut The corresponding keyboard accelerator (shortcut).
			@param receiver The SLOT's parent.
			@param slot The SLOT to invoke to execute this action.
			@param parent This action's parent.
			@param name An internal name for this action.
		     		@short
	*/
	public KSelectAction(String text, KShortcut cut, QObject receiver, String slot, QObject parent, String name) {
		super((Class) null);
		newKSelectAction(text,cut,receiver,slot,parent,name);
	}
	private native void newKSelectAction(String text, KShortcut cut, QObject receiver, String slot, QObject parent, String name);
	public KSelectAction(String text, KShortcut cut, QObject receiver, String slot, QObject parent) {
		super((Class) null);
		newKSelectAction(text,cut,receiver,slot,parent);
	}
	private native void newKSelectAction(String text, KShortcut cut, QObject receiver, String slot, QObject parent);
	/**	
			@param text The text that will be displayed.
			@param pix The icons that go with this action.
			@param cut The corresponding keyboard accelerator (shortcut).
			@param parent This action's parent.
			@param name An internal name for this action.
		     		@short
	*/
	public KSelectAction(String text, QIconSet pix, KShortcut cut, QObject parent, String name) {
		super((Class) null);
		newKSelectAction(text,pix,cut,parent,name);
	}
	private native void newKSelectAction(String text, QIconSet pix, KShortcut cut, QObject parent, String name);
	public KSelectAction(String text, QIconSet pix, KShortcut cut, QObject parent) {
		super((Class) null);
		newKSelectAction(text,pix,cut,parent);
	}
	private native void newKSelectAction(String text, QIconSet pix, KShortcut cut, QObject parent);
	public KSelectAction(String text, QIconSet pix, KShortcut cut) {
		super((Class) null);
		newKSelectAction(text,pix,cut);
	}
	private native void newKSelectAction(String text, QIconSet pix, KShortcut cut);
	public KSelectAction(String text, QIconSet pix) {
		super((Class) null);
		newKSelectAction(text,pix);
	}
	private native void newKSelectAction(String text, QIconSet pix);
	/**	
			@param text The text that will be displayed.
			@param pix The dynamically loaded icon that goes with this action.
			@param cut The corresponding keyboard accelerator (shortcut).
			@param parent This action's parent.
			@param name An internal name for this action.
		     		@short
	*/
	public KSelectAction(String text, String pix, KShortcut cut, QObject parent, String name) {
		super((Class) null);
		newKSelectAction(text,pix,cut,parent,name);
	}
	private native void newKSelectAction(String text, String pix, KShortcut cut, QObject parent, String name);
	public KSelectAction(String text, String pix, KShortcut cut, QObject parent) {
		super((Class) null);
		newKSelectAction(text,pix,cut,parent);
	}
	private native void newKSelectAction(String text, String pix, KShortcut cut, QObject parent);
	public KSelectAction(String text, String pix, KShortcut cut) {
		super((Class) null);
		newKSelectAction(text,pix,cut);
	}
	private native void newKSelectAction(String text, String pix, KShortcut cut);
	public KSelectAction(String text, String pix) {
		super((Class) null);
		newKSelectAction(text,pix);
	}
	private native void newKSelectAction(String text, String pix);
	/**	
			@param text The text that will be displayed.
			@param pix The icons that go with this action.
			@param cut The corresponding keyboard accelerator (shortcut).
			@param receiver The SLOT's parent.
			@param slot The SLOT to invoke to execute this action.
			@param parent This action's parent.
			@param name An internal name for this action.
		     		@short
	*/
	public KSelectAction(String text, QIconSet pix, KShortcut cut, QObject receiver, String slot, QObject parent, String name) {
		super((Class) null);
		newKSelectAction(text,pix,cut,receiver,slot,parent,name);
	}
	private native void newKSelectAction(String text, QIconSet pix, KShortcut cut, QObject receiver, String slot, QObject parent, String name);
	public KSelectAction(String text, QIconSet pix, KShortcut cut, QObject receiver, String slot, QObject parent) {
		super((Class) null);
		newKSelectAction(text,pix,cut,receiver,slot,parent);
	}
	private native void newKSelectAction(String text, QIconSet pix, KShortcut cut, QObject receiver, String slot, QObject parent);
	/**	
			@param text The text that will be displayed.
			@param pix The dynamically loaded icon that goes with this action.
			@param cut The corresponding keyboard accelerator (shortcut).
			@param receiver The SLOT's parent.
			@param slot The SLOT to invoke to execute this action.
			@param parent This action's parent.
			@param name An internal name for this action.
		     		@short
	*/
	public KSelectAction(String text, String pix, KShortcut cut, QObject receiver, String slot, QObject parent, String name) {
		super((Class) null);
		newKSelectAction(text,pix,cut,receiver,slot,parent,name);
	}
	private native void newKSelectAction(String text, String pix, KShortcut cut, QObject receiver, String slot, QObject parent, String name);
	public KSelectAction(String text, String pix, KShortcut cut, QObject receiver, String slot, QObject parent) {
		super((Class) null);
		newKSelectAction(text,pix,cut,receiver,slot,parent);
	}
	private native void newKSelectAction(String text, String pix, KShortcut cut, QObject receiver, String slot, QObject parent);
	/**	
			@param parent This action's parent.
			@param name An internal name for this action.
		     		@short
	*/
	public KSelectAction(QObject parent, String name) {
		super((Class) null);
		newKSelectAction(parent,name);
	}
	private native void newKSelectAction(QObject parent, String name);
	public KSelectAction(QObject parent) {
		super((Class) null);
		newKSelectAction(parent);
	}
	private native void newKSelectAction(QObject parent);
	public KSelectAction() {
		super((Class) null);
		newKSelectAction();
	}
	private native void newKSelectAction();
	/**	
		  "Plug" or insert this action into a given widget.
			  This will typically be a menu or a toolbar.
		  From this point on, you will never need to directly
		  manipulate the item in the menu or toolbar.
		  You do all enabling/disabling/manipulation directly with your KSelectAction object.
			@param widget The GUI element to display this action.
			@param index The index of the item.
		     		@short     "Plug" or insert this action into a given widget.
	*/
	public native int plug(QWidget widget, int index);
	public native int plug(QWidget widget);
	/**	
		 When this action is plugged into a toolbar, it creates a combobox.
				@return true if the combo editable.
     
		@short    When this action is plugged into a toolbar, it creates a combobox.
	*/
	public native boolean isEditable();
	/**	
				@return the items that can be selected with this action.
 Use setItems to set them.
     
		@short
	*/
	public native ArrayList items();
	/**	
		 Changes the text of item @param index to @param text .
		     		@short    Changes the text of item @param index to @param text .
	*/
	public native void changeItem(int index, String text);
	/**	
		 Returns the text of the currently selected item.
		     		@short    Returns the text of the currently selected item.
	*/
	public native String currentText();
	/**	
		 Returns the index of the current item.
				@short    Returns the index of the current item.
		@see #setCurrentItem
	*/
	public native int currentItem();
	/**	
		 When this action is plugged into a toolbar, it creates a combobox.
		 This returns the maximum width set by setComboWidth
		     		@short    When this action is plugged into a toolbar, it creates a combobox.
	*/
	public native int comboWidth();
	/**	
		 Returns a pointer to the popup menu used by this action.
		     		@short    Returns a pointer to the popup menu used by this action.
	*/
	public native QPopupMenu popupMenu();
	public native boolean removeAmpersandsInCombo();
	/**	
		 Sets whether any occurrence of the ampersand character ( &amp; ) in items
		 should be interpreted as keyboard accelerator for items displayed in a
		 menu or not.
				@short    Sets whether any occurrence of the ampersand character ( &amp; ) in items  should be interpreted as keyboard accelerator for items displayed in a  menu or not.
	*/
	public native void setMenuAccelsEnabled(boolean b);
	public native boolean menuAccelsEnabled();
	/**	
		  Sets the currently checked item.
			@param index Index of the item (remember the first item is zero).
		     		@short     Sets the currently checked item.
	*/
	public native void setCurrentItem(int index);
	/**	
		 Sets the items to be displayed in this action
		 You need to call this.
		     		@short    Sets the items to be displayed in this action  You need to call this.
	*/
	public native void setItems(String[] lst);
	/**	
		 Clears up all the items in this action
		     		@short    Clears up all the items in this action
	*/
	public native void clear();
	/**	
		 When this action is plugged into a toolbar, it creates a combobox.
		 This makes the combo editable or read-only.
		     		@short    When this action is plugged into a toolbar, it creates a combobox.
	*/
	public native void setEditable(boolean arg1);
	/**	
		 When this action is plugged into a toolbar, it creates a combobox.
		 This gives a _maximum_ size to the combobox.
		 The minimum size is automatically given by the contents (the items).
		     		@short    When this action is plugged into a toolbar, it creates a combobox.
	*/
	public native void setComboWidth(int width);
	protected native void changeItem(int id, int index, String text);
	/**	
		 Depending on the menuAccelsEnabled property this method will return the
		 actions items in a way for inclusion in a combobox with the ampersand
		 character removed from all items or not.
				@short    Depending on the menuAccelsEnabled property this method will return the  actions items in a way for inclusion in a combobox with the ampersand  character removed from all items or not.
	*/
	protected native ArrayList comboItems();
	protected native void updateCurrentItem(int id);
	protected native void updateComboWidth(int id);
	protected native void updateItems(int id);
	protected native void updateClear(int id);
	protected native void slotActivated(int id);
	protected native void slotActivated(String text);
	protected native void slotActivated();
	/** 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();
}
