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

import org.kde.qt.Qt;
import org.kde.qt.QListBoxItem;
import org.kde.qt.QRect;
import org.kde.qt.QMetaObject;
import org.kde.qt.QtSupport;
import org.kde.qt.QObject;
import org.kde.qt.QSize;
import java.util.ArrayList;
import org.kde.qt.QEvent;
import org.kde.qt.QWidget;

/**

 A little utility class for "completion-widgets", like KLineEdit or
 KComboBox. KCompletionBox is a listbox, displayed as a rectangle without
 any window decoration, usually directly under the lineedit or combobox.
 It is filled with all possible matches for a completion, so the user
 can select the one he wants.
 It is used when KGlobalSettings.Completion == CompletionPopup or CompletionPopupAuto.
 See {@link KCompletionBoxSignals} for signals emitted by KCompletionBox
		@author Carsten Pfeiffer <pfeiffer@kde.org>
 
		@short A helper widget for "completion-widgets" (KLineEdit, KComboBox)).

*/
public class KCompletionBox extends KListBox  {
	protected KCompletionBox(Class dummy){super((Class) null);}
	public native QMetaObject metaObject();
	public native String className();
	/**	
		 Constructs a KCompletionBox.
			 The parent widget is used to give the focus back when pressing the
		 up-button on the very first item.
		     		@short    Constructs a KCompletionBox.
	*/
	public KCompletionBox(QWidget parent, String name) {
		super((Class) null);
		newKCompletionBox(parent,name);
	}
	private native void newKCompletionBox(QWidget parent, String name);
	public KCompletionBox(QWidget parent) {
		super((Class) null);
		newKCompletionBox(parent);
	}
	private native void newKCompletionBox(QWidget parent);
	public native QSize sizeHint();
	/**	
		 Returns a list of all items currently in the box.
		     		@short    Returns a list of all items currently in the box.
	*/
	public native ArrayList items();
	/**	
		 Inserts <code>items</code> into the box. Does not clear the items before.
		 <code>index</code> determines at which position <code>items</code> will be inserted.
		 (defaults to appending them at the end)
		     		@short    Inserts <code>items</code> into the box.
	*/
	public native void insertItems(String[] items, int index);
	public native void insertItems(String[] items);
	/**	
		 Clears the box and inserts <code>items.</code>
		     		@short    Clears the box and inserts <code>items.</code>
	*/
	public native void setItems(String[] items);
	/**	
		 Adjusts the size of the box to fit the width of the parent given in the
		 constructor and pops it up at the most appropriate place, relative to
		 the parent.
			 Depending on the screensize and the position of the parent, this may
		 be a different place, however the default is to pop it up and the
		 lower left corner of the parent.
			 Make sure to hide() the box when appropriate.
		     		@short    Adjusts the size of the box to fit the width of the parent given in the  constructor and pops it up at the most appropriate place, relative to  the parent.
	*/
	public native void popup();
	/**	
		 Makes this widget (when visible) capture Tab-key events to traverse the
		 items in the dropdown list.
			 Default off, as it conflicts with the usual behavior of Tab to traverse
		 widgets. It is useful for cases like Konqueror's Location Bar, though.
				@short    Makes this widget (when visible) capture Tab-key events to traverse the  items in the dropdown list.
		@see #isTabHandling
	*/
	public native void setTabHandling(boolean enable);
	/**	
			 Default is false.
				@return true if this widget is handling Tab-key events to traverse the
 items in the dropdown list, otherwise false.

		@short   
		@see #setTabHandling
	*/
	public native boolean isTabHandling();
	/**	
		 Sets the text to be emitted if the user chooses not to
		 pick from the available matches.
			 If the canceled text is not set through this function, the
		 userCancelled signal will not be emitted.
			@param txt the text to be emitted if the user cancels this box
		     		@short    Sets the text to be emitted if the user chooses not to  pick from the available matches.
		@see #userCancelled(
		@see #const
	*/
	public native void setCancelledText(String txt);
	/**	
				@return the text set via setCancelledText() or null.
     
		@short
	*/
	public native String cancelledText();
	/**	
		 Moves the selection one line down or select the first item if nothing is selected yet.
		     		@short    Moves the selection one line down or select the first item if nothing is selected yet.
	*/
	public native void down();
	/**	
		 Moves the selection one line up or select the first item if nothing is selected yet.
		     		@short    Moves the selection one line up or select the first item if nothing is selected yet.
	*/
	public native void up();
	/**	
		 Moves the selection one page down.
		     		@short    Moves the selection one page down.
	*/
	public native void pageDown();
	/**	
		 Moves the selection one page up.
		     		@short    Moves the selection one page up.
	*/
	public native void pageUp();
	/**	
		 Moves the selection up to the first item.
		     		@short    Moves the selection up to the first item.
	*/
	public native void home();
	/**	
		 Moves the selection down to the last item.
		     		@short    Moves the selection down to the last item.
	*/
	public native void end();
	/**	
		 Re-implemented for internal reasons.  API is unaffected.
		     		@short    Re-implemented for internal reasons.
	*/
	public native void show();
	/**	
		 Re-implemented for internal reasons.  API is unaffected.
		     		@short    Re-implemented for internal reasons.
	*/
	public native void hide();
	/**	
		 This calculates the size of the dropdown and the relative position of the top
		 left corner with respect to the parent widget. This matches the geometry and position
		 normally used by K/QComboBox when used with one.
		     		@short    This calculates the size of the dropdown and the relative position of the top  left corner with respect to the parent widget.
	*/
	protected native QRect calculateGeometry();
	/**	
		 This properly sizes and positions the listbox.
		     		@short    This properly sizes and positions the listbox.
	*/
	protected native void sizeAndPosition();
	/**	
		 Reimplemented from KListBox to get events from the viewport (to hide
		 this widget on mouse-click, Escape-presses, etc.
		     		@short    Reimplemented from KListBox to get events from the viewport (to hide  this widget on mouse-click, Escape-presses, etc.
	*/
	public native boolean eventFilter(QObject arg1, QEvent arg2);
	/**	
		 Called when an item was activated. Emits
		 activated() with the item.
		     		@short    Called when an item was activated.
	*/
	protected native void slotActivated(QListBoxItem arg1);
	/** 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();
}
