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

import org.kde.qt.Qt;
import org.kde.qt.QColor;
import org.kde.qt.QFont;
import org.kde.qt.QtSupport;
import java.util.ArrayList;

/**

 Access KDE desktop resources stored on the root window.
 A companion to the KConfig class.
 The KRootProp class is used for reading and writing configuration entries
 to properties on the root window.
 All configuration entries are of the form "key=value".
		@author Mark Donohoe (donohe@kde.org)

		@short    Access KDE desktop resources stored on the root window.
		@see KConfig#KConfig

*/
public class KRootProp implements QtSupport {
	private long _qt;
	private boolean _allocatedInJavaWorld = true;
	protected KRootProp(Class dummy){}

	/**	
		 Constructs a KRootProp object for the property <code>rProp.</code>
			@param rProp the property that will be searched, null to
		              do nothing
				@short    Constructs a KRootProp object for the property <code>rProp.</code>
		@see #setProp
	*/
	public KRootProp(String rProp) {
		newKRootProp(rProp);
	}
	private native void newKRootProp(String rProp);
	public KRootProp() {
		newKRootProp();
	}
	private native void newKRootProp();
	/**	
		 Sets the property in which keys will be searched.
			@param rProp the property that will be searched
				@short    Sets the property in which keys will be searched.
	*/
	public native void setProp(String rProp);
	public native void setProp();
	/**	
		 Returns the name of the property under which keys are searched.
				@return the property that will be searched

		@short    Returns the name of the property under which keys are searched.
	*/
	public native String prop();
	/**	
		 Destroys the property completely.
			 I.e. all entries will be cleared
		 and the property will be removed from the root window.
				@short    Destroys the property completely.
	*/
	public native void destroy();
	/**	
		 Reads the value of an entry specified by <code>rKey</code> in the current property.
			@param rKey The key to search for.
			@param pDefault A default value returned if the key was not found.
				@return The value for this key or the default if no value
	  was found.

		@short    Reads the value of an entry specified by <code>rKey</code> in the current property.
	*/
	public native String readEntry(String rKey, String pDefault);
	public native String readEntry(String rKey);
	/**	
		 Reads a numerical value.
			 Reads the value of an entry specified by <code>rKey</code> in the current property
		 and interprets it numerically.
			@param rKey The key to search for.
			@param nDefault A default value returned if the key was not found.
				@return The value for this key or the default if no value was found.
  
		@short    Reads a numerical value.
	*/
	public native int readNumEntry(String rKey, int nDefault);
	public native int readNumEntry(String rKey);
	/**	
		 Reads a QFont value.
			 Reads the value of an entry specified by <code>rKey</code> in the current property
		 and interpret it as a font object.
			@param rKey The key to search for.
			@param pDefault A default value returned if the key was not found.
				@return The value for this key or a default font if no value was found.
  
		@short    Reads a QFont value.
	*/
	public native QFont readFontEntry(String rKey, QFont pDefault);
	public native QFont readFontEntry(String rKey);
	/**	
		 Reads a QColor.
			 Reads the value of an entry specified by <code>rKey</code> in the current property
		 and interprets it as a color.
			@param rKey The key to search for.
			@param pDefault A default value returned if the key was not found.
				@return The value for this key or a default color if no value
 was found.
  
		@short    Reads a QColor.
	*/
	public native QColor readColorEntry(String rKey, QColor pDefault);
	public native QColor readColorEntry(String rKey);
	/**	
		 Writes a (key/value) pair.
			 This is stored to the current property when destroying the
		 config object or when calling sync().
			@param rKey The key to write.
			@param rValue The value to write.
				@return The old value for this key. If this key did not exist,
	  a null string is returned.

		@short    Writes a (key/value) pair.
	*/
	public native String writeEntry(String rKey, String rValue);
	/**	
		 Writes the (key/value) pair.
		 Same as above, but writes a numerical value.
			@param rKey The key to write.
			@param nValue The value to write.
				@return The old value for this key. If this key did not
 exist, a null string is returned.

		@short    Writes the (key/value) pair.
	*/
	public native String writeEntry(String rKey, int nValue);
	/**	
		 Writes the (key/value) pair.
		 Same as above, but writes a font.
			@param rKey The key to write.
			@param rFont The font to write.
				@return The old value for this key. If this key did not
 exist, a null string is returned.

		@short    Writes the (key/value) pair.
	*/
	public native String writeEntry(String rKey, QFont rFont);
	/**	
		 Writes the (key/value) pair.
		 Same as above, but writes a color.
			@param rKey The key to write.
			@param rColor The color to write.
				@return The old value for this key. If this key did not
  exist, a null string is returned.

		@short    Writes the (key/value) pair.
	*/
	public native String writeEntry(String rKey, QColor rColor);
	/**	
		 Removes an entry.
			@param rKey The key to remove.
				@return The old value for this key. If this key did not
  exist, a null string is returned.

		@short    Removes an entry.
	*/
	public native String removeEntry(String rKey);
	/**	
		 Returns a list of all keys.
				@return An ArrayList containing all the keys.

		@short    Returns a list of all keys.
	*/
	public native ArrayList listEntries();
	/**	
		 Flushes the entry cache.
		 Writes back dirty configuration entries to the current property,
		 This is called automatically from the destructor.
				@short    Flushes the entry cache.
	*/
	public native void sync();
	/** 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();
}
