blob: a1780cb158ba0f80e220b870ea60621b0f37082e [file] [log] [blame]
#include <sstream>
#include <iomanip>
#include <array>
#include "rive/viewmodel/data_enum.hpp"
#include "rive/viewmodel/data_enum_value.hpp"
#include "rive/viewmodel/viewmodel_property.hpp"
#include "rive/backboard.hpp"
#include "rive/importers/backboard_importer.hpp"
using namespace rive;
void DataEnum::addValue(DataEnumValue* value) { m_Values.push_back(value); }
std::string DataEnum::value(std::string key)
{
for (auto enumValue : m_Values)
{
if (enumValue->key() == key)
{
return enumValue->value();
};
}
return "";
}
std::string DataEnum::value(uint32_t index)
{
if (index < m_Values.size())
{
return m_Values[index]->value();
}
return "";
}
bool DataEnum::value(std::string key, std::string value)
{
for (auto enumValue : m_Values)
{
if (enumValue->key() == key)
{
enumValue->value(value);
return true;
};
}
return false;
}
bool DataEnum::value(uint32_t index, std::string value)
{
if (index < m_Values.size())
{
m_Values[index]->value(value);
return true;
}
return false;
}
int DataEnum::valueIndex(std::string key)
{
int index = 0;
for (auto enumValue : m_Values)
{
if (enumValue->key() == key)
{
return index;
};
index++;
}
return -1;
}
int DataEnum::valueIndex(uint32_t index)
{
if (index < m_Values.size())
{
return index;
}
return -1;
}