IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
devui_widget.hxx
Go to the documentation of this file.
1
3
6
7#pragma once
8#include <ice/devui_types.hxx>
9#include <ice/i18n_string.hxx>
10
11 namespace ice
12{
13
19
21 {
22 public:
23 virtual ~IDevUIWidget() noexcept = default;
24
25 virtual void build_content() noexcept = 0;
26 virtual auto name() const noexcept -> ice::String = 0;
27 virtual auto category() const noexcept -> ice::String = 0;
28 };
29
30 // TODO: Rename to Window
32 {
33 public:
35 virtual ~DevUIWidget() noexcept = default;
36
37 virtual auto name() const noexcept -> ice::String override { return _widget_info.name; }
38 virtual auto category() const noexcept -> ice::String override { return _widget_info.category; }
39
40 virtual void update_state(ice::DevUIWidgetState& state) noexcept { }
41
42 virtual void build_widget(ice::DevUIFrame& frame, ice::DevUIWidgetState& state) noexcept;
43
44 virtual void build_menu() noexcept;
45
46 virtual bool build_mainmenu(ice::DevUIWidgetState& state) noexcept;
47
48 protected:
50 };
51
52} // namespace ice
Definition devui_frame.hxx:17
virtual void update_state(ice::DevUIWidgetState &state) noexcept
Definition devui_widget.hxx:40
virtual void build_widget(ice::DevUIFrame &frame, ice::DevUIWidgetState &state) noexcept
DevUIWidget(ice::DevUIWidgetInfo const &info) noexcept
virtual auto category() const noexcept -> ice::String override
Definition devui_widget.hxx:38
virtual void build_menu() noexcept
virtual ~DevUIWidget() noexcept=default
virtual auto name() const noexcept -> ice::String override
Definition devui_widget.hxx:37
virtual bool build_mainmenu(ice::DevUIWidgetState &state) noexcept
ice::DevUIWidgetInfo _widget_info
Definition devui_widget.hxx:49
Definition devui_widget.hxx:21
virtual auto category() const noexcept -> ice::String=0
virtual void build_content() noexcept=0
virtual auto name() const noexcept -> ice::String=0
virtual ~IDevUIWidget() noexcept=default
Definition info.hxx:8
Root namespace for all APIs part of the IceShard engine project.
Definition array.hxx:12
ice::BasicString< char > String
Definition string.hxx:82
Definition devui_widget.hxx:15
ice::I18NString name
Definition devui_widget.hxx:17
ice::I18NString category
Definition devui_widget.hxx:16
Definition devui_frame.hxx:11
Definition i18n_string.hxx:12