//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QStyleOptionButton")]
    public class QStyleOptionButton : QStyleOption, IDisposable {
        protected QStyleOptionButton(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QStyleOptionButton), this);
        }
        public enum StyleOptionType {
            Type = QStyleOption.OptionType.SO_Button,
        }
        public enum StyleOptionVersion {
            Version = 1,
        }
        public enum ButtonFeature {
            None = 0x00,
            Flat = 0x01,
            HasMenu = 0x02,
            DefaultButton = 0x04,
            AutoDefaultButton = 0x08,
            CommandLinkButton = 0x10,
        }
        public QStyleOptionButton() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStyleOptionButton", "QStyleOptionButton()", typeof(void));
        }
        public QStyleOptionButton(QStyleOptionButton other) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStyleOptionButton#", "QStyleOptionButton(const QStyleOptionButton&)", typeof(void), typeof(QStyleOptionButton), other);
        }
        public QStyleOptionButton(int version) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStyleOptionButton$", "QStyleOptionButton(int)", typeof(void), typeof(int), version);
        }
        ~QStyleOptionButton() {
            interceptor.Invoke("~QStyleOptionButton", "~QStyleOptionButton()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~QStyleOptionButton", "~QStyleOptionButton()", typeof(void));
        }
    }
}
