| #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; |
| } |