//Auto-generated by kalyptus. DO NOT EDIT.
namespace Kimono {
    using System;
    using Qyoto;
    /// <remarks>
    ///  Use normally as you would with a QGroupBox.
    ///  See <see cref="IKButtonGroupSignals"></see> for signals emitted by KButtonGroup
    /// </remarks>        <author> Pino Toscano <toscano.pino@tiscali.it>
    ///  </author>
    ///         <short> Group box with index of the selected radio button  KGroupBox is a simple group box that can keep track of the current selected  radio button of the ones added to it. </short>
    [SmokeClass("KButtonGroup")]
    public class KButtonGroup : QGroupBox, IDisposable {
        protected KButtonGroup(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(KButtonGroup), this);
        }
        [Q_PROPERTY("int", "current")]
        public int Current {
            get { return (int) interceptor.Invoke("selected", "selected()", typeof(int)); }
            set { interceptor.Invoke("setSelected$", "setSelected(int)", typeof(void), typeof(int), value); }
        }
        /// <remarks>
        ///  Construct a new empty KGroupBox.
        ///      </remarks>        <short>    Construct a new empty KGroupBox.</short>
        public KButtonGroup(QWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KButtonGroup#", "KButtonGroup(QWidget*)", typeof(void), typeof(QWidget), parent);
        }
        public KButtonGroup() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KButtonGroup", "KButtonGroup()", typeof(void));
        }
        /// <remarks>
        ///  Select the <pre>id</pre> -th radio button
        ///      </remarks>        <short>    Select the \p id -th radio button      </short>
        [Q_SLOT("void setSelected(int)")]
        public void SetSelected(int id) {
            interceptor.Invoke("setSelected$", "setSelected(int)", typeof(void), typeof(int), id);
        }
        /// <remarks>
        ///  Reimplemented from QGroupBox.
        ///      </remarks>        <short>    Reimplemented from QGroupBox.</short>
        [SmokeMethod("childEvent(QChildEvent*)")]
        protected override void ChildEvent(QChildEvent arg1) {
            interceptor.Invoke("childEvent#", "childEvent(QChildEvent*)", typeof(void), typeof(QChildEvent), arg1);
        }
        ~KButtonGroup() {
            interceptor.Invoke("~KButtonGroup", "~KButtonGroup()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~KButtonGroup", "~KButtonGroup()", typeof(void));
        }
        protected new IKButtonGroupSignals Emit {
            get { return (IKButtonGroupSignals) Q_EMIT; }
        }
    }

    public interface IKButtonGroupSignals : IQGroupBoxSignals {
        /// <remarks>
        ///  The radio button with index <pre>id</pre> was clicked
        ///      </remarks>        <short>    The radio button with index \p id was clicked      </short>
        [Q_SIGNAL("void clicked(int)")]
        void Clicked(int id);
        /// <remarks>
        ///  The radio button with index <pre>id</pre> was pressed
        ///      </remarks>        <short>    The radio button with index \p id was pressed      </short>
        [Q_SIGNAL("void pressed(int)")]
        void Pressed(int id);
        /// <remarks>
        ///  The radio button with index <pre>id</pre> was released
        ///      </remarks>        <short>    The radio button with index \p id was released      </short>
        [Q_SIGNAL("void released(int)")]
        void Released(int id);
        /// <remarks>
        ///  Emitted when anything (a click on a radio button, or calling setSelected())
        ///  change the id of the current selected. <pre>id</pre> is the index of the new
        ///  selected radio button.
        ///      </remarks>        <short>    Emitted when anything (a click on a radio button, or calling setSelected())  change the id of the current selected.</short>
        [Q_SIGNAL("void changed(int)")]
        void Changed(int id);
    }
}
