Exemplo n.º 1
0
void ComboBox::changeItemText (const int itemId, const String& newText)
{
    if (ItemInfo* const item = getItemForId (itemId))
        item->name = newText;
    else
        jassertfalse;
}
Exemplo n.º 2
0
void ComboBox::setItemEnabled (const int itemId, const bool shouldBeEnabled)
{
    ItemInfo* const item = getItemForId (itemId);

    if (item != nullptr)
        item->isEnabled = shouldBeEnabled;
}
Exemplo n.º 3
0
//==============================================================================
void ComboBox::addItem (const String& newItemText,
                        const int newItemId) throw()
{
    // you can't add empty strings to the list..
    jassert (newItemText.isNotEmpty());

    // IDs must be non-zero, as zero is used to indicate a lack of selecion.
    jassert (newItemId != 0);

    // you shouldn't use duplicate item IDs!
    jassert (getItemForId (newItemId) == 0);

    if (newItemText.isNotEmpty() && newItemId != 0)
    {
        if (separatorPending)
        {
            separatorPending = false;

            ItemInfo* const item = new ItemInfo();
            item->itemId = 0;
            item->isEnabled = false;
            item->isHeading = false;
            items.add (item);
        }

        ItemInfo* const item = new ItemInfo();
        item->name = newItemText;
        item->itemId = newItemId;
        item->isEnabled = true;
        item->isHeading = false;
        items.add (item);
    }
}
Exemplo n.º 4
0
int ComboBox::getSelectedId() const throw()
{
    const ItemInfo* const item = getItemForId (currentId.getValue());

    return (item != 0 && getText() == item->name)
                ? item->itemId
                : 0;
}
Exemplo n.º 5
0
void ComboBox::changeItemText (const int itemId, const String& newText)
{
    ItemInfo* const item = getItemForId (itemId);

    jassert (item != nullptr);

    if (item != nullptr)
        item->name = newText;
}
Exemplo n.º 6
0
void ComboBox::setSelectedId (const int newItemId, const NotificationType notification)
{
    const ItemInfo* const item = getItemForId (newItemId);
    const String newItemText (item != nullptr ? item->name : String::empty);

    if (lastCurrentId != newItemId || label->getText() != newItemText)
    {
        label->setText (newItemText, dontSendNotification);
        lastCurrentId = newItemId;
        currentId = newItemId;

        repaint();  // for the benefit of the 'none selected' text

        sendChange (notification);
    }
}
Exemplo n.º 7
0
void ComboBox::setSelectedId (const int newItemId, const bool dontSendChangeMessage)
{
    const ItemInfo* const item = getItemForId (newItemId);
    const String newItemText (item != nullptr ? item->name : String::empty);

    if (lastCurrentId != newItemId || label->getText() != newItemText)
    {
        if (! dontSendChangeMessage)
            triggerAsyncUpdate();

        label->setText (newItemText, false);
        lastCurrentId = newItemId;
        currentId = newItemId;

        repaint();  // for the benefit of the 'none selected' text
    }
}
Exemplo n.º 8
0
//==============================================================================
void ComboBox::addItem (const String& newItemText, const int newItemId)
{
    // you can't add empty strings to the list..
    jassert (newItemText.isNotEmpty());

    // IDs must be non-zero, as zero is used to indicate a lack of selecion.
    jassert (newItemId != 0);

    // you shouldn't use duplicate item IDs!
    jassert (getItemForId (newItemId) == nullptr);

    if (newItemText.isNotEmpty() && newItemId != 0)
    {
        if (separatorPending)
        {
            separatorPending = false;
            items.add (new ItemInfo (String::empty, 0, false, false));
        }

        items.add (new ItemInfo (newItemText, newItemId, true, false));
    }
}
Exemplo n.º 9
0
int ComboBox::getSelectedId() const noexcept
{
    const ItemInfo* const item = getItemForId (currentId.getValue());

    return (item != nullptr && getText() == item->name) ? item->itemId : 0;
}
Exemplo n.º 10
0
bool ComboBox::isItemEnabled (int itemId) const noexcept
{
    const ItemInfo* const item = getItemForId (itemId);
    return item != nullptr && item->isEnabled;
}
Exemplo n.º 11
0
void ComboBox::setItemEnabled (const int itemId, const bool shouldBeEnabled)
{
    if (ItemInfo* const item = getItemForId (itemId))
        item->isEnabled = shouldBeEnabled;
}