//Auto-generated by kalyptus. DO NOT EDIT.
namespace Plasma {
    using Plasma;
    using System;
    using Kimono;
    using Qyoto;
    /// <remarks>
    ///  @class SpinBox plasma/widgets/slider.h <Plasma/Widgets/SpinBox>
    ///  See <see cref="ISpinBoxSignals"></see> for signals emitted by SpinBox
    /// </remarks>        <short> Provides a plasma-themed KIntSpinBox.  </short>
    [SmokeClass("Plasma::SpinBox")]
    public class SpinBox : QGraphicsProxyWidget, IDisposable {
        protected SpinBox(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(SpinBox), this);
        }
        [Q_PROPERTY("QGraphicsWidget*", "parentWidget")]
        public QGraphicsWidget ParentWidget {
            get { return (QGraphicsWidget) interceptor.Invoke("parentWidget", "parentWidget()", typeof(QGraphicsWidget)); }
        }
        [Q_PROPERTY("int", "maximum")]
        public int Maximum {
            get { return (int) interceptor.Invoke("maximum", "maximum()", typeof(int)); }
            set { interceptor.Invoke("setMinimum$", "setMinimum(int)", typeof(void), typeof(int), value); }
        }
        [Q_PROPERTY("int", "minimum")]
        public int Minimum {
            get { return (int) interceptor.Invoke("minimum", "minimum()", typeof(int)); }
            set { interceptor.Invoke("setMinimum$", "setMinimum(int)", typeof(void), typeof(int), value); }
        }
        [Q_PROPERTY("int", "value")]
        public int Value {
            get { return (int) interceptor.Invoke("value", "value()", typeof(int)); }
            set { interceptor.Invoke("setValue$", "setValue(int)", typeof(void), typeof(int), 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("KIntSpinBox*", "nativeWidget")]
        public KIntSpinBox NativeWidget {
            get { return (KIntSpinBox) interceptor.Invoke("nativeWidget", "nativeWidget()", typeof(KIntSpinBox)); }
        }
        public SpinBox(QGraphicsWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("SpinBox#", "SpinBox(QGraphicsWidget*)", typeof(void), typeof(QGraphicsWidget), parent);
        }
        public SpinBox() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("SpinBox", "SpinBox()", typeof(void));
        }
        /// <remarks>
        ///  Sets the maximum value the slider can take.
        ///      </remarks>        <short>    Sets the maximum value the slider can take.</short>
        [Q_SLOT("void setMaximum(int)")]
        public void SetMaximum(int maximum) {
            interceptor.Invoke("setMaximum$", "setMaximum(int)", typeof(void), typeof(int), maximum);
        }
        /// <remarks>
        ///  Sets the minimum value the slider can take.
        ///      </remarks>        <short>    Sets the minimum value the slider can take.</short>
        [Q_SLOT("void setMinimum(int)")]
        public void SetMinimum(int minimum) {
            interceptor.Invoke("setMinimum$", "setMinimum(int)", typeof(void), typeof(int), minimum);
        }
        /// <remarks>
        ///  Sets the minimum and maximum values the slider can take.
        ///      </remarks>        <short>    Sets the minimum and maximum values the slider can take.</short>
        [Q_SLOT("void setRange(int, int)")]
        public void SetRange(int minimum, int maximum) {
            interceptor.Invoke("setRange$$", "setRange(int, int)", typeof(void), typeof(int), minimum, typeof(int), maximum);
        }
        /// <remarks>
        ///  Sets the value of the slider.
        ///  If it is outside the range specified by minimum() and maximum(),
        ///  it will be adjusted to fit.
        ///      </remarks>        <short>    Sets the value of the slider.</short>
        [Q_SLOT("void setValue(int)")]
        public void SetValue(int value) {
            interceptor.Invoke("setValue$", "setValue(int)", typeof(void), typeof(int), value);
        }
        ~SpinBox() {
            interceptor.Invoke("~SpinBox", "~SpinBox()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~SpinBox", "~SpinBox()", typeof(void));
        }
        protected new ISpinBoxSignals Emit {
            get { return (ISpinBoxSignals) Q_EMIT; }
        }
    }

    public interface ISpinBoxSignals : IQGraphicsProxyWidgetSignals {
        /// <remarks>
        ///  This signal is emitted when the user drags the slider.
        ///  In fact, it is emitted whenever the sliderMoved(int) signal
        ///  of KIntSpinBox would be emitted.  See the Qt documentation for
        ///  more information.
        ///      </remarks>        <short>    This signal is emitted when the user drags the slider.</short>
        [Q_SIGNAL("void sliderMoved(int)")]
        void SliderMoved(int value);
        /// <remarks>
        ///  This signal is emitted when the slider value has changed,
        ///  with the new slider value as argument.
        ///      </remarks>        <short>    This signal is emitted when the slider value has changed,  with the new slider value as argument.</short>
        [Q_SIGNAL("void valueChanged(int)")]
        void ValueChanged(int value);
        /// <remarks>
        ///  This signal is emitted when editing is finished. 
        ///  This happens when the spinbox loses focus and when enter is pressed.
        ///      </remarks>        <short>    This signal is emitted when editing is finished.</short>
        [Q_SIGNAL("void editingFinished()")]
        void EditingFinished();
    }
}
