From f139b1ca1fc4eeaa9f2e27eec8607c7d7c0a23a3 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Wed, 9 Mar 2022 16:44:43 +0300 Subject: [PATCH] Don't include all ui elements in element_factory.hpp, forward declare them instead --- libs/tasks/source/ui.cpp | 6 ++++ libs/ui/include/psemek/ui/element_factory.hpp | 35 ++++++++++--------- libs/ui/source/default_element_factory.cpp | 9 +++++ libs/ui/source/element_factory.cpp | 8 +++++ 4 files changed, 42 insertions(+), 16 deletions(-) diff --git a/libs/tasks/source/ui.cpp b/libs/tasks/source/ui.cpp index 5a000f4b..56484f95 100644 --- a/libs/tasks/source/ui.cpp +++ b/libs/tasks/source/ui.cpp @@ -1,5 +1,11 @@ #include +#include +#include +#include +#include +#include + #include namespace psemek::tasks diff --git a/libs/ui/include/psemek/ui/element_factory.hpp b/libs/ui/include/psemek/ui/element_factory.hpp index fd5b9a3b..d1cffa87 100644 --- a/libs/ui/include/psemek/ui/element_factory.hpp +++ b/libs/ui/include/psemek/ui/element_factory.hpp @@ -1,27 +1,30 @@ #pragma once -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include #include +#include namespace psemek::ui { + struct button; + struct rich_button; + struct label; + struct frame; + struct window; + struct screen; + struct grid_layout; + struct image_view; + struct rich_image_view; + struct checkbox; + struct toggle_button; + struct slider; + struct spinbox; + struct scroller; + struct progress_bar; + struct selector; + struct element_factory { virtual std::shared_ptr make_button(); diff --git a/libs/ui/source/default_element_factory.cpp b/libs/ui/source/default_element_factory.cpp index 7ad1b961..54bc253e 100644 --- a/libs/ui/source/default_element_factory.cpp +++ b/libs/ui/source/default_element_factory.cpp @@ -1,6 +1,15 @@ #include +#include +#include +#include +#include +#include +#include #include +#include +#include +#include #include diff --git a/libs/ui/source/element_factory.cpp b/libs/ui/source/element_factory.cpp index 38336f56..7dab502a 100644 --- a/libs/ui/source/element_factory.cpp +++ b/libs/ui/source/element_factory.cpp @@ -1,5 +1,13 @@ #include +#include +#include +#include +#include +#include +#include +#include + namespace psemek::ui {