//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QAccessible")]
    public class QAccessible : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QAccessible(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QAccessible), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QAccessible() {
            staticInterceptor = new SmokeInvocation(typeof(QAccessible), null);
        }
        public enum Event {
            SoundPlayed = 0x0001,
            Alert = 0x0002,
            ForegroundChanged = 0x0003,
            MenuStart = 0x0004,
            MenuEnd = 0x0005,
            PopupMenuStart = 0x0006,
            PopupMenuEnd = 0x0007,
            ContextHelpStart = 0x000C,
            ContextHelpEnd = 0x000D,
            DragDropStart = 0x000E,
            DragDropEnd = 0x000F,
            DialogStart = 0x0010,
            DialogEnd = 0x0011,
            ScrollingStart = 0x0012,
            ScrollingEnd = 0x0013,
            MenuCommand = 0x0018,
            ObjectCreated = 0x8000,
            ObjectDestroyed = 0x8001,
            ObjectShow = 0x8002,
            ObjectHide = 0x8003,
            ObjectReorder = 0x8004,
            Focus = 0x8005,
            Selection = 0x8006,
            SelectionAdd = 0x8007,
            SelectionRemove = 0x8008,
            SelectionWithin = 0x8009,
            StateChanged = 0x800A,
            LocationChanged = 0x800B,
            NameChanged = 0x800C,
            DescriptionChanged = 0x800D,
            ValueChanged = 0x800E,
            ParentChanged = 0x800F,
            HelpChanged = 0x80A0,
            DefaultActionChanged = 0x80B0,
            AcceleratorChanged = 0x80C0,
        }
        public enum StateFlag : long {
            Normal = 0x00000000,
            Unavailable = 0x00000001,
            Selected = 0x00000002,
            Focused = 0x00000004,
            Pressed = 0x00000008,
            Checked = 0x00000010,
            Mixed = 0x00000020,
            ReadOnly = 0x00000040,
            HotTracked = 0x00000080,
            DefaultButton = 0x00000100,
            Expanded = 0x00000200,
            Collapsed = 0x00000400,
            Busy = 0x00000800,
            Marqueed = 0x00002000,
            Animated = 0x00004000,
            Invisible = 0x00008000,
            Offscreen = 0x00010000,
            Sizeable = 0x00020000,
            Movable = 0x00040000,
            SelfVoicing = 0x00080000,
            Focusable = 0x00100000,
            Selectable = 0x00200000,
            Linked = 0x00400000,
            Traversed = 0x00800000,
            MultiSelectable = 0x01000000,
            ExtSelectable = 0x02000000,
            Protected = 0x20000000,
            HasPopup = 0x40000000,
            Modal = 0x80000000,
            HasInvokeExtension = 0x10000000,
        }
        public enum Role {
            NoRole = 0x00000000,
            TitleBar = 0x00000001,
            MenuBar = 0x00000002,
            ScrollBar = 0x00000003,
            Grip = 0x00000004,
            Sound = 0x00000005,
            Cursor = 0x00000006,
            Caret = 0x00000007,
            AlertMessage = 0x00000008,
            Window = 0x00000009,
            Client = 0x0000000A,
            PopupMenu = 0x0000000B,
            MenuItem = 0x0000000C,
            ToolTip = 0x0000000D,
            Application = 0x0000000E,
            Document = 0x0000000F,
            Pane = 0x00000010,
            Chart = 0x00000011,
            Dialog = 0x00000012,
            Border = 0x00000013,
            Grouping = 0x00000014,
            Separator = 0x00000015,
            ToolBar = 0x00000016,
            StatusBar = 0x00000017,
            Table = 0x00000018,
            ColumnHeader = 0x00000019,
            RowHeader = 0x0000001A,
            Column = 0x0000001B,
            Row = 0x0000001C,
            Cell = 0x0000001D,
            Link = 0x0000001E,
            HelpBalloon = 0x0000001F,
            Assistant = 0x00000020,
            List = 0x00000021,
            ListItem = 0x00000022,
            Tree = 0x00000023,
            TreeItem = 0x00000024,
            PageTab = 0x00000025,
            PropertyPage = 0x00000026,
            Indicator = 0x00000027,
            Graphic = 0x00000028,
            StaticText = 0x00000029,
            EditableText = 0x0000002A,
            PushButton = 0x0000002B,
            CheckBox = 0x0000002C,
            RadioButton = 0x0000002D,
            ComboBox = 0x0000002E,
            ProgressBar = 0x00000030,
            Dial = 0x00000031,
            HotkeyField = 0x00000032,
            Slider = 0x00000033,
            SpinBox = 0x00000034,
            Canvas = 0x00000035,
            Animation = 0x00000036,
            Equation = 0x00000037,
            ButtonDropDown = 0x00000038,
            ButtonMenu = 0x00000039,
            ButtonDropGrid = 0x0000003A,
            Whitespace = 0x0000003B,
            PageTabList = 0x0000003C,
            Clock = 0x0000003D,
            Splitter = 0x0000003E,
            LayeredPane = 0x0000003F,
            UserRole = 0x0000ffff,
        }
        public enum Text {
            Name = 0,
            Description = 1,
            Value = 2,
            Help = 3,
            Accelerator = 4,
            UserText = 0x0000ffff,
        }
        public enum RelationFlag {
            Unrelated = 0x00000000,
            Self = 0x00000001,
            Ancestor = 0x00000002,
            Child = 0x00000004,
            Descendent = 0x00000008,
            Sibling = 0x00000010,
            HierarchyMask = 0x000000ff,
            Up = 0x00000100,
            Down = 0x00000200,
            Left = 0x00000400,
            Right = 0x00000800,
            Covers = 0x00001000,
            Covered = 0x00002000,
            GeometryMask = 0x0000ff00,
            FocusChild = 0x00010000,
            Label = 0x00020000,
            Labelled = 0x00040000,
            Controller = 0x00080000,
            Controlled = 0x00100000,
            LogicalMask = 0x00ff0000,
        }
        public enum Action {
            DefaultAction = 0,
            Press = -1,
            FirstStandardAction = Press,
            SetFocus = -2,
            Increase = -3,
            Decrease = -4,
            Accept = -5,
            Cancel = -6,
            Select = -7,
            ClearSelection = -8,
            RemoveSelection = -9,
            ExtendSelection = -10,
            AddToSelection = -11,
            LastStandardAction = AddToSelection,
        }
        public enum Method {
            ListSupportedMethods = 0,
            SetCursorPosition = 1,
            GetCursorPosition = 2,
            ForegroundColor = 3,
            BackgroundColor = 4,
        }
        // void installFactory(InterfaceFactory arg1); >>>> NOT CONVERTED
        // void removeFactory(InterfaceFactory arg1); >>>> NOT CONVERTED
        // UpdateHandler installUpdateHandler(UpdateHandler arg1); >>>> NOT CONVERTED
        // RootObjectHandler installRootObjectHandler(RootObjectHandler arg1); >>>> NOT CONVERTED
        public QAccessible() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QAccessible", "QAccessible()", typeof(void));
        }
        ~QAccessible() {
            interceptor.Invoke("~QAccessible", "~QAccessible()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QAccessible", "~QAccessible()", typeof(void));
        }
        public static QAccessibleInterface QueryAccessibleInterface(QObject arg1) {
            return (QAccessibleInterface) staticInterceptor.Invoke("queryAccessibleInterface#", "queryAccessibleInterface(QObject*)", typeof(QAccessibleInterface), typeof(QObject), arg1);
        }
        public static void UpdateAccessibility(QObject arg1, int who, QAccessible.Event reason) {
            staticInterceptor.Invoke("updateAccessibility#$$", "updateAccessibility(QObject*, int, QAccessible::Event)", typeof(void), typeof(QObject), arg1, typeof(int), who, typeof(QAccessible.Event), reason);
        }
        public static bool IsActive() {
            return (bool) staticInterceptor.Invoke("isActive", "isActive()", typeof(bool));
        }
        public static void SetRootObject(QObject arg1) {
            staticInterceptor.Invoke("setRootObject#", "setRootObject(QObject*)", typeof(void), typeof(QObject), arg1);
        }
        public static void Initialize() {
            staticInterceptor.Invoke("initialize", "initialize()", typeof(void));
        }
        public static void Cleanup() {
            staticInterceptor.Invoke("cleanup", "cleanup()", typeof(void));
        }
    }
}
