//Auto-generated by kalyptus. DO NOT EDIT.
namespace Kimono {
    using System;
    using Qyoto;
    using System.Collections.Generic;
    /// <remarks>
    ///  Combobox for colors.
    ///  The combobox provides some preset colors to be selected, and an entry to
    ///  select a custom color using a color dialog.
    ///   See <see cref="IKColorComboSignals"></see> for signals emitted by KColorCombo
    /// </remarks>        <short>    Combobox for colors.</short>
    [SmokeClass("KColorCombo")]
    public class KColorCombo : QComboBox, IDisposable {
        protected KColorCombo(Type dummy) : base((Type) null) {}
        protected new void CreateProxy() {
            interceptor = new SmokeInvocation(typeof(KColorCombo), this);
        }
        [Q_PROPERTY("QColor", "color")]
        public QColor Color {
            get { return (QColor) interceptor.Invoke("color", "color()", typeof(QColor)); }
            set { interceptor.Invoke("setColor#", "setColor(QColor)", typeof(void), typeof(QColor), value); }
        }
        [Q_PROPERTY("QList<QColor>", "colors")]
        public List<QColor> Colors {
            get { return (List<QColor>) interceptor.Invoke("colors", "colors()", typeof(List<QColor>)); }
            set { interceptor.Invoke("setColors?", "setColors(QList<QColor>)", typeof(void), typeof(List<QColor>), value); }
        }
        /// <remarks>
        ///  Constructs a color combo box.
        ///      </remarks>        <short>    Constructs a color combo box.</short>
        public KColorCombo(QWidget parent) : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KColorCombo#", "KColorCombo(QWidget*)", typeof(void), typeof(QWidget), parent);
        }
        public KColorCombo() : this((Type) null) {
            CreateProxy();
            interceptor.Invoke("KColorCombo", "KColorCombo()", typeof(void));
        }
        /// <remarks>
        ///  Find whether the currently selected color is a custom color selected
        ///  using a color dialog.
        /// </remarks>        <short>    Find whether the currently selected color is a custom color selected  using a color dialog.</short>
        public bool IsCustomColor() {
            return (bool) interceptor.Invoke("isCustomColor", "isCustomColor() const", typeof(bool));
        }
        /// <remarks>
        ///  Clear the color list and don't show it, till the next setColor() call
        /// </remarks>        <short>    Clear the color list and don't show it, till the next setColor() call </short>
        public void ShowEmptyList() {
            interceptor.Invoke("showEmptyList", "showEmptyList()", typeof(void));
        }
        [SmokeMethod("paintEvent(QPaintEvent*)")]
        protected override void PaintEvent(QPaintEvent arg1) {
            interceptor.Invoke("paintEvent#", "paintEvent(QPaintEvent*)", typeof(void), typeof(QPaintEvent), arg1);
        }
        ~KColorCombo() {
            interceptor.Invoke("~KColorCombo", "~KColorCombo()", typeof(void));
        }
        public new void Dispose() {
            interceptor.Invoke("~KColorCombo", "~KColorCombo()", typeof(void));
        }
        protected new IKColorComboSignals Emit {
            get { return (IKColorComboSignals) Q_EMIT; }
        }
    }

    public interface IKColorComboSignals : IQComboBoxSignals {
        /// <remarks>
        ///  Emitted when a new color box has been selected.
        ///      </remarks>        <short>    Emitted when a new color box has been selected.</short>
        [Q_SIGNAL("void activated(QColor)")]
        void Activated(QColor col);
        /// <remarks>
        ///  Emitted when a new item has been highlighted.
        ///      </remarks>        <short>    Emitted when a new item has been highlighted.</short>
        [Q_SIGNAL("void highlighted(QColor)")]
        void Highlighted(QColor col);
    }
}
