#include "ComboBoxWidget.h"
#include "DebugUtil.h"

const QString ComboBoxWidget::type = "ComboBox";

ComboBoxWidget::ComboBoxWidget(QWidget *parent)
    :QComboBox(parent)
{
    setStyleSheet("QComboBox QAbstractItemView {\
        color:#333333;\
        border: 1px solid #555555;\
        background-color: #ffffff;\
        border-radius:3px;\
    }");
}

QVariant ComboBoxWidget::getValue() const
{
    return currentData();
}

void ComboBoxWidget::setValue(const QVariant &value)
{
    setCurrentIndex(0);
    for (int index = 0; index < count(); ++index)
    {
        if (value == itemData(index))
        {
            setCurrentIndex(index);
        }
    }
}

bool ComboBoxWidget::isValueNull() const
{
    if(currentIndex() == 0)
        return true;
    return false;
}

void ComboBoxWidget::clearInput()
{
    setCurrentIndex(0);
}

void ComboBoxWidget::setOptions(const QVariantMap &options)
{
    QComboBox::clear();
    addItem(QStringLiteral("请选择"), -1);
    for (auto iter = options.cbegin(); iter != options.cend(); ++iter)
    {
        //		addItem(iter.key(), iter.value());
        addItem(iter.value().toString(), iter.key());
    }
}



