Ocular Engine
MeshRenderableDisplay.hpp
1 
17 #pragma once
18 #ifndef __H__OCULAR_EDITOR_MESH_RENDERABLE_DISPLAY__H__
19 #define __H__OCULAR_EDITOR_MESH_RENDERABLE_DISPLAY__H__
20 
21 #include "RenderableDisplay.hpp"
22 
23 //------------------------------------------------------------------------------------------
24 
29 namespace Ocular
30 {
35  namespace Editor
36  {
37  class MeshRenderableDisplayMaterial;
38  class ButtonResourceBrowse;
39  class ResourceProperty;
40 
45  {
46  Q_OBJECT
47 
48  public:
49 
50  MeshRenderableDisplay(QWidget* parent = nullptr);
51  virtual ~MeshRenderableDisplay();
52 
53  //------------------------------------------------------------
54 
55  virtual void updateProperties() override;
56 
57  protected:
58 
59  virtual void buildProperties() override;
60  virtual void removeProperties() override;
61 
62  private slots:
63 
64  void onButtonAddMaterialClick();
65  void onButtonRemoveMaterialClick();
66 
67  private:
68 
69  void buildMeshProperty();
70  void buildMaterialProperties();
71  void buildMaterialAddRemove();
72 
73  //------------------------------------------------------------
74 
75  ResourceProperty* m_MeshProperty;
76  std::vector<MeshRenderableDisplayMaterial*> m_MaterialProperties;
77 
78  QFrame* m_FrameAddRemove;
79  QHBoxLayout* m_LayoutAddRemove;
80 
81  QPushButton* m_ButtonAddMaterial;
82  QPushButton* m_ButtonRemoveMaterial;
83  };
84  }
88 }
93 //------------------------------------------------------------------------------------------
94 
95 #endif
Note: Once this library is made dynamic, this will no longer be needed.
Definition: Common.hpp:70
Definition: ResourceProperty.hpp:46
Definition: MeshRenderableDisplay.hpp:44
Definition: RenderableDisplay.hpp:40