//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QEvent")]
    public class QEvent : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QEvent(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QEvent), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QEvent() {
            staticInterceptor = new SmokeInvocation(typeof(QEvent), null);
        }
        public enum TypeOf {
            None = 0,
            Timer = 1,
            MouseButtonPress = 2,
            MouseButtonRelease = 3,
            MouseButtonDblClick = 4,
            MouseMove = 5,
            KeyPress = 6,
            KeyRelease = 7,
            FocusIn = 8,
            FocusOut = 9,
            Enter = 10,
            Leave = 11,
            Paint = 12,
            Move = 13,
            Resize = 14,
            Create = 15,
            Destroy = 16,
            Show = 17,
            Hide = 18,
            Close = 19,
            Quit = 20,
            ParentChange = 21,
            ParentAboutToChange = 131,
            ThreadChange = 22,
            WindowActivate = 24,
            WindowDeactivate = 25,
            ShowToParent = 26,
            HideToParent = 27,
            Wheel = 31,
            WindowTitleChange = 33,
            WindowIconChange = 34,
            ApplicationWindowIconChange = 35,
            ApplicationFontChange = 36,
            ApplicationLayoutDirectionChange = 37,
            ApplicationPaletteChange = 38,
            PaletteChange = 39,
            Clipboard = 40,
            Speech = 42,
            MetaCall = 43,
            SockAct = 50,
            WinEventAct = 132,
            DeferredDelete = 52,
            DragEnter = 60,
            DragMove = 61,
            DragLeave = 62,
            Drop = 63,
            DragResponse = 64,
            ChildAdded = 68,
            ChildPolished = 69,
            ChildRemoved = 71,
            ShowWindowRequest = 73,
            PolishRequest = 74,
            Polish = 75,
            LayoutRequest = 76,
            UpdateRequest = 77,
            UpdateLater = 78,
            EmbeddingControl = 79,
            ActivateControl = 80,
            DeactivateControl = 81,
            ContextMenu = 82,
            InputMethod = 83,
            AccessibilityPrepare = 86,
            TabletMove = 87,
            LocaleChange = 88,
            LanguageChange = 89,
            LayoutDirectionChange = 90,
            Style = 91,
            TabletPress = 92,
            TabletRelease = 93,
            OkRequest = 94,
            HelpRequest = 95,
            IconDrag = 96,
            FontChange = 97,
            EnabledChange = 98,
            ActivationChange = 99,
            StyleChange = 100,
            IconTextChange = 101,
            ModifiedChange = 102,
            MouseTrackingChange = 109,
            WindowBlocked = 103,
            WindowUnblocked = 104,
            WindowStateChange = 105,
            ToolTip = 110,
            WhatsThis = 111,
            StatusTip = 112,
            ActionChanged = 113,
            ActionAdded = 114,
            ActionRemoved = 115,
            FileOpen = 116,
            Shortcut = 117,
            ShortcutOverride = 51,
            WhatsThisClicked = 118,
            ToolBarChange = 120,
            ApplicationActivate = 121,
            ApplicationActivated = ApplicationActivate,
            ApplicationDeactivate = 122,
            ApplicationDeactivated = ApplicationDeactivate,
            QueryWhatsThis = 123,
            EnterWhatsThisMode = 124,
            LeaveWhatsThisMode = 125,
            ZOrderChange = 126,
            HoverEnter = 127,
            HoverLeave = 128,
            HoverMove = 129,
            AccessibilityHelp = 119,
            AccessibilityDescription = 130,
            AcceptDropsChange = 152,
            MenubarUpdated = 153,
            ZeroTimerEvent = 154,
            GraphicsSceneMouseMove = 155,
            GraphicsSceneMousePress = 156,
            GraphicsSceneMouseRelease = 157,
            GraphicsSceneMouseDoubleClick = 158,
            GraphicsSceneContextMenu = 159,
            GraphicsSceneHoverEnter = 160,
            GraphicsSceneHoverMove = 161,
            GraphicsSceneHoverLeave = 162,
            GraphicsSceneHelp = 163,
            GraphicsSceneDragEnter = 164,
            GraphicsSceneDragMove = 165,
            GraphicsSceneDragLeave = 166,
            GraphicsSceneDrop = 167,
            GraphicsSceneWheel = 168,
            KeyboardLayoutChange = 169,
            DynamicPropertyChange = 170,
            TabletEnterProximity = 171,
            TabletLeaveProximity = 172,
            NonClientAreaMouseMove = 173,
            NonClientAreaMouseButtonPress = 174,
            NonClientAreaMouseButtonRelease = 175,
            NonClientAreaMouseButtonDblClick = 176,
            MacSizeChange = 177,
            ContentsRectChange = 178,
            MacGLWindowChange = 179,
            FutureCallOut = 180,
            GraphicsSceneResize = 181,
            GraphicsSceneMove = 182,
            CursorChange = 183,
            ToolTipChange = 184,
            NetworkReplyUpdated = 185,
            GrabMouse = 186,
            UngrabMouse = 187,
            GrabKeyboard = 188,
            UngrabKeyboard = 189,
            CocoaRequestModal = 190,
            User = 1000,
            MaxUser = 65535,
        }
        [Q_PROPERTY("bool", "accepted")]
        public bool Accepted {
            get { return (bool) interceptor.Invoke("isAccepted", "isAccepted()", typeof(bool)); }
            set { interceptor.Invoke("setAccepted$", "setAccepted(bool)", typeof(void), typeof(bool), value); }
        }
        public QEvent(QEvent.TypeOf type) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QEvent$", "QEvent(QEvent::Type)", typeof(void), typeof(QEvent.TypeOf), type);
        }
        public QEvent.TypeOf type() {
            return (QEvent.TypeOf) interceptor.Invoke("type", "type() const", typeof(QEvent.TypeOf));
        }
        public bool Spontaneous() {
            return (bool) interceptor.Invoke("spontaneous", "spontaneous() const", typeof(bool));
        }
        public void Accept() {
            interceptor.Invoke("accept", "accept()", typeof(void));
        }
        public void Ignore() {
            interceptor.Invoke("ignore", "ignore()", typeof(void));
        }
        ~QEvent() {
            interceptor.Invoke("~QEvent", "~QEvent()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QEvent", "~QEvent()", typeof(void));
        }
        public static int RegisterEventType(int hint) {
            return (int) staticInterceptor.Invoke("registerEventType$", "registerEventType(int)", typeof(int), typeof(int), hint);
        }
        public static int RegisterEventType() {
            return (int) staticInterceptor.Invoke("registerEventType", "registerEventType()", typeof(int));
        }
    }
}
