//Auto-generated by kalyptus. DO NOT EDIT.
namespace Plasma {
    using Plasma;
    using System;
    using Kimono;
    using Qyoto;
    /// <remarks>
    ///  @class BusyWidget plasma/widgets/spinner.h <Plasma/Widgets/BusyWidget>
    ///  A simple spinner widget that can be used to represent a wait of unknown length
    ///   See <see cref="IBusyWidgetSignals"></see> for signals emitted by BusyWidget
    /// </remarks>        <short> A widget that provides a waiting spinner.</short>
    [SmokeClass("Plasma::BusyWidget")]
    public class BusyWidget : QGraphicsWidget, IDisposable {
        protected BusyWidget(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(BusyWidget), this);
        }
        [Q_PROPERTY("bool", "running")]
        public bool Running {
            get { return (bool) interceptor.Invoke("isRunning", "isRunning()", typeof(bool)); }
            set { interceptor.Invoke("setRunning$", "setRunning(bool)", typeof(void), typeof(bool), value); }
        }
        [Q_PROPERTY("QString", "label")]
        public string Label {
            get { return (string) interceptor.Invoke("label", "label()", typeof(string)); }
            set { interceptor.Invoke("setLabel$", "setLabel(QString)", typeof(void), typeof(string), value); }
        }
        /// <remarks>
        ///  Constructs a new BusyWidget
        ///  @arg parent the parent of this widget
        ///      </remarks>        <short>    Constructs a new BusyWidget </short>
        public BusyWidget(QGraphicsWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("BusyWidget#", "BusyWidget(QGraphicsWidget*)", typeof(void), typeof(QGraphicsWidget), parent);
        }
        public BusyWidget() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("BusyWidget", "BusyWidget()", typeof(void));
        }
        [SmokeMethod("paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*)")]
        protected new virtual void Paint(QPainter painter, QStyleOptionGraphicsItem option, QWidget widget) {
            interceptor.Invoke("paint###", "paint(QPainter*, const QStyleOptionGraphicsItem*, QWidget*)", typeof(void), typeof(QPainter), painter, typeof(QStyleOptionGraphicsItem), option, typeof(QWidget), widget);
        }
        [SmokeMethod("paint(QPainter*, const QStyleOptionGraphicsItem*)")]
        protected new virtual void Paint(QPainter painter, QStyleOptionGraphicsItem option) {
            interceptor.Invoke("paint##", "paint(QPainter*, const QStyleOptionGraphicsItem*)", typeof(void), typeof(QPainter), painter, typeof(QStyleOptionGraphicsItem), option);
        }
        [SmokeMethod("showEvent(QShowEvent*)")]
        protected override void ShowEvent(QShowEvent arg1) {
            interceptor.Invoke("showEvent#", "showEvent(QShowEvent*)", typeof(void), typeof(QShowEvent), arg1);
        }
        [SmokeMethod("hideEvent(QHideEvent*)")]
        protected override void HideEvent(QHideEvent arg1) {
            interceptor.Invoke("hideEvent#", "hideEvent(QHideEvent*)", typeof(void), typeof(QHideEvent), arg1);
        }
        [SmokeMethod("resizeEvent(QGraphicsSceneResizeEvent*)")]
        protected override void ResizeEvent(QGraphicsSceneResizeEvent arg1) {
            interceptor.Invoke("resizeEvent#", "resizeEvent(QGraphicsSceneResizeEvent*)", typeof(void), typeof(QGraphicsSceneResizeEvent), arg1);
        }
        [SmokeMethod("mousePressEvent(QGraphicsSceneMouseEvent*)")]
        protected override void MousePressEvent(QGraphicsSceneMouseEvent arg1) {
            interceptor.Invoke("mousePressEvent#", "mousePressEvent(QGraphicsSceneMouseEvent*)", typeof(void), typeof(QGraphicsSceneMouseEvent), arg1);
        }
        [Q_SLOT("void timerEvent(QTimerEvent*)")]
        [SmokeMethod("timerEvent(QTimerEvent*)")]
        protected override void TimerEvent(QTimerEvent arg1) {
            interceptor.Invoke("timerEvent#", "timerEvent(QTimerEvent*)", typeof(void), typeof(QTimerEvent), arg1);
        }
        ~BusyWidget() {
            interceptor.Invoke("~BusyWidget", "~BusyWidget()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~BusyWidget", "~BusyWidget()", typeof(void));
        }
        protected new IBusyWidgetSignals Emit {
            get { return (IBusyWidgetSignals) Q_EMIT; }
        }
    }

    public interface IBusyWidgetSignals : IQGraphicsWidgetSignals {
        [Q_SIGNAL("void clicked()")]
        void Clicked();
    }
}
