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
4#pragma once
5#include <ice/devui_types.hxx>
6#include <ice/i18n_string.hxx>
7
8 namespace ice
9{
10
16
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
29 {
30 public:
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:
47 };
48
49} // namespace ice
Definition devui_frame.hxx:17
virtual void update_state(ice::DevUIWidgetState &state) noexcept
Definition devui_widget.hxx:37
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:35
virtual void build_menu() noexcept
virtual ~DevUIWidget() noexcept=default
virtual auto name() const noexcept -> ice::String override
Definition devui_widget.hxx:34
virtual bool build_mainmenu(ice::DevUIWidgetState &state) noexcept
ice::DevUIWidgetInfo _widget_info
Definition devui_widget.hxx:46
Definition devui_widget.hxx:18
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
SPDX-License-Identifier: MIT.
Definition array.hxx:12
ice::BasicString< char > String
Definition string.hxx:82
Definition devui_widget.hxx:12
ice::I18NString name
Definition devui_widget.hxx:14
ice::I18NString category
Definition devui_widget.hxx:13
Definition devui_frame.hxx:11
Definition i18n_string.hxx:9