1#ifndef OE_GUI_COMPONENT_H
2#define OE_GUI_COMPONENT_H
38 _children.push_back(child);
39 child->_parent =
this;
61 template <
typename T,
typename... Args>
64 T* component = _manager->
createComponent<T>(std::forward<Args>(args)...);
67 component->_font = _font;
75 template <
typename T,
typename... Args>
78 T& component = _manager->
createComponent<T>(std::forward<Args>(args)...);
97 template <
typename... Args>
100 return createChild<component::Row>(height, cols);
120 virtual void generate() = 0;
126 nk_context* _context;
127 nk_font* _font =
nullptr;
129 std::vector<Component*> _children;
135#include "component/all.h"
Definition component.h:20
Component * setFont(const std::string &font_name)
component::Row * createRow(const float &height, const int &cols=0)
Definition component.h:98
Component * setManager(Manager *manager)
Component * addChild(T *child)
Definition component.h:34
T * createChild(Args &&... args)
Definition component.h:62
Component(Manager *manager=nullptr)
T & createSibling(Args &&... args)
Definition component.h:76
Component * addSibling(T *component)
Definition component.h:49
T * createComponent(Args &&... args)
Definition manager.h:99
Graphical user interface (panels, buttons, text input, ...)
Definition component.h:11