//Auto-generated by kalyptus. DO NOT EDIT.
namespace Qyoto {
    using System;
    /// <remarks> See <see cref="IQStatusBarSignals"></see> for signals emitted by QStatusBar
    /// </remarks>
    [SmokeClass("QStatusBar")]
    public class QStatusBar : QWidget, IDisposable {
        protected QStatusBar(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(QStatusBar), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static QStatusBar() {
            staticInterceptor = new SmokeInvocation(typeof(QStatusBar), null);
        }
        [Q_PROPERTY("bool", "sizeGripEnabled")]
        public bool SizeGripEnabled {
            get { return (bool) interceptor.Invoke("isSizeGripEnabled", "isSizeGripEnabled()", typeof(bool)); }
            set { interceptor.Invoke("setSizeGripEnabled$", "setSizeGripEnabled(bool)", typeof(void), typeof(bool), value); }
        }
        public QStatusBar(QWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStatusBar#", "QStatusBar(QWidget*)", typeof(void), typeof(QWidget), parent);
        }
        public QStatusBar() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("QStatusBar", "QStatusBar()", typeof(void));
        }
        public void AddWidget(QWidget widget, int stretch) {
            interceptor.Invoke("addWidget#$", "addWidget(QWidget*, int)", typeof(void), typeof(QWidget), widget, typeof(int), stretch);
        }
        public void AddWidget(QWidget widget) {
            interceptor.Invoke("addWidget#", "addWidget(QWidget*)", typeof(void), typeof(QWidget), widget);
        }
        public int InsertWidget(int index, QWidget widget, int stretch) {
            return (int) interceptor.Invoke("insertWidget$#$", "insertWidget(int, QWidget*, int)", typeof(int), typeof(int), index, typeof(QWidget), widget, typeof(int), stretch);
        }
        public int InsertWidget(int index, QWidget widget) {
            return (int) interceptor.Invoke("insertWidget$#", "insertWidget(int, QWidget*)", typeof(int), typeof(int), index, typeof(QWidget), widget);
        }
        public void AddPermanentWidget(QWidget widget, int stretch) {
            interceptor.Invoke("addPermanentWidget#$", "addPermanentWidget(QWidget*, int)", typeof(void), typeof(QWidget), widget, typeof(int), stretch);
        }
        public void AddPermanentWidget(QWidget widget) {
            interceptor.Invoke("addPermanentWidget#", "addPermanentWidget(QWidget*)", typeof(void), typeof(QWidget), widget);
        }
        public int InsertPermanentWidget(int index, QWidget widget, int stretch) {
            return (int) interceptor.Invoke("insertPermanentWidget$#$", "insertPermanentWidget(int, QWidget*, int)", typeof(int), typeof(int), index, typeof(QWidget), widget, typeof(int), stretch);
        }
        public int InsertPermanentWidget(int index, QWidget widget) {
            return (int) interceptor.Invoke("insertPermanentWidget$#", "insertPermanentWidget(int, QWidget*)", typeof(int), typeof(int), index, typeof(QWidget), widget);
        }
        public void RemoveWidget(QWidget widget) {
            interceptor.Invoke("removeWidget#", "removeWidget(QWidget*)", typeof(void), typeof(QWidget), widget);
        }
        public string CurrentMessage() {
            return (string) interceptor.Invoke("currentMessage", "currentMessage() const", typeof(string));
        }
        [Q_SLOT("void showMessage(QString, int)")]
        public void ShowMessage(string text, int timeout) {
            interceptor.Invoke("showMessage$$", "showMessage(const QString&, int)", typeof(void), typeof(string), text, typeof(int), timeout);
        }
        [Q_SLOT("void showMessage(QString)")]
        public void ShowMessage(string text) {
            interceptor.Invoke("showMessage$", "showMessage(const QString&)", typeof(void), typeof(string), text);
        }
        [Q_SLOT("void clearMessage()")]
        public void ClearMessage() {
            interceptor.Invoke("clearMessage", "clearMessage()", typeof(void));
        }
        [SmokeMethod("showEvent(QShowEvent*)")]
        protected override void ShowEvent(QShowEvent arg1) {
            interceptor.Invoke("showEvent#", "showEvent(QShowEvent*)", typeof(void), typeof(QShowEvent), arg1);
        }
        [SmokeMethod("paintEvent(QPaintEvent*)")]
        protected override void PaintEvent(QPaintEvent arg1) {
            interceptor.Invoke("paintEvent#", "paintEvent(QPaintEvent*)", typeof(void), typeof(QPaintEvent), arg1);
        }
        [SmokeMethod("resizeEvent(QResizeEvent*)")]
        protected override void ResizeEvent(QResizeEvent arg1) {
            interceptor.Invoke("resizeEvent#", "resizeEvent(QResizeEvent*)", typeof(void), typeof(QResizeEvent), arg1);
        }
        protected void Reformat() {
            interceptor.Invoke("reformat", "reformat()", typeof(void));
        }
        protected void HideOrShow() {
            interceptor.Invoke("hideOrShow", "hideOrShow()", typeof(void));
        }
        [SmokeMethod("event(QEvent*)")]
        protected override bool Event(QEvent arg1) {
            return (bool) interceptor.Invoke("event#", "event(QEvent*)", typeof(bool), typeof(QEvent), arg1);
        }
        ~QStatusBar() {
            interceptor.Invoke("~QStatusBar", "~QStatusBar()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~QStatusBar", "~QStatusBar()", 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 IQStatusBarSignals Emit {
            get { return (IQStatusBarSignals) Q_EMIT; }
        }
    }

    public interface IQStatusBarSignals : IQWidgetSignals {
        [Q_SIGNAL("void messageChanged(QString)")]
        void MessageChanged(string text);
    }
}
