//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QStyleOption")]
    public class QStyleOption : Object, IDisposable {
        protected SmokeInvocation interceptor = null;
        private IntPtr smokeObject;
        protected QStyleOption(Type dummy) {}
        protected void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QStyleOption), this);
        }
        public enum OptionType {
            SO_Default = 0,
            SO_FocusRect = 1,
            SO_Button = 2,
            SO_Tab = 3,
            SO_MenuItem = 4,
            SO_Frame = 5,
            SO_ProgressBar = 6,
            SO_ToolBox = 7,
            SO_Header = 8,
            SO_Q3DockWindow = 9,
            SO_DockWidget = 10,
            SO_Q3ListViewItem = 11,
            SO_ViewItem = 12,
            SO_TabWidgetFrame = 13,
            SO_TabBarBase = 14,
            SO_RubberBand = 15,
            SO_ToolBar = 16,
            SO_GraphicsItem = 17,
            SO_Complex = 0xf0000,
            SO_Slider = 18,
            SO_SpinBox = 19,
            SO_ToolButton = 20,
            SO_ComboBox = 21,
            SO_Q3ListView = 22,
            SO_TitleBar = 23,
            SO_GroupBox = 24,
            SO_SizeGrip = 25,
            SO_CustomBase = 0xf00,
            SO_ComplexCustomBase = 0xf000000,
        }
        public enum StyleOptionType {
            Type = QStyleOption.OptionType.SO_Default,
        }
        public enum StyleOptionVersion {
            Version = 1,
        }
        public QStyleOption(int version, int type) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStyleOption$$", "QStyleOption(int, int)", typeof(void), typeof(int), version, typeof(int), type);
        }
        public QStyleOption(int version) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStyleOption$", "QStyleOption(int)", typeof(void), typeof(int), version);
        }
        public QStyleOption() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStyleOption", "QStyleOption()", typeof(void));
        }
        public QStyleOption(QStyleOption other) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStyleOption#", "QStyleOption(const QStyleOption&)", typeof(void), typeof(QStyleOption), other);
        }
        public void Init(QWidget w) {
            interceptor.Invoke("init#", "init(const QWidget*)", typeof(void), typeof(QWidget), w);
        }
        public void InitFrom(QWidget w) {
            interceptor.Invoke("initFrom#", "initFrom(const QWidget*)", typeof(void), typeof(QWidget), w);
        }
        ~QStyleOption() {
            interceptor.Invoke("~QStyleOption", "~QStyleOption()", typeof(void));
        }
        public void Dispose() {
            interceptor.Invoke("~QStyleOption", "~QStyleOption()", typeof(void));
        }
    }
}
