//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QStyleOptionMenuItem")]
    public class QStyleOptionMenuItem : QStyleOption, IDisposable {
        protected QStyleOptionMenuItem(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QStyleOptionMenuItem), this);
        }
        public enum StyleOptionType {
            Type = QStyleOption.OptionType.SO_MenuItem,
        }
        public enum StyleOptionVersion {
            Version = 1,
        }
        public enum MenuItemType {
            Normal = 0,
            DefaultItem = 1,
            Separator = 2,
            SubMenu = 3,
            Scroller = 4,
            TearOff = 5,
            Margin = 6,
            EmptyArea = 7,
        }
        public enum CheckType {
            NotCheckable = 0,
            Exclusive = 1,
            NonExclusive = 2,
        }
        public QStyleOptionMenuItem() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStyleOptionMenuItem", "QStyleOptionMenuItem()", typeof(void));
        }
        public QStyleOptionMenuItem(QStyleOptionMenuItem other) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStyleOptionMenuItem#", "QStyleOptionMenuItem(const QStyleOptionMenuItem&)", typeof(void), typeof(QStyleOptionMenuItem), other);
        }
        public QStyleOptionMenuItem(int version) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStyleOptionMenuItem$", "QStyleOptionMenuItem(int)", typeof(void), typeof(int), version);
        }
        ~QStyleOptionMenuItem() {
            interceptor.Invoke("~QStyleOptionMenuItem", "~QStyleOptionMenuItem()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~QStyleOptionMenuItem", "~QStyleOptionMenuItem()", typeof(void));
        }
    }
}
