//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    using System.Collections.Generic;
    [SmokeClass("QKeySequence")]
    public partial class QKeySequence : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QKeySequence(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QKeySequence), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QKeySequence() {
            staticInterceptor = new SmokeInvocation(typeof(QKeySequence), null);
        }
        public enum StandardKey {
            UnknownKey = 0,
            HelpContents = 1,
            WhatsThis = 2,
            Open = 3,
            Close = 4,
            Save = 5,
            New = 6,
            Delete = 7,
            Cut = 8,
            Copy = 9,
            Paste = 10,
            Undo = 11,
            Redo = 12,
            Back = 13,
            Forward = 14,
            Refresh = 15,
            ZoomIn = 16,
            ZoomOut = 17,
            Print = 18,
            AddTab = 19,
            NextChild = 20,
            PreviousChild = 21,
            Find = 22,
            FindNext = 23,
            FindPrevious = 24,
            Replace = 25,
            SelectAll = 26,
            Bold = 27,
            Italic = 28,
            Underline = 29,
            MoveToNextChar = 30,
            MoveToPreviousChar = 31,
            MoveToNextWord = 32,
            MoveToPreviousWord = 33,
            MoveToNextLine = 34,
            MoveToPreviousLine = 35,
            MoveToNextPage = 36,
            MoveToPreviousPage = 37,
            MoveToStartOfLine = 38,
            MoveToEndOfLine = 39,
            MoveToStartOfBlock = 40,
            MoveToEndOfBlock = 41,
            MoveToStartOfDocument = 42,
            MoveToEndOfDocument = 43,
            SelectNextChar = 44,
            SelectPreviousChar = 45,
            SelectNextWord = 46,
            SelectPreviousWord = 47,
            SelectNextLine = 48,
            SelectPreviousLine = 49,
            SelectNextPage = 50,
            SelectPreviousPage = 51,
            SelectStartOfLine = 52,
            SelectEndOfLine = 53,
            SelectStartOfBlock = 54,
            SelectEndOfBlock = 55,
            SelectStartOfDocument = 56,
            SelectEndOfDocument = 57,
            DeleteStartOfWord = 58,
            DeleteEndOfWord = 59,
            DeleteEndOfLine = 60,
        }
        public enum SequenceMatch {
            NoMatch = 0,
            PartialMatch = 1,
            ExactMatch = 2,
        }
        public enum SequenceFormat {
            NativeText = 0,
            PortableText = 1,
        }
        //  operator QString(); >>>> NOT CONVERTED
        //  operator QVariant(); >>>> NOT CONVERTED
        //  operator int(); >>>> NOT CONVERTED
        // QKeySequencePrivate*& data_ptr(); >>>> NOT CONVERTED
        public QKeySequence() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QKeySequence", "QKeySequence()", typeof(void));
        }
        public QKeySequence(string key) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QKeySequence$", "QKeySequence(const QString&)", typeof(void), typeof(string), key);
        }
        public QKeySequence(int k1, int k2, int k3, int k4) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QKeySequence$$$$", "QKeySequence(int, int, int, int)", typeof(void), typeof(int), k1, typeof(int), k2, typeof(int), k3, typeof(int), k4);
        }
        public QKeySequence(int k1, int k2, int k3) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QKeySequence$$$", "QKeySequence(int, int, int)", typeof(void), typeof(int), k1, typeof(int), k2, typeof(int), k3);
        }
        public QKeySequence(int k1, int k2) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QKeySequence$$", "QKeySequence(int, int)", typeof(void), typeof(int), k1, typeof(int), k2);
        }
        public QKeySequence(int k1) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QKeySequence$", "QKeySequence(int)", typeof(void), typeof(int), k1);
        }
        public QKeySequence(QKeySequence ks) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QKeySequence#", "QKeySequence(const QKeySequence&)", typeof(void), typeof(QKeySequence), ks);
        }
        public QKeySequence(QKeySequence.StandardKey key) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QKeySequence$", "QKeySequence(QKeySequence::StandardKey)", typeof(void), typeof(QKeySequence.StandardKey), key);
        }
        public uint Count() {
            return (uint) interceptor.Invoke("count", "count() const", typeof(uint));
        }
        public bool IsEmpty() {
            return (bool) interceptor.Invoke("isEmpty", "isEmpty() const", typeof(bool));
        }
        public string ToString(QKeySequence.SequenceFormat format) {
            return (string) interceptor.Invoke("toString$", "toString(QKeySequence::SequenceFormat) const", typeof(string), typeof(QKeySequence.SequenceFormat), format);
        }
        public new string ToString() {
            return (string) interceptor.Invoke("toString", "toString() const", typeof(string));
        }
        public QKeySequence.SequenceMatch Matches(QKeySequence seq) {
            return (QKeySequence.SequenceMatch) interceptor.Invoke("matches#", "matches(const QKeySequence&) const", typeof(QKeySequence.SequenceMatch), typeof(QKeySequence), seq);
        }
        public override bool Equals(object o) {
            if (!(o is QKeySequence)) { return false; }
            return this == (QKeySequence) o;
        }
        public override int GetHashCode() {
            return interceptor.GetHashCode();
        }
        public bool IsDetached() {
            return (bool) interceptor.Invoke("isDetached", "isDetached() const", typeof(bool));
        }
        ~QKeySequence() {
            interceptor.Invoke("~QKeySequence", "~QKeySequence()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QKeySequence", "~QKeySequence()", typeof(void));
        }
        public static bool operator==(QKeySequence lhs, QKeySequence other) {
            return (bool) staticInterceptor.Invoke("operator==#", "operator==(const QKeySequence&) const", typeof(bool), typeof(QKeySequence), lhs, typeof(QKeySequence), other);
        }
        public static bool operator!=(QKeySequence lhs, QKeySequence other) {
            return !(bool) staticInterceptor.Invoke("operator==#", "operator==(const QKeySequence&) const", typeof(bool), typeof(QKeySequence), lhs, typeof(QKeySequence), other);
        }
        public static bool operator<(QKeySequence lhs, QKeySequence ks) {
            return (bool) staticInterceptor.Invoke("operator<#", "operator<(const QKeySequence&) const", typeof(bool), typeof(QKeySequence), lhs, typeof(QKeySequence), ks);
        }
        public static bool operator>(QKeySequence lhs, QKeySequence other) {
            return (bool) staticInterceptor.Invoke("operator>#", "operator>(const QKeySequence&) const", typeof(bool), typeof(QKeySequence), lhs, typeof(QKeySequence), other);
        }
        public static bool operator<=(QKeySequence lhs, QKeySequence other) {
            return (bool) staticInterceptor.Invoke("operator<=#", "operator<=(const QKeySequence&) const", typeof(bool), typeof(QKeySequence), lhs, typeof(QKeySequence), other);
        }
        public static bool operator>=(QKeySequence lhs, QKeySequence other) {
            return (bool) staticInterceptor.Invoke("operator>=#", "operator>=(const QKeySequence&) const", typeof(bool), typeof(QKeySequence), lhs, typeof(QKeySequence), other);
        }
        public static QKeySequence FromString(string str, QKeySequence.SequenceFormat format) {
            return (QKeySequence) staticInterceptor.Invoke("fromString$$", "fromString(const QString&, QKeySequence::SequenceFormat)", typeof(QKeySequence), typeof(string), str, typeof(QKeySequence.SequenceFormat), format);
        }
        public static QKeySequence FromString(string str) {
            return (QKeySequence) staticInterceptor.Invoke("fromString$", "fromString(const QString&)", typeof(QKeySequence), typeof(string), str);
        }
        public static QKeySequence Mnemonic(string text) {
            return (QKeySequence) staticInterceptor.Invoke("mnemonic$", "mnemonic(const QString&)", typeof(QKeySequence), typeof(string), text);
        }
        public static List<QKeySequence> KeyBindings(QKeySequence.StandardKey key) {
            return (List<QKeySequence>) staticInterceptor.Invoke("keyBindings$", "keyBindings(QKeySequence::StandardKey)", typeof(List<QKeySequence>), typeof(QKeySequence.StandardKey), key);
        }
    }
}
