//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    [SmokeClass("QBoxLayout")]
    public class QBoxLayout : QLayout, IDisposable {
        protected QBoxLayout(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QBoxLayout), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QBoxLayout() {
            staticInterceptor = new SmokeInvocation(typeof(QBoxLayout), null);
        }
        public enum Direction {
            LeftToRight = 0,
            RightToLeft = 1,
            TopToBottom = 2,
            BottomToTop = 3,
            Down = TopToBottom,
            Up = BottomToTop,
        }
        public QBoxLayout(QBoxLayout.Direction arg1, QWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QBoxLayout$#", "QBoxLayout(QBoxLayout::Direction, QWidget*)", typeof(void), typeof(QBoxLayout.Direction), arg1, typeof(QWidget), parent);
        }
        public QBoxLayout(QBoxLayout.Direction arg1) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QBoxLayout$", "QBoxLayout(QBoxLayout::Direction)", typeof(void), typeof(QBoxLayout.Direction), arg1);
        }
        public QBoxLayout.Direction direction() {
            return (QBoxLayout.Direction) interceptor.Invoke("direction", "direction() const", typeof(QBoxLayout.Direction));
        }
        public void SetDirection(QBoxLayout.Direction arg1) {
            interceptor.Invoke("setDirection$", "setDirection(QBoxLayout::Direction)", typeof(void), typeof(QBoxLayout.Direction), arg1);
        }
        public void AddSpacing(int size) {
            interceptor.Invoke("addSpacing$", "addSpacing(int)", typeof(void), typeof(int), size);
        }
        public void AddStretch(int stretch) {
            interceptor.Invoke("addStretch$", "addStretch(int)", typeof(void), typeof(int), stretch);
        }
        public void AddStretch() {
            interceptor.Invoke("addStretch", "addStretch()", typeof(void));
        }
        public void AddSpacerItem(QSpacerItem spacerItem) {
            interceptor.Invoke("addSpacerItem#", "addSpacerItem(QSpacerItem*)", typeof(void), typeof(QSpacerItem), spacerItem);
        }
        public void AddWidget(QWidget arg1, int stretch, uint alignment) {
            interceptor.Invoke("addWidget#$$", "addWidget(QWidget*, int, Qt::Alignment)", typeof(void), typeof(QWidget), arg1, typeof(int), stretch, typeof(uint), alignment);
        }
        public void AddWidget(QWidget arg1, int stretch) {
            interceptor.Invoke("addWidget#$", "addWidget(QWidget*, int)", typeof(void), typeof(QWidget), arg1, typeof(int), stretch);
        }
        public new void AddWidget(QWidget arg1) {
            interceptor.Invoke("addWidget#", "addWidget(QWidget*)", typeof(void), typeof(QWidget), arg1);
        }
        public void AddLayout(QLayout layout, int stretch) {
            interceptor.Invoke("addLayout#$", "addLayout(QLayout*, int)", typeof(void), typeof(QLayout), layout, typeof(int), stretch);
        }
        public void AddLayout(QLayout layout) {
            interceptor.Invoke("addLayout#", "addLayout(QLayout*)", typeof(void), typeof(QLayout), layout);
        }
        public void AddStrut(int arg1) {
            interceptor.Invoke("addStrut$", "addStrut(int)", typeof(void), typeof(int), arg1);
        }
        [SmokeMethod("addItem(QLayoutItem*)")]
        public override void AddItem(IQLayoutItem arg1) {
            interceptor.Invoke("addItem#", "addItem(QLayoutItem*)", typeof(void), typeof(IQLayoutItem), arg1);
        }
        public void InsertSpacing(int index, int size) {
            interceptor.Invoke("insertSpacing$$", "insertSpacing(int, int)", typeof(void), typeof(int), index, typeof(int), size);
        }
        public void InsertStretch(int index, int stretch) {
            interceptor.Invoke("insertStretch$$", "insertStretch(int, int)", typeof(void), typeof(int), index, typeof(int), stretch);
        }
        public void InsertStretch(int index) {
            interceptor.Invoke("insertStretch$", "insertStretch(int)", typeof(void), typeof(int), index);
        }
        public void InsertSpacerItem(int index, QSpacerItem spacerItem) {
            interceptor.Invoke("insertSpacerItem$#", "insertSpacerItem(int, QSpacerItem*)", typeof(void), typeof(int), index, typeof(QSpacerItem), spacerItem);
        }
        public void InsertWidget(int index, QWidget widget, int stretch, uint alignment) {
            interceptor.Invoke("insertWidget$#$$", "insertWidget(int, QWidget*, int, Qt::Alignment)", typeof(void), typeof(int), index, typeof(QWidget), widget, typeof(int), stretch, typeof(uint), alignment);
        }
        public void InsertWidget(int index, QWidget widget, int stretch) {
            interceptor.Invoke("insertWidget$#$", "insertWidget(int, QWidget*, int)", typeof(void), typeof(int), index, typeof(QWidget), widget, typeof(int), stretch);
        }
        public void InsertWidget(int index, QWidget widget) {
            interceptor.Invoke("insertWidget$#", "insertWidget(int, QWidget*)", typeof(void), typeof(int), index, typeof(QWidget), widget);
        }
        public void InsertLayout(int index, QLayout layout, int stretch) {
            interceptor.Invoke("insertLayout$#$", "insertLayout(int, QLayout*, int)", typeof(void), typeof(int), index, typeof(QLayout), layout, typeof(int), stretch);
        }
        public void InsertLayout(int index, QLayout layout) {
            interceptor.Invoke("insertLayout$#", "insertLayout(int, QLayout*)", typeof(void), typeof(int), index, typeof(QLayout), layout);
        }
        public bool SetStretchFactor(QWidget w, int stretch) {
            return (bool) interceptor.Invoke("setStretchFactor#$", "setStretchFactor(QWidget*, int)", typeof(bool), typeof(QWidget), w, typeof(int), stretch);
        }
        public bool SetStretchFactor(QLayout l, int stretch) {
            return (bool) interceptor.Invoke("setStretchFactor#$", "setStretchFactor(QLayout*, int)", typeof(bool), typeof(QLayout), l, typeof(int), stretch);
        }
        public void SetStretch(int index, int stretch) {
            interceptor.Invoke("setStretch$$", "setStretch(int, int)", typeof(void), typeof(int), index, typeof(int), stretch);
        }
        public int Stretch(int index) {
            return (int) interceptor.Invoke("stretch$", "stretch(int) const", typeof(int), typeof(int), index);
        }
        [SmokeMethod("sizeHint() const")]
        public override QSize SizeHint() {
            return (QSize) interceptor.Invoke("sizeHint", "sizeHint() const", typeof(QSize));
        }
        [SmokeMethod("minimumSize() const")]
        public override QSize MinimumSize() {
            return (QSize) interceptor.Invoke("minimumSize", "minimumSize() const", typeof(QSize));
        }
        [SmokeMethod("maximumSize() const")]
        public override QSize MaximumSize() {
            return (QSize) interceptor.Invoke("maximumSize", "maximumSize() const", typeof(QSize));
        }
        [SmokeMethod("hasHeightForWidth() const")]
        public override bool HasHeightForWidth() {
            return (bool) interceptor.Invoke("hasHeightForWidth", "hasHeightForWidth() const", typeof(bool));
        }
        [SmokeMethod("heightForWidth(int) const")]
        public override int HeightForWidth(int arg1) {
            return (int) interceptor.Invoke("heightForWidth$", "heightForWidth(int) const", typeof(int), typeof(int), arg1);
        }
        [SmokeMethod("minimumHeightForWidth(int) const")]
        public override int MinimumHeightForWidth(int arg1) {
            return (int) interceptor.Invoke("minimumHeightForWidth$", "minimumHeightForWidth(int) const", typeof(int), typeof(int), arg1);
        }
        [SmokeMethod("expandingDirections() const")]
        public override uint ExpandingDirections() {
            return (uint) interceptor.Invoke("expandingDirections", "expandingDirections() const", typeof(uint));
        }
        [SmokeMethod("invalidate()")]
        public override void Invalidate() {
            interceptor.Invoke("invalidate", "invalidate()", typeof(void));
        }
        [SmokeMethod("itemAt(int) const")]
        public override IQLayoutItem ItemAt(int arg1) {
            return (IQLayoutItem) interceptor.Invoke("itemAt$", "itemAt(int) const", typeof(IQLayoutItem), typeof(int), arg1);
        }
        [SmokeMethod("takeAt(int)")]
        public override IQLayoutItem TakeAt(int arg1) {
            return (IQLayoutItem) interceptor.Invoke("takeAt$", "takeAt(int)", typeof(IQLayoutItem), typeof(int), arg1);
        }
        [SmokeMethod("count() const")]
        public override int Count() {
            return (int) interceptor.Invoke("count", "count() const", typeof(int));
        }
        [SmokeMethod("setGeometry(const QRect&)")]
        public override void SetGeometry(QRect arg1) {
            interceptor.Invoke("setGeometry#", "setGeometry(const QRect&)", typeof(void), typeof(QRect), arg1);
        }
        protected void InsertItem(int index, IQLayoutItem arg2) {
            interceptor.Invoke("insertItem$#", "insertItem(int, QLayoutItem*)", typeof(void), typeof(int), index, typeof(IQLayoutItem), arg2);
        }
        ~QBoxLayout() {
            interceptor.Invoke("~QBoxLayout", "~QBoxLayout()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~QBoxLayout", "~QBoxLayout()", typeof(void));
        }
        public static new string Tr(string s, string c) {
            return (string) staticInterceptor.Invoke("tr$$", "tr(const char*, const char*)", typeof(string), typeof(string), s, typeof(string), c);
        }
        public static new string Tr(string s) {
            return (string) staticInterceptor.Invoke("tr$", "tr(const char*)", typeof(string), typeof(string), s);
        }
        protected new IQBoxLayoutSignals Emit {
            get { return (IQBoxLayoutSignals) Q_EMIT; }
        }
    }

    public interface IQBoxLayoutSignals : IQLayoutSignals {
    }
}
