You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ovdCSettingViewFactory.cpp 1.9KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. #include "ovdCSettingViewFactory.h"
  2. #include "ovdCBooleanSettingView.h"
  3. #include "ovdCIntegerSettingView.h"
  4. #include "ovdCFloatSettingView.h"
  5. #include "ovdCStringSettingView.h"
  6. #include "ovdCFilenameSettingView.h"
  7. #include "ovdCScriptSettingView.h"
  8. #include "ovdCColorSettingView.h"
  9. #include "ovdCColorGradientSettingView.h"
  10. #include "ovdCEnumerationSettingView.h"
  11. #include "ovdCBitMaskSettingView.h"
  12. namespace OpenViBE {
  13. namespace Designer {
  14. namespace Setting {
  15. CAbstractSettingView* CSettingViewFactory::getSettingView(Kernel::IBox& box, const size_t index)
  16. {
  17. CIdentifier type;
  18. box.getSettingType(index, type);
  19. if (type == OV_TypeId_Boolean) { return new CBooleanSettingView(box, index, m_builderName); }
  20. if (type == OV_TypeId_Integer) { return new CIntegerSettingView(box, index, m_builderName, m_kernelCtx); }
  21. if (type == OV_TypeId_Float) { return new CFloatSettingView(box, index, m_builderName, m_kernelCtx); }
  22. if (type == OV_TypeId_String) { return new CStringSettingView(box, index, m_builderName); }
  23. if (type == OV_TypeId_Filename) { return new CFilenameSettingView(box, index, m_builderName, m_kernelCtx); }
  24. if (type == OV_TypeId_Script) { return new CScriptSettingView(box, index, m_builderName, m_kernelCtx); }
  25. if (type == OV_TypeId_Color) { return new CColorSettingView(box, index, m_builderName, m_kernelCtx); }
  26. if (type == OV_TypeId_ColorGradient) { return new CColorGradientSettingView(box, index, m_builderName, m_kernelCtx); }
  27. if (m_kernelCtx.getTypeManager().isEnumeration(type)) { return new CEnumerationSettingView(box, index, m_builderName, m_kernelCtx, type); }
  28. if (m_kernelCtx.getTypeManager().isBitMask(type)) { return new CBitMaskSettingView(box, index, m_builderName, m_kernelCtx, type); }
  29. //By default we consider every settings as a string
  30. return new CStringSettingView(box, index, m_builderName);
  31. }
  32. } // namespace Setting
  33. } // namespace Designer
  34. } // namespace OpenViBE