aboutsummaryrefslogtreecommitdiff
path: root/src/gui/WidgetContainer.cpp
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2024-08-01 20:46:13 +0200
committerdec05eba <dec05eba@protonmail.com>2024-08-01 20:46:13 +0200
commit27255cdb64b87c048fad70ca893f684cf61819a4 (patch)
treed89ea70475d1e8e9508d652eef836c49c0d162a8 /src/gui/WidgetContainer.cpp
parent6624db873c91087bc1805b9d018c92c455b85190 (diff)
Change global widget container to page
Diffstat (limited to 'src/gui/WidgetContainer.cpp')
-rw-r--r--src/gui/WidgetContainer.cpp57
1 files changed, 0 insertions, 57 deletions
diff --git a/src/gui/WidgetContainer.cpp b/src/gui/WidgetContainer.cpp
deleted file mode 100644
index 8824d1a..0000000
--- a/src/gui/WidgetContainer.cpp
+++ /dev/null
@@ -1,57 +0,0 @@
-#include "../../include/gui/WidgetContainer.hpp"
-#include "../../include/gui/Widget.hpp"
-
-namespace gsr {
- // static
- WidgetContainer& WidgetContainer::get_instance() {
- static WidgetContainer instance;
- return instance;
- }
-
- void WidgetContainer::add_widget(Widget *widget) {
- // TODO: to_be_added, and remove in the draw loop
- #ifdef DEBUG
- for(Widget *existing_widget : widgets) {
- if(existing_widget == widget)
- return;
- }
- #endif
- widgets.push_back(widget);
- }
-
- void WidgetContainer::remove_widget(Widget *widget) {
- // TODO: to_be_removed, and remove in draw loop
- for(auto it = widgets.begin(), end = widgets.end(); it != end; ++it) {
- if(*it == widget) {
- widgets.erase(it);
- return;
- }
- }
- }
-
- void WidgetContainer::on_event(mgl::Event &event, mgl::Window &window) {
- // Process widgets by visibility (backwards)
- for(auto it = widgets.rbegin(), end = widgets.rend(); it != end; ++it) {
- if(!(*it)->on_event(event, window))
- return;
- }
- }
-
- void WidgetContainer::draw(mgl::Window &window) {
- for(auto it = widgets.begin(); it != widgets.end(); ++it) {
- Widget *widget = *it;
- if(widget->move_to_top) {
- widget->move_to_top = false;
- std::swap(*it, widgets.back());
- /*if(widgets.back() != widget) {
- widgets.erase(it);
- widgets.push_back(widget);
- }*/
- }
- }
-
- for(Widget *widget : widgets) {
- widget->draw(window);
- }
- }
-} \ No newline at end of file