//Auto-generated by kalyptus. DO NOT EDIT.
namespace Kimono {
    using System;
    using Qyoto;
    /// <remarks>
    ///  <li><b>Features:</b></li>
    /// 
    /// <li>
    /// Color selection from a wide range of palettes.
    /// </li>
    /// 
    /// <li>
    /// Color selection from a palette of H vs S and V selectors.
    /// </li>
    /// 
    /// <li>
    /// Direct input of HSV or RGB values.
    /// </li>
    /// 
    /// <li>
    /// Saving of custom colors
    /// </li>
    ///  In most cases, you will want to use the static method KColorDialog.GetColor().
    ///  This pops up the dialog (with an initial selection provided by you), lets the
    ///  user choose a color, and returns.
    ///  Example:
    ///  <pre>
    ///  	QColor myColor;
    ///  	int result = KColorDialog.GetColor( myColor );
    ///          if ( result == KColorDialog.Accepted )
    ///             ...
    ///  </pre>
    ///  The color dialog is really a collection of several widgets which can
    ///  you can also use separately: the quadratic plane in the top left of
    ///  the dialog is a KXYSelector. Right next to it is a KHSSelector
    ///  for choosing hue/saturation.
    ///  On the right side of the dialog you see a KColorTable showing
    ///  a number of colors with a combo box which offers several predefined
    ///  palettes or a palette configured by the user. The small field showing
    ///  the currently selected color is a KColorPatch.
    ///  See <see cref="IKColorDialogSignals"></see> for signals emitted by KColorDialog
    /// </remarks>        <short> A color selection dialog. </short>
    [SmokeClass("KColorDialog")]
    public class KColorDialog : KDialog, IDisposable {
        protected KColorDialog(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(KColorDialog), this);
        }
        private static SmokeInvocation staticInterceptor = null;
        static KColorDialog() {
            staticInterceptor = new SmokeInvocation(typeof(KColorDialog), null);
        }
        /// <remarks>
        ///  Constructs a color selection dialog.
        ///      </remarks>        <short>    Constructs a color selection dialog.</short>
        public KColorDialog(QWidget parent, bool modal) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KColorDialog#$", "KColorDialog(QWidget*, bool)", typeof(void), typeof(QWidget), parent, typeof(bool), modal);
        }
        public KColorDialog(QWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KColorDialog#", "KColorDialog(QWidget*)", typeof(void), typeof(QWidget), parent);
        }
        public KColorDialog() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KColorDialog", "KColorDialog()", typeof(void));
        }
        /// <remarks>
        ///  Returns the currently selected color.
        /// </remarks>        <short>    Returns the currently selected color.</short>
        public QColor Color() {
            return (QColor) interceptor.Invoke("color", "color() const", typeof(QColor));
        }
        /// <remarks>
        ///  Call this to make the dialog show a "Default Color" checkbox.
        ///  If this checkbox is selected, the dialog will return an "invalid" color (QColor()).
        ///  This can be used to mean "the default text color", for instance,
        ///  the one with the KDE text color on screen, but black when printing.
        ///      </remarks>        <short>    Call this to make the dialog show a "Default Color" checkbox.</short>
        public void SetDefaultColor(QColor defaultCol) {
            interceptor.Invoke("setDefaultColor#", "setDefaultColor(const QColor&)", typeof(void), typeof(QColor), defaultCol);
        }
        /// <remarks>
        /// </remarks>        <return> the value passed to setDefaultColor
        ///      </return>
        ///         <short>   </short>
        public QColor DefaultColor() {
            return (QColor) interceptor.Invoke("defaultColor", "defaultColor() const", typeof(QColor));
        }
        /// <remarks>
        ///  Preselects a color.
        ///      </remarks>        <short>    Preselects a color.</short>
        [Q_SLOT("void setColor(QColor)")]
        public void SetColor(QColor col) {
            interceptor.Invoke("setColor#", "setColor(const QColor&)", typeof(void), typeof(QColor), col);
        }
        [SmokeMethod("mouseMoveEvent(QMouseEvent*)")]
        protected override void MouseMoveEvent(QMouseEvent arg1) {
            interceptor.Invoke("mouseMoveEvent#", "mouseMoveEvent(QMouseEvent*)", typeof(void), typeof(QMouseEvent), arg1);
        }
        [SmokeMethod("mouseReleaseEvent(QMouseEvent*)")]
        protected override void MouseReleaseEvent(QMouseEvent arg1) {
            interceptor.Invoke("mouseReleaseEvent#", "mouseReleaseEvent(QMouseEvent*)", typeof(void), typeof(QMouseEvent), arg1);
        }
        [SmokeMethod("keyPressEvent(QKeyEvent*)")]
        protected override void KeyPressEvent(QKeyEvent arg1) {
            interceptor.Invoke("keyPressEvent#", "keyPressEvent(QKeyEvent*)", typeof(void), typeof(QKeyEvent), arg1);
        }
        [SmokeMethod("eventFilter(QObject*, QEvent*)")]
        protected override bool EventFilter(QObject arg1, QEvent ev) {
            return (bool) interceptor.Invoke("eventFilter##", "eventFilter(QObject*, QEvent*)", typeof(bool), typeof(QObject), arg1, typeof(QEvent), ev);
        }
        ~KColorDialog() {
            interceptor.Invoke("~KColorDialog", "~KColorDialog()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~KColorDialog", "~KColorDialog()", typeof(void));
        }
        /// <remarks>
        ///  Creates a modal color dialog, let the user choose a
        ///  color, and returns when the dialog is closed.
        ///  The selected color is returned in the argument <code>theColor.</code>
        /// <param> name="theColor" if valid, specifies the color to be initially selected. On
        ///                  return, holds the selected color.
        /// </param></remarks>        <return> QDialog.Result().
        ///      </return>
        ///         <short>    Creates a modal color dialog, let the user choose a  color, and returns when the dialog is closed.</short>
        public static int GetColor(QColor theColor, QWidget parent) {
            return (int) staticInterceptor.Invoke("getColor##", "getColor(QColor&, QWidget*)", typeof(int), typeof(QColor), theColor, typeof(QWidget), parent);
        }
        public static int GetColor(QColor theColor) {
            return (int) staticInterceptor.Invoke("getColor#", "getColor(QColor&)", typeof(int), typeof(QColor), theColor);
        }
        /// <remarks>
        ///  Creates a modal color dialog, lets the user choose a
        ///  color, and returns when the dialog is closed.
        ///  The selected color is returned in the argument <code>theColor.</code>
        ///  This version takes a <code>defaultColor</code> argument, which sets the color
        ///  selected by the "default color" checkbox. When this checkbox is checked,
        ///  the invalid color (QColor()) is returned into <code>theColor.</code>
        /// <param> name="theColor" if valid, specifies the color to be initially selected. On
        ///                  return, holds the selected color.
        /// </param><param> name="defaultColor" color selected by the "default color" checkbox
        /// </param></remarks>        <return> QDialog.Result().
        ///      </return>
        ///         <short>    Creates a modal color dialog, lets the user choose a  color, and returns when the dialog is closed.</short>
        public static int GetColor(QColor theColor, QColor defaultColor, QWidget parent) {
            return (int) staticInterceptor.Invoke("getColor###", "getColor(QColor&, const QColor&, QWidget*)", typeof(int), typeof(QColor), theColor, typeof(QColor), defaultColor, typeof(QWidget), parent);
        }
        public static int GetColor(QColor theColor, QColor defaultColor) {
            return (int) staticInterceptor.Invoke("getColor##", "getColor(QColor&, const QColor&)", typeof(int), typeof(QColor), theColor, typeof(QColor), defaultColor);
        }
        /// <remarks>
        ///  Gets the color from the pixel at point p on the screen.
        ///      </remarks>        <short>    Gets the color from the pixel at point p on the screen.</short>
        public static QColor GrabColor(QPoint p) {
            return (QColor) staticInterceptor.Invoke("grabColor#", "grabColor(const QPoint&)", typeof(QColor), typeof(QPoint), p);
        }
        protected new IKColorDialogSignals Emit {
            get { return (IKColorDialogSignals) Q_EMIT; }
        }
    }

    public interface IKColorDialogSignals : IKDialogSignals {
        /// <remarks>
        ///  Emitted when a color is selected.
        ///  Connect to this to monitor the color as it as selected if you are
        ///  not running modal.
        ///      </remarks>        <short>    Emitted when a color is selected.</short>
        [Q_SIGNAL("void colorSelected(QColor)")]
        void ColorSelected(QColor col);
    }
}
