//Auto-generated by kalyptus. DO NOT EDIT.
namespace Plasma {
    using Plasma;
    using System;
    using Kimono;
    using Qyoto;
    /// <remarks> See <see cref="ISvgWidgetSignals"></see> for signals emitted by SvgWidget
    /// </remarks>
    [SmokeClass("Plasma::SvgWidget")]
    public class SvgWidget : QGraphicsWidget, IDisposable {
        protected SvgWidget(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(SvgWidget), this);
        }
        [Q_PROPERTY("Plasma::Svg*", "svg")]
        public Plasma.Svg Svg {
            get { return (Plasma.Svg) interceptor.Invoke("svg", "svg()", typeof(Plasma.Svg)); }
            set { interceptor.Invoke("setSvg#", "setSvg(Plasma::Svg*)", typeof(void), typeof(Plasma.Svg), value); }
        }
        [Q_PROPERTY("QString", "elementID")]
        public string ElementID {
            get { return (string) interceptor.Invoke("elementID", "elementID()", typeof(string)); }
            set { interceptor.Invoke("setElementID$", "setElementID(QString)", typeof(void), typeof(string), value); }
        }
        public SvgWidget(IQGraphicsItem parent, uint wFlags) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("SvgWidget#$", "SvgWidget(QGraphicsItem*, Qt::WindowFlags)", typeof(void), typeof(IQGraphicsItem), parent, typeof(uint), wFlags);
        }
        public SvgWidget(IQGraphicsItem parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("SvgWidget#", "SvgWidget(QGraphicsItem*)", typeof(void), typeof(IQGraphicsItem), parent);
        }
        public SvgWidget() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("SvgWidget", "SvgWidget()", typeof(void));
        }
        public SvgWidget(Plasma.Svg svg, string elementID, IQGraphicsItem parent, uint wFlags) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("SvgWidget#$#$", "SvgWidget(Plasma::Svg*, const QString&, QGraphicsItem*, Qt::WindowFlags)", typeof(void), typeof(Plasma.Svg), svg, typeof(string), elementID, typeof(IQGraphicsItem), parent, typeof(uint), wFlags);
        }
        public SvgWidget(Plasma.Svg svg, string elementID, IQGraphicsItem parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("SvgWidget#$#", "SvgWidget(Plasma::Svg*, const QString&, QGraphicsItem*)", typeof(void), typeof(Plasma.Svg), svg, typeof(string), elementID, typeof(IQGraphicsItem), parent);
        }
        public SvgWidget(Plasma.Svg svg, string elementID) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("SvgWidget#$", "SvgWidget(Plasma::Svg*, const QString&)", typeof(void), typeof(Plasma.Svg), svg, typeof(string), elementID);
        }
        public SvgWidget(Plasma.Svg svg) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("SvgWidget#", "SvgWidget(Plasma::Svg*)", typeof(void), typeof(Plasma.Svg), svg);
        }
        [SmokeMethod("mouseReleaseEvent(QGraphicsSceneMouseEvent*)")]
        public new virtual void MouseReleaseEvent(QGraphicsSceneMouseEvent arg1) {
            interceptor.Invoke("mouseReleaseEvent#", "mouseReleaseEvent(QGraphicsSceneMouseEvent*)", typeof(void), typeof(QGraphicsSceneMouseEvent), arg1);
        }
        [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);
        }
        ~SvgWidget() {
            interceptor.Invoke("~SvgWidget", "~SvgWidget()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~SvgWidget", "~SvgWidget()", typeof(void));
        }
        protected new ISvgWidgetSignals Emit {
            get { return (ISvgWidgetSignals) Q_EMIT; }
        }
    }

    public interface ISvgWidgetSignals : IQGraphicsWidgetSignals {
        [Q_SIGNAL("void clicked(Qt::MouseButton)")]
        void Clicked(Qt.MouseButton arg1);
    }
}
