Unravel Engine C++ Reference
Loading...
Searching...
No Matches
panel.h
Go to the documentation of this file.
1#pragma once
2
3#include <base/basetypes.hpp>
4#include <context/context.hpp>
5#include <graphics/texture.h>
6
11#include "dockspace.h"
23
24namespace unravel
25{
26
28{
29public:
32
33 void init(rtti::context& ctx);
34 void deinit(rtti::context& ctx);
35
40
45 auto get_game_panel() -> game_panel&;
50 void set_external_drop_in_progress(bool in_progress);
51
52 auto get_external_drop_in_progress() const -> bool;
53
54 void set_external_drop_position(ImVec2 pos);
55
56 auto get_external_drop_position() const -> const ImVec2&;
57
58 void add_external_drop_file(const std::string& file);
59
61
62 auto get_external_drop_files() const -> const std::vector<std::string>&;
63
64private:
65 std::shared_ptr<console_log_panel> console_log_panel_;
66 std::unique_ptr<content_browser_panel> content_browser_panel_;
67 std::unique_ptr<hierarchy_panel> hierarchy_panel_;
68 std::unique_ptr<inspector_panel> inspector_panel_;
69 std::unique_ptr<scene_panel> scene_panel_;
70 std::unique_ptr<game_panel> game_panel_;
71 std::unique_ptr<statistics_panel> statistics_panel_;
72 std::unique_ptr<header_panel> header_panel_;
73 std::unique_ptr<footer_panel> footer_panel_;
74 std::unique_ptr<deploy_panel> deploy_panel_;
75 std::unique_ptr<project_settings_panel> project_settings_panel_;
76 std::unique_ptr<editor_settings_panel> editor_settings_panel_;
77 std::unique_ptr<style_panel> style_panel_;
78 std::unique_ptr<undo_redo_panel> undo_redo_panel_;
79
80 std::unique_ptr<animation_panel> animation_panel_;
81
82 std::unique_ptr<dockspace> cenral_dockspace_;
83
84 struct external_drop_data
85 {
86 bool drop_in_progress{};
87 ImVec2 drop_position{};
88 std::vector<std::string> drop_files{};
89 } external_drop_data_;
90};
91} // namespace unravel
void set_external_drop_in_progress(bool in_progress)
Definition panel.cpp:186
void add_external_drop_file(const std::string &file)
Definition panel.cpp:206
void on_frame_ui_render(rtti::context &ctx)
Definition panel.cpp:85
auto get_project_settings_panel() -> project_settings_panel &
Definition panel.cpp:146
auto get_external_drop_position() const -> const ImVec2 &
Definition panel.cpp:201
auto get_scene_panel() -> scene_panel &
Definition panel.cpp:156
void on_frame_update(rtti::context &ctx, delta_t dt)
Definition panel.cpp:67
void on_frame_render(rtti::context &ctx, delta_t dt)
Definition panel.cpp:79
auto get_game_panel() -> game_panel &
Definition panel.cpp:161
void on_frame_before_render(rtti::context &ctx, delta_t dt)
Definition panel.cpp:73
void clear_external_drop_files()
Definition panel.cpp:211
auto get_deploy_panel() -> deploy_panel &
Definition panel.cpp:141
auto get_console_log_panel() -> console_log_panel &
Definition panel.cpp:166
auto get_external_drop_files() const -> const std::vector< std::string > &
Definition panel.cpp:216
auto get_external_drop_in_progress() const -> bool
Definition panel.cpp:191
void deinit(rtti::context &ctx)
Definition panel.cpp:57
auto get_editor_settings_panel() -> editor_settings_panel &
Definition panel.cpp:151
auto get_style_panel() -> style_panel &
Definition panel.cpp:171
void set_external_drop_position(ImVec2 pos)
Definition panel.cpp:196
auto get_animation_panel() -> animation_panel &
Definition panel.cpp:176
void init(rtti::context &ctx)
Definition panel.cpp:44
auto get_undo_redo_panel() -> undo_redo_panel &
Definition panel.cpp:181
std::chrono::duration< float > delta_t