Don't include all ui elements in element_factory.hpp, forward declare them instead

This commit is contained in:
Nikita Lisitsa 2022-03-09 16:44:43 +03:00
parent a8f51e93ac
commit f139b1ca1f
4 changed files with 42 additions and 16 deletions

View file

@ -1,5 +1,11 @@
#include <psemek/tasks/ui.hpp>
#include <psemek/ui/window.hpp>
#include <psemek/ui/grid_layout.hpp>
#include <psemek/ui/frame.hpp>
#include <psemek/ui/scroller.hpp>
#include <psemek/ui/rich_button.hpp>
#include <psemek/util/recursive.hpp>
namespace psemek::tasks

View file

@ -1,27 +1,30 @@
#pragma once
#include <psemek/ui/button.hpp>
#include <psemek/ui/rich_button.hpp>
#include <psemek/ui/label.hpp>
#include <psemek/ui/frame.hpp>
#include <psemek/ui/window.hpp>
#include <psemek/ui/screen.hpp>
#include <psemek/ui/grid_layout.hpp>
#include <psemek/ui/image_view.hpp>
#include <psemek/ui/rich_image_view.hpp>
#include <psemek/ui/checkbox.hpp>
#include <psemek/ui/toggle_button.hpp>
#include <psemek/ui/slider.hpp>
#include <psemek/ui/spinbox.hpp>
#include <psemek/ui/scroller.hpp>
#include <psemek/ui/progress_bar.hpp>
#include <psemek/ui/selector.hpp>
#include <psemek/ui/element.hpp>
#include <psemek/gfx/texture.hpp>
#include <psemek/gfx/texture_view.hpp>
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<rich_button> make_button();

View file

@ -1,6 +1,15 @@
#include <psemek/ui/default_element_factory.hpp>
#include <psemek/ui/rich_button.hpp>
#include <psemek/ui/frame.hpp>
#include <psemek/ui/window.hpp>
#include <psemek/ui/checkbox.hpp>
#include <psemek/ui/slider.hpp>
#include <psemek/ui/spinbox.hpp>
#include <psemek/ui/box_shape.hpp>
#include <psemek/ui/container.hpp>
#include <psemek/ui/grid_layout.hpp>
#include <psemek/ui/scroller.hpp>
#include <psemek/io/memory_stream.hpp>

View file

@ -1,5 +1,13 @@
#include <psemek/ui/element_factory.hpp>
#include <psemek/ui/label.hpp>
#include <psemek/ui/rich_button.hpp>
#include <psemek/ui/toggle_button.hpp>
#include <psemek/ui/image_view.hpp>
#include <psemek/ui/rich_image_view.hpp>
#include <psemek/ui/grid_layout.hpp>
#include <psemek/ui/screen.hpp>
namespace psemek::ui
{