Ocular Engine
CustomDisplayRegistrar.hpp
1 
17 #pragma once
18 #ifndef __H__OCULAR_EDITOR_CUSTOM_DISPLAY_REGISTRAR__H__
19 #define __H__OCULAR_EDITOR_CUSTOM_DISPLAY_REGISTRAR__H__
20 
21 #include "OcularEditor.hpp"
22 
23 //------------------------------------------------------------------------------------------
24 
29 namespace Ocular
30 {
35  namespace Editor
36  {
37  template<class T>
39  {
40  public:
41 
42  CustomDisplayRegistrar(std::string const& type)
43  {
44  if(!OcularEditor.getCustomDisplayFactory().registerComponent<T>(type))
45  {
46  OcularLogger->error("Failed to register PropertiesDisplayBox for type '", type, "' as the type is already in use",
47  OCULAR_INTERNAL_LOG("CustomDisplayRegistrar", "CustomDisplayRegistrar"));
48  }
49  }
50 
52  {
53 
54  }
55 
56  protected:
57 
58  private:
59  };
60  }
64 }
69 #define OCULAR_REGISTER_CUSTOM_DISPLAY(X,Y) Ocular::Editor::CustomDisplayRegistrar<X> OCULAR_INTERNAL_CustomDisplayRegistrar(Y)
70 
71 //------------------------------------------------------------------------------------------
72 
73 #endif
Note: Once this library is made dynamic, this will no longer be needed.
Definition: Common.hpp:70
Definition: CustomDisplayRegistrar.hpp:38