/***************************************************************************
                            KShortcut.java -  description
                             -------------------
    begin                : Sun Jan 27 16:22:17 2002
    copyright            : (C) 2000-2001 Lost Highway Ltd.
    email                : Richard_Dale@tipitina.demon.co.uk
    generated by         : duke@tipitina on Sun Jan 27 16:22:17 2002, using kalyptus 0.9.
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
***************************************************************************/

package org.kde.koala;

import org.kde.qt.*;
import java.util.*;
import java.lang.Error;

/**

 The KShortcut class is used to represent a keyboard shortcut to an action.
 A shortcut is normally a single key with modifiers, such as Ctrl+V.
 A KShortcut object may also contain an alternate key which will also
 activate the action it's associated to, as long as no other actions have
 defined that key as their primary key.  Ex: Ctrl+V;Shift+Insert.
 
 @short 
 The KShortcut class is used to represent a keyboard shortcut to an action.
*/
public class  KShortcut implements QtSupport {
	private long _qt;
	private boolean _allocatedInJavaWorld = true;

	protected KShortcut(Class dummy){}

	private native void newKShortcut();
	public KShortcut() {
		newKShortcut();
	}
	private native void newKShortcut( int keyQt);
	public KShortcut( int keyQt) {
		newKShortcut( keyQt);
	}
	private native void newKShortcut( QKeySequence arg1);
	public KShortcut( QKeySequence arg1) {
		newKShortcut( arg1);
	}
	private native void newKShortcut( KKey arg1);
	public KShortcut( KKey arg1) {
		newKShortcut( arg1);
	}
	private native void newKShortcut( KKeySequence arg1);
	public KShortcut( KKeySequence arg1) {
		newKShortcut( arg1);
	}
	private native void newKShortcut( KShortcut arg1);
	public KShortcut( KShortcut arg1) {
		newKShortcut( arg1);
	}
	private native void newKShortcut( String arg1);
	public KShortcut( String arg1) {
		newKShortcut( arg1);
	}
//	private native void newKShortcut( String arg1);
//	public KShortcut( String arg1) {
//		newKShortcut( arg1);
//	}
	protected native void finalize() throws InternalError;
	public native void dispose();
	public native boolean isDisposed();
	public native void clear();
	public native boolean init( int keyQt);
	public native boolean init( QKeySequence arg1);
	public native boolean init( KKey arg1);
	public native boolean init( KKeySequence arg1);
	public native boolean init( KShortcut arg1);
	public native boolean init( String arg1);
	public native int count();
	public native KKeySequence seq( int i);
	public native int keyCodeQt();
	public native boolean isNull();
	public native int compare( KShortcut arg1);
	public native boolean contains( KKey arg1);
//	public native boolean contains( KKeyNative arg1);
	public native boolean contains( KKeySequence arg1);
	public native boolean setSeq( int i, KKeySequence arg1);
	public native boolean append( KKeySequence arg1);
	public native String toString();
	public native String toStringInternal( KShortcut pcutDefault);
	public native String toStringInternal();
//	public static native KShortcut null();
	public static final int MAX_SEQUENCES = 2;
}
