DataModelHandle.cpp 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #include "../../Include/RmlUi/Core/DataModelHandle.h"
  2. #include "DataModel.h"
  3. namespace Rml {
  4. DataModelHandle::DataModelHandle(DataModel* model) : model(model) {}
  5. bool DataModelHandle::IsVariableDirty(const String& variable_name)
  6. {
  7. return model->IsVariableDirty(variable_name);
  8. }
  9. void DataModelHandle::DirtyVariable(const String& variable_name)
  10. {
  11. model->DirtyVariable(variable_name);
  12. }
  13. void DataModelHandle::DirtyAllVariables()
  14. {
  15. model->DirtyAllVariables();
  16. }
  17. DataModelConstructor::DataModelConstructor() : model(nullptr), type_register(nullptr) {}
  18. DataModelConstructor::DataModelConstructor(DataModel* model) : model(model), type_register(model->GetDataTypeRegister())
  19. {
  20. RMLUI_ASSERT(model);
  21. }
  22. DataModelHandle DataModelConstructor::GetModelHandle() const
  23. {
  24. return DataModelHandle(model);
  25. }
  26. bool DataModelConstructor::BindFunc(const String& name, DataGetFunc get_func, DataSetFunc set_func)
  27. {
  28. return model->BindFunc(name, std::move(get_func), std::move(set_func));
  29. }
  30. bool DataModelConstructor::BindEventCallback(const String& name, DataEventFunc event_func)
  31. {
  32. return model->BindEventCallback(name, std::move(event_func));
  33. }
  34. bool DataModelConstructor::BindVariable(const String& name, DataVariable data_variable)
  35. {
  36. return model->BindVariable(name, data_variable);
  37. }
  38. const UnorderedMap<String, DataVariable>& Detail::DataModelConstructorAccessor::GetAllVariables(const DataModelConstructor& data_model_constructor)
  39. {
  40. RMLUI_ASSERT(data_model_constructor.model);
  41. return data_model_constructor.model->GetAllVariables();
  42. }
  43. } // namespace Rml