//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.QCustomEvent;

/**

 This class does completion of URLs including user directories (~user)
 and environment variables.  Remote URLs are passed to KIO.
		@author David Smith <dsmith@algonet.se>
 
		@short Completion of a single URL.

*/
public class KURLCompletion extends KCompletion  {
	protected KURLCompletion(Class dummy){super((Class) null);}
	/**	
		 Determines how completion is done.
		
			<li>
			ExeCompletion - executables in $PATH or with full path.
			</li>
			
			<li>
			FileCompletion - all files with full path or in dir(), URLs
			 are listed using KIO.
			</li>
			
			<li>
			DirCompletion - Same as FileCompletion but only returns directories.
				 
			</li>		@short    Determines how completion is done.
	*/
	public static final int ExeCompletion = 1;
	public static final int FileCompletion = 2;
	public static final int DirCompletion = 3;

	public native QMetaObject metaObject();
	public native String className();
	/**	
		 Constructs a KURLCompletion object in FileCompletion mode.
			 		@short    Constructs a KURLCompletion object in FileCompletion mode.
	*/
	public KURLCompletion() {
		super((Class) null);
		newKURLCompletion();
	}
	private native void newKURLCompletion();
	/**	
		 This overloaded constructor allows you to set the Mode to ExeCompletion
		 or FileCompletion without using setMode. Default is FileCompletion.
			 		@short    This overloaded constructor allows you to set the Mode to ExeCompletion  or FileCompletion without using setMode.
	*/
	public KURLCompletion(int arg1) {
		super((Class) null);
		newKURLCompletion(arg1);
	}
	private native void newKURLCompletion(int arg1);
	/**	
		 Finds completions to the given text.
			 Remote URLs are listed with KIO. For performance reasons, local files
		 are listed with KIO only if KURLCOMPLETION_LOCAL_KIO is set.
		 The completion is done asyncronously if KIO is used.
			 Returns the first match for user, environment, and local dir completion
		 and null for asynchronous completion (KIO or threaded).
			@param text the text to complete
				@return the first match, or null if not found
	 
		@short    Finds completions to the given text.
	*/
	public native String makeCompletion(String text);
	/**	
		 Sets the current directory (used as base for completion).
		 Default = $HOME.
			@param dir the current directory, either as a path or URL
			 		@short    Sets the current directory (used as base for completion).
	*/
	public native void setDir(String dir);
	/**	
		 Returns the current directory, as it was given in setDir
				@return the current directory (path or URL)
	 
		@short    Returns the current directory, as it was given in setDir
	*/
	public native String dir();
	/**	
		 Check whether asynchronous completion is in progress.
				@return true if asynchronous completion is in progress
	 
		@short    Check whether asynchronous completion is in progress.
	*/
	public native boolean isRunning();
	/**	
		 Stops asynchronous completion.
			 		@short    Stops asynchronous completion.
	*/
	public native void stop();
	/**	
		 Returns the completion mode: exe or file completion (default FileCompletion).
				@return the completion mode
	 
		@short    Returns the completion mode: exe or file completion (default FileCompletion).
	*/
	public native int mode();
	/**	
		 Changes the completion mode: exe or file completion
			@param mode the new completion mode
			 		@short    Changes the completion mode: exe or file completion
	*/
	public native void setMode(int mode);
	/**	
		 Checks whether environment variables are completed and
		 whether they are replaced internally while finding completions.
		 Default is enabled.
				@return true if environment vvariables will be replaced
	 
		@short    Checks whether environment variables are completed and  whether they are replaced internally while finding completions.
	*/
	public native boolean replaceEnv();
	/**	
		 Enables/disables completion and replacement (internally) of
		 environment variables in URLs. Default is enabled.
			@param replace true to replace environment variables
			 		@short    Enables/disables completion and replacement (internally) of  environment variables in URLs.
	*/
	public native void setReplaceEnv(boolean replace);
	/**	
		 Returns whether ~username is completed and whether ~username
		 is replaced internally with the user's home directory while
		 finding completions. Default is enabled.
				@return true to replace tilde with the home directory
	 
		@short    Returns whether ~username is completed and whether ~username  is replaced internally with the user's home directory while  finding completions.
	*/
	public native boolean replaceHome();
	/**	
		 Enables/disables completion of ~username and replacement
		 (internally) of ~username with the user's home directory.
		 Default is enabled.
			@param replace true to replace tilde with the home directory
			 		@short    Enables/disables completion of ~username and replacement  (internally) of ~username with the user's home directory.
	*/
	public native void setReplaceHome(boolean replace);
	/**	
		 Replaces username and/or environment variables, depending on the
		 current settings and returns the filtered url. Only works with
		 local files, i.e. returns back the original string for non-local
		 urls.
			@param text the text to process
				@return the path or URL resulting from this operation. If you
 want to convert it to a KURL, use KURL.fromPathOrURL.
	 
		@short    Replaces username and/or environment variables, depending on the  current settings and returns the filtered url.
	*/
	public native String replacedPath(String text);
	/**	
				@short
	*/
	public static native String replacedPath(String text, boolean replaceHome, boolean replaceEnv);
	public static native String replacedPath(String text, boolean replaceHome);
	protected native void postProcessMatch(StringBuffer match);
	protected native void postProcessMatches(String[] matches);
	// void postProcessMatches(KCompletionMatches* arg1); >>>> NOT CONVERTED
	protected native void customEvent(QCustomEvent e);
	// void slotEntries(KIO::Job* arg1,const KIO::UDSEntryList& arg2); >>>> NOT CONVERTED
	protected native void slotIOFinished(Job 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();
}
