class ui.ComboBox

class ComboBox
{
    // fields

    size_t readonly m_itemCount;

    // properties

    bool autoget property m_isVisible;
    bool autoget property m_isEnabled;
    bool autoget property m_isEditable;
    char const* bindable autoget property m_editText;
    char const* autoget property m_placeholderText;
    char const* autoget property m_toolTipText;
    uint_t autoget property m_backgroundColor;
    char const* indexed property m_itemText(size_t index);
    variant indexed property m_itemData(size_t index);
    size_t bindable autoget property m_currentIndex;
    char const* const bindable property m_currentText;
    variant bindable property m_currentData;

    // events

    event m_onEnter();

    // construction

    destruct();

    // methods

    void adjustSizeToContents();

    size_t addItem(
        char const* text,
        variant data = null
        );

    size_t addItemSetCurrent(
        char const* text,
        variant data = null
        );

    size_t insertItem(
        size_t index,
        char const* text,
        variant data = null
        );

    size_t insertItemSetCurrent(
        size_t index,
        char const* text,
        variant data = null
        );

    bool removeItem(size_t index);

    void setItems(
        ui.ComboItem const* itemArray,
        size_t count
        );

    void clear();
};