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