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

import org.trinitydesktop.qt.Qt;
import org.trinitydesktop.qt.QtSupport;

/**

 Representation of a key in the format native of the windowing system (eg. X11).
		@short    Representation of a key in the format native of the windowing system (eg.
		@see KKey

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

	/**
		 Creates a new null KKey.
				@short    Creates a new null KKey.
		@see #clear
		@see #isNull
		@see #null
	*/
	public KKeyNative() {
		newKKeyNative();
	}
	private native void newKKeyNative();
	/**
		 Creates a new native key for the given KKey code.
			@param key the KKey that contains the generic key
			 		@short    Creates a new native key for the given KKey code.
	*/
	public KKeyNative(KKey key) {
		newKKeyNative(key);
	}
	private native void newKKeyNative(KKey key);
	/**
				 		@short
	*/
	public KKeyNative(int code, int mod, int sym) {
		newKKeyNative(code,mod,sym);
	}
	private native void newKKeyNative(int code, int mod, int sym);
	/**
		 Clears the key. The key is null after calling this function.
				@short    Clears the key.
		@see #isNull
	*/
	public native void clear();
	/**
		 Creates a new native key for the given KKey code.
			@param key the KKey that contains the generic key
				@return true if successful, false otherwise

		@short    Creates a new native key for the given KKey code.
	*/
	public native boolean init(KKey key);
	/**
		 Returns the qt key code.
				@return the qt key code or 0 if there is no key set.

		@short    Returns the qt key code.
		@see org.trinitydesktop.qt.Qt#Key
	*/
	public native int keyCodeQt();
	/**
		 Returns the KKey representation of this key.
				@return the KKey representation

		@short    Returns the KKey representation of this key.
	*/
	public native KKey key();
	/**
		 The native keycode of the key.
				@return the native keycode

		@short    The native keycode of the key.
	*/
	public native int code();
	/**
		 The native modifier flags of the key.
				@return the native modifier flags

		@short    The native modifier flags of the key.
	*/
	public native int mod();
	/**
		 The native symbol (KeySym) of the key.
				@return the native symbol (KeySym)

		@short    The native symbol (KeySym) of the key.
	*/
	public native int sym();
	/**
		 Returns true if the key is null (after clear() or empty
		 constructor).
				@return true if the key is null

		@short    Returns true if the key is null (after clear() or empty  constructor).
		@see #clear
		@see #null
	*/
	public native boolean isNull();
	/**
		 Returns a null key.
				@return the null key

		@short    Returns a null key.
		@see #isNull
		@see #clear
	*/
	public static native KKeyNative nil();
	/**
		 Checks whether the keyboard has a Win key.
				@return true if the keyboard has a Win key

		@short    Checks whether the keyboard has a Win key.
	*/
	public static native boolean keyboardHasWinKey();
	/** 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();
}
