//Auto-generated by kalyptus. DO NOT EDIT.
namespace Plasma {
    using Plasma;
    using System;
    using Kimono;
    using Qyoto;
    /// <remarks>
    ///  @class ScrollWidget plasma/widgets/ScrollWidget.h <Plasma/Widgets/ScrollWidget>
    ///  A container of widgets that can have horizontal and vertical scrollbars if the content is bigger than the widget itself
    /// </remarks>        <short> A container of widgets that can have scrollbars.</short>
    [SmokeClass("Plasma::ScrollWidget")]
    public class ScrollWidget : QGraphicsWidget, IDisposable {
        protected ScrollWidget(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(ScrollWidget), this);
        }
        [Q_PROPERTY("QGraphicsWidget*", "widget")]
        public QGraphicsWidget Widget {
            get { return (QGraphicsWidget) interceptor.Invoke("widget", "widget()", typeof(QGraphicsWidget)); }
            set { interceptor.Invoke("setWidget#", "setWidget(QGraphicsWidget*)", typeof(void), typeof(QGraphicsWidget), value); }
        }
        [Q_PROPERTY("Qt::ScrollBarPolicy", "horizontalScrollBarPolicy")]
        public Qt.ScrollBarPolicy HorizontalScrollBarPolicy {
            get { return (Qt.ScrollBarPolicy) interceptor.Invoke("horizontalScrollBarPolicy", "horizontalScrollBarPolicy()", typeof(Qt.ScrollBarPolicy)); }
            set { interceptor.Invoke("setHorizontalScrollBarPolicy$", "setHorizontalScrollBarPolicy(Qt::ScrollBarPolicy)", typeof(void), typeof(Qt.ScrollBarPolicy), value); }
        }
        [Q_PROPERTY("Qt::ScrollBarPolicy", "verticalScrollBarPolicy")]
        public Qt.ScrollBarPolicy VerticalScrollBarPolicy {
            get { return (Qt.ScrollBarPolicy) interceptor.Invoke("verticalScrollBarPolicy", "verticalScrollBarPolicy()", typeof(Qt.ScrollBarPolicy)); }
            set { interceptor.Invoke("setVerticalScrollBarPolicy$", "setVerticalScrollBarPolicy(Qt::ScrollBarPolicy)", typeof(void), typeof(Qt.ScrollBarPolicy), 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); }
        }
        /// <remarks>
        ///  Constructs a new ScrollWidget
        ///  @arg parent the parent of this widget
        ///      </remarks>        <short>    Constructs a new ScrollWidget </short>
        public ScrollWidget(QGraphicsWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("ScrollWidget#", "ScrollWidget(QGraphicsWidget*)", typeof(void), typeof(QGraphicsWidget), parent);
        }
        public ScrollWidget() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("ScrollWidget", "ScrollWidget()", typeof(void));
        }
        /// <remarks>
        /// </remarks>        <return> the native widget wrapped by this ScrollWidget
        ///      </return>
        ///         <short>   </short>
        public QWidget NativeWidget() {
            return (QWidget) interceptor.Invoke("nativeWidget", "nativeWidget() const", typeof(QWidget));
        }
        [SmokeMethod("resizeEvent(QGraphicsSceneResizeEvent*)")]
        protected override void ResizeEvent(QGraphicsSceneResizeEvent arg1) {
            interceptor.Invoke("resizeEvent#", "resizeEvent(QGraphicsSceneResizeEvent*)", typeof(void), typeof(QGraphicsSceneResizeEvent), arg1);
        }
        [SmokeMethod("mouseMoveEvent(QGraphicsSceneMouseEvent*)")]
        protected override void MouseMoveEvent(QGraphicsSceneMouseEvent arg1) {
            interceptor.Invoke("mouseMoveEvent#", "mouseMoveEvent(QGraphicsSceneMouseEvent*)", typeof(void), typeof(QGraphicsSceneMouseEvent), arg1);
        }
        [SmokeMethod("mousePressEvent(QGraphicsSceneMouseEvent*)")]
        protected override void MousePressEvent(QGraphicsSceneMouseEvent arg1) {
            interceptor.Invoke("mousePressEvent#", "mousePressEvent(QGraphicsSceneMouseEvent*)", typeof(void), typeof(QGraphicsSceneMouseEvent), arg1);
        }
        [SmokeMethod("wheelEvent(QGraphicsSceneWheelEvent*)")]
        protected override void WheelEvent(QGraphicsSceneWheelEvent arg1) {
            interceptor.Invoke("wheelEvent#", "wheelEvent(QGraphicsSceneWheelEvent*)", typeof(void), typeof(QGraphicsSceneWheelEvent), arg1);
        }
        [SmokeMethod("eventFilter(QObject*, QEvent*)")]
        protected new virtual bool EventFilter(QObject watched, QEvent arg2) {
            return (bool) interceptor.Invoke("eventFilter##", "eventFilter(QObject*, QEvent*)", typeof(bool), typeof(QObject), watched, typeof(QEvent), arg2);
        }
        ~ScrollWidget() {
            interceptor.Invoke("~ScrollWidget", "~ScrollWidget()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~ScrollWidget", "~ScrollWidget()", typeof(void));
        }
        protected new IScrollWidgetSignals Emit {
            get { return (IScrollWidgetSignals) Q_EMIT; }
        }
    }

    public interface IScrollWidgetSignals : IQGraphicsWidgetSignals {
    }
}
