//Auto-generated by kalyptus. DO NOT EDIT.
namespace Plasma {
    using Plasma;
    using System;
    using Kimono;
    using Qyoto;
    using System.Collections.Generic;
    /// <remarks>
    ///  @class Label plasma/widgets/label.h <Plasma/Widgets/Label>
    ///  See <see cref="ILabelSignals"></see> for signals emitted by Label
    /// </remarks>        <short> Provides a plasma-themed QLabel.  </short>
    [SmokeClass("Plasma::Label")]
    public class Label : QGraphicsProxyWidget, IDisposable {
        protected Label(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(Label), this);
        }
        [Q_PROPERTY("QGraphicsWidget*", "parentWidget")]
        public QGraphicsWidget ParentWidget {
            get { return (QGraphicsWidget) interceptor.Invoke("parentWidget", "parentWidget()", typeof(QGraphicsWidget)); }
        }
        [Q_PROPERTY("QString", "text")]
        public string Text {
            get { return (string) interceptor.Invoke("text", "text()", typeof(string)); }
            set { interceptor.Invoke("setText$", "setText(QString)", typeof(void), typeof(string), value); }
        }
        [Q_PROPERTY("QString", "image")]
        public string Image {
            get { return (string) interceptor.Invoke("image", "image()", typeof(string)); }
            set { interceptor.Invoke("setImage$", "setImage(QString)", typeof(void), typeof(string), value); }
        }
        [Q_PROPERTY("Qt::Alignment", "alignment")]
        public uint Alignment {
            get { return (uint) interceptor.Invoke("alignment", "alignment()", typeof(uint)); }
            set { interceptor.Invoke("setAlignment$", "setAlignment(Qt::Alignment)", typeof(void), typeof(uint), value); }
        }
        [Q_PROPERTY("bool", "hasScaledContents")]
        public bool HasScaledContents {
            get { return (bool) interceptor.Invoke("hasScaledContents", "hasScaledContents()", typeof(bool)); }
            set { interceptor.Invoke("setScaledContents$", "setScaledContents(bool)", typeof(void), typeof(bool), value); }
        }
        [Q_PROPERTY("QString", "styleSheet")]
        public string StyleSheet {
            get { return (string) interceptor.Invoke("styleSheet", "styleSheet()", typeof(string)); }
            set { interceptor.Invoke("setStyleSheet$", "setStyleSheet(QString)", typeof(void), typeof(string), value); }
        }
        [Q_PROPERTY("QLabel*", "nativeWidget")]
        public QLabel NativeWidget {
            get { return (QLabel) interceptor.Invoke("nativeWidget", "nativeWidget()", typeof(QLabel)); }
        }
        /// <remarks>
        ///  Constructs a label with word wrap on by default
        ///  @arg parent the parent of this widget
        ///      </remarks>        <short>    Constructs a label with word wrap on by default </short>
        public Label(QGraphicsWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("Label#", "Label(QGraphicsWidget*)", typeof(void), typeof(QGraphicsWidget), parent);
        }
        public Label() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("Label", "Label()", typeof(void));
        }
        [Q_SLOT("void dataUpdated(QString, Plasma::DataEngine::Data)")]
        public void DataUpdated(string sourceName, Dictionary<string, QVariant> data) {
            interceptor.Invoke("dataUpdated$?", "dataUpdated(const QString&, const QHash<QString,QVariant>&)", typeof(void), typeof(string), sourceName, typeof(Dictionary<string, QVariant>), data);
        }
        [SmokeMethod("resizeEvent(QGraphicsSceneResizeEvent*)")]
        protected override void ResizeEvent(QGraphicsSceneResizeEvent arg1) {
            interceptor.Invoke("resizeEvent#", "resizeEvent(QGraphicsSceneResizeEvent*)", typeof(void), typeof(QGraphicsSceneResizeEvent), arg1);
        }
        ~Label() {
            interceptor.Invoke("~Label", "~Label()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~Label", "~Label()", typeof(void));
        }
        protected new ILabelSignals Emit {
            get { return (ILabelSignals) Q_EMIT; }
        }
    }

    public interface ILabelSignals : IQGraphicsProxyWidgetSignals {
        [Q_SIGNAL("void linkActivated(QString)")]
        void LinkActivated(string link);
        [Q_SIGNAL("void linkHovered(QString)")]
        void LinkHovered(string link);
    }
}
