Shkyera Engine
Easy to use, game engine for Python
Loading...
Searching...
No Matches
PropertiesWidget.hpp
Go to the documentation of this file.
1
8
#pragma once
9
10
#include <
ECS/Registry.hpp
>
11
#include <UI/ComponentUI.hpp>
12
#include <UI/Widget.hpp>
13
14
namespace
shkyera
{
15
22
class
PropertiesWidget
:
public
Widget
{
23
public
:
24
using
Widget::Widget
;
25
26
PropertiesWidget
(std::shared_ptr<Registry>
registry
);
27
PropertiesWidget
(std::shared_ptr<Registry>
registry
,
const
std::string&
title
);
28
32
void
draw
()
override
;
33
34
protected
:
35
virtual
void
updateComponents
();
36
virtual
void
drawNewComponentMenu
();
37
void
setupComponentsUI
();
38
39
std::shared_ptr<Registry>
_registry
;
40
std::optional<Entity>
_selectedEntity
;
41
42
private
:
43
void
drawExistingComponents
();
44
45
std::vector<std::unique_ptr<ComponentUI>>
_componentsUi
;
46
};
47
48
class
CameraPropertiesWidget
:
public
PropertiesWidget
{
49
public
:
50
CameraPropertiesWidget
(std::shared_ptr<Registry>
registry
);
51
52
protected
:
53
void
updateComponents
()
override
;
54
void
drawNewComponentMenu
()
override
;
55
};
56
57
class
EnvironmentPropertiesWidget
:
public
PropertiesWidget
{
58
public
:
59
EnvironmentPropertiesWidget
(std::shared_ptr<Registry>
registry
);
60
61
protected
:
62
void
updateComponents
()
override
;
63
void
drawNewComponentMenu
()
override
;
64
};
65
66
}
// namespace shkyera
Registry.hpp
shkyera::CameraPropertiesWidget
Definition
PropertiesWidget.hpp:48
shkyera::CameraPropertiesWidget::drawNewComponentMenu
void drawNewComponentMenu() override
Definition
PropertiesWidget.cpp:228
shkyera::CameraPropertiesWidget::updateComponents
void updateComponents() override
Definition
PropertiesWidget.cpp:218
shkyera::EnvironmentPropertiesWidget
Definition
PropertiesWidget.hpp:57
shkyera::EnvironmentPropertiesWidget::updateComponents
void updateComponents() override
Definition
PropertiesWidget.cpp:236
shkyera::EnvironmentPropertiesWidget::drawNewComponentMenu
void drawNewComponentMenu() override
Definition
PropertiesWidget.cpp:244
shkyera::PropertiesWidget
A user interface widget for managing game object properties.
Definition
PropertiesWidget.hpp:22
shkyera::PropertiesWidget::draw
void draw() override
Implementation of the abstract draw method to render the properties widget.
Definition
PropertiesWidget.cpp:55
shkyera::PropertiesWidget::drawExistingComponents
void drawExistingComponents()
Definition
PropertiesWidget.cpp:80
shkyera::PropertiesWidget::drawNewComponentMenu
virtual void drawNewComponentMenu()
Definition
PropertiesWidget.cpp:185
shkyera::PropertiesWidget::_componentsUi
std::vector< std::unique_ptr< ComponentUI > > _componentsUi
Definition
PropertiesWidget.hpp:45
shkyera::PropertiesWidget::_selectedEntity
std::optional< Entity > _selectedEntity
Definition
PropertiesWidget.hpp:40
shkyera::PropertiesWidget::updateComponents
virtual void updateComponents()
Definition
PropertiesWidget.cpp:43
shkyera::PropertiesWidget::setupComponentsUI
void setupComponentsUI()
Definition
PropertiesWidget.cpp:86
shkyera::PropertiesWidget::_registry
std::shared_ptr< Registry > _registry
Definition
PropertiesWidget.hpp:39
shkyera::Widget
An abstract base class representing a GUI widget.
Definition
Widget.hpp:23
shkyera::Widget::Widget
Widget(std::string name)
Constructor to create a widget with a specified name.
Definition
Widget.cpp:5
shkyera
Definition
Asset.hpp:6
shkyera::Clock
Definition
Clock.hpp:9
src
ui
widgets
PropertiesWidget.hpp
Generated by
1.9.8
Franciszek Szewczyk © 2023