//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QTestKeyEvent")]
    public class QTestKeyEvent : QTestEvent, IDisposable {
        protected QTestKeyEvent(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QTestKeyEvent), this);
        }
        public QTestKeyEvent(QTest.KeyAction action, Qt.Key key, uint modifiers, int delay) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QTestKeyEvent$$$$", "QTestKeyEvent(QTest::KeyAction, Qt::Key, Qt::KeyboardModifiers, int)", typeof(void), typeof(QTest.KeyAction), action, typeof(Qt.Key), key, typeof(uint), modifiers, typeof(int), delay);
        }
        public QTestKeyEvent(QTest.KeyAction action, char ascii, uint modifiers, int delay) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QTestKeyEvent$$$$", "QTestKeyEvent(QTest::KeyAction, char, Qt::KeyboardModifiers, int)", typeof(void), typeof(QTest.KeyAction), action, typeof(char), ascii, typeof(uint), modifiers, typeof(int), delay);
        }
        [SmokeMethod("clone() const")]
        public override QTestEvent Clone() {
            return (QTestEvent) interceptor.Invoke("clone", "clone() const", typeof(QTestEvent));
        }
        [SmokeMethod("simulate(QWidget*)")]
        public override void Simulate(QWidget w) {
            interceptor.Invoke("simulate#", "simulate(QWidget*)", typeof(void), typeof(QWidget), w);
        }
        ~QTestKeyEvent() {
            interceptor.Invoke("~QTestKeyEvent", "~QTestKeyEvent()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QTestKeyEvent", "~QTestKeyEvent()", typeof(void));
        }
    }
}
