//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    /// <remarks> See <see cref="IQShortcutSignals"></see> for signals emitted by QShortcut
    /// </remarks>
    [SmokeClass("QShortcut")]
    public class QShortcut : QObject, IDisposable {
        protected QShortcut(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QShortcut), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QShortcut() {
            staticInterceptor = new SmokeInvocation(typeof(QShortcut), null);
        }
        [Q_PROPERTY("QKeySequence", "key")]
        public new QKeySequence Key {
            get { return (QKeySequence) interceptor.Invoke("key", "key()", typeof(QKeySequence)); }
            set { interceptor.Invoke("setKey#", "setKey(QKeySequence)", typeof(void), typeof(QKeySequence), value); }
        }
        [Q_PROPERTY("QString", "whatsThis")]
        public string WhatsThis {
            get { return (string) interceptor.Invoke("whatsThis", "whatsThis()", typeof(string)); }
            set { interceptor.Invoke("setWhatsThis$", "setWhatsThis(QString)", typeof(void), typeof(string), value); }
        }
        [Q_PROPERTY("bool", "enabled")]
        public bool Enabled {
            get { return (bool) interceptor.Invoke("isEnabled", "isEnabled()", typeof(bool)); }
            set { interceptor.Invoke("setEnabled$", "setEnabled(bool)", typeof(void), typeof(bool), value); }
        }
        [Q_PROPERTY("bool", "autoRepeat")]
        public bool AutoRepeat {
            get { return (bool) interceptor.Invoke("autoRepeat", "autoRepeat()", typeof(bool)); }
            set { interceptor.Invoke("setAutoRepeat$", "setAutoRepeat(bool)", typeof(void), typeof(bool), value); }
        }
        [Q_PROPERTY("Qt::ShortcutContext", "context")]
        public Qt.ShortcutContext Context {
            get { return (Qt.ShortcutContext) interceptor.Invoke("context", "context()", typeof(Qt.ShortcutContext)); }
            set { interceptor.Invoke("setContext$", "setContext(Qt::ShortcutContext)", typeof(void), typeof(Qt.ShortcutContext), value); }
        }
        public QShortcut(QWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QShortcut#", "QShortcut(QWidget*)", typeof(void), typeof(QWidget), parent);
        }
        public QShortcut(QKeySequence key, QWidget parent, string member, string ambiguousMember, Qt.ShortcutContext context) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QShortcut##$$$", "QShortcut(const QKeySequence&, QWidget*, const char*, const char*, Qt::ShortcutContext)", typeof(void), typeof(QKeySequence), key, typeof(QWidget), parent, typeof(string), member, typeof(string), ambiguousMember, typeof(Qt.ShortcutContext), context);
        }
        public QShortcut(QKeySequence key, QWidget parent, string member, string ambiguousMember) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QShortcut##$$", "QShortcut(const QKeySequence&, QWidget*, const char*, const char*)", typeof(void), typeof(QKeySequence), key, typeof(QWidget), parent, typeof(string), member, typeof(string), ambiguousMember);
        }
        public QShortcut(QKeySequence key, QWidget parent, string member) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QShortcut##$", "QShortcut(const QKeySequence&, QWidget*, const char*)", typeof(void), typeof(QKeySequence), key, typeof(QWidget), parent, typeof(string), member);
        }
        public QShortcut(QKeySequence key, QWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QShortcut##", "QShortcut(const QKeySequence&, QWidget*)", typeof(void), typeof(QKeySequence), key, typeof(QWidget), parent);
        }
        public int Id() {
            return (int) interceptor.Invoke("id", "id() const", typeof(int));
        }
        public QWidget ParentWidget() {
            return (QWidget) interceptor.Invoke("parentWidget", "parentWidget() const", typeof(QWidget));
        }
        [SmokeMethod("event(QEvent*)")]
        protected new virtual bool Event(QEvent e) {
            return (bool) interceptor.Invoke("event#", "event(QEvent*)", typeof(bool), typeof(QEvent), e);
        }
        ~QShortcut() {
            interceptor.Invoke("~QShortcut", "~QShortcut()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~QShortcut", "~QShortcut()", typeof(void));
        }
        public static new string Tr(string s, string c) {
            return (string) staticInterceptor.Invoke("tr$$", "tr(const char*, const char*)", typeof(string), typeof(string), s, typeof(string), c);
        }
        public static new string Tr(string s) {
            return (string) staticInterceptor.Invoke("tr$", "tr(const char*)", typeof(string), typeof(string), s);
        }
        protected new IQShortcutSignals Emit {
            get { return (IQShortcutSignals) Q_EMIT; }
        }
    }

    public interface IQShortcutSignals : IQObjectSignals {
        [Q_SIGNAL("void activated()")]
        void Activated();
        [Q_SIGNAL("void activatedAmbiguously()")]
        void ActivatedAmbiguously();
    }
}
