yaze
0.3.2
Link to the Past ROM Editor
Loading...
Searching...
No Matches
dungeon_workbench_toolbar.h
Go to the documentation of this file.
1
#ifndef YAZE_APP_EDITOR_DUNGEON_WIDGETS_DUNGEON_WORKBENCH_TOOLBAR_H
2
#define YAZE_APP_EDITOR_DUNGEON_WIDGETS_DUNGEON_WORKBENCH_TOOLBAR_H
3
4
#include <cstddef>
5
#include <deque>
6
#include <functional>
7
8
#include "
app/editor/dungeon/dungeon_workbench_state.h
"
9
10
namespace
yaze::editor
{
11
12
class
DungeonCanvasViewer;
13
14
struct
DungeonWorkbenchToolbarParams
{
15
DungeonWorkbenchLayoutState
*
layout
=
nullptr
;
16
17
int
*
current_room_id
=
nullptr
;
18
int
*
previous_room_id
=
nullptr
;
19
bool
*
split_view_enabled
=
nullptr
;
20
int
*
compare_room_id
=
nullptr
;
21
22
DungeonCanvasViewer
*
primary_viewer
=
nullptr
;
23
DungeonCanvasViewer
*
compare_viewer
=
nullptr
;
24
25
std::function<void(
int
)>
on_room_selected
;
26
std::function<const std::deque<int>&()>
get_recent_rooms
;
27
std::function<void(
int
)>
on_open_room_panel
;
28
std::function<void(
int
)>
forget_recent_room
;
29
std::function<void(
bool
)>
set_workflow_mode
;
30
std::function<void(
int
)>
on_save_room
;
31
std::function<void()>
on_request_dungeon_map
;
32
std::function<void(
float
)>
draw_entrance_context
;
33
std::function<void()>
draw_tools
;
34
std::function<void()>
draw_save_content
;
35
36
char
*
compare_search_buf
=
nullptr
;
37
size_t
compare_search_buf_size
= 0;
38
};
39
40
// Draws the stitched "Workbench" toolbar (room nav + compare + key view
41
// toggles). Intended to replace per-canvas header chrome in Workbench mode.
42
class
DungeonWorkbenchToolbar
{
43
public
:
44
// Keep adjacency navigation available by default; only hide it when the
45
// stitched toolbar is genuinely too narrow to fit cleanly.
46
static
bool
ShouldShowInlineRoomNav
(
float
toolbar_width);
47
48
// Returns true when the user requested switching out of Workbench mode.
49
// Caller should apply that mode change after finishing current ImGui scopes.
50
static
bool
Draw
(
const
DungeonWorkbenchToolbarParams
& params);
51
};
52
53
}
// namespace yaze::editor
54
55
#endif
// YAZE_APP_EDITOR_DUNGEON_WIDGETS_DUNGEON_WORKBENCH_TOOLBAR_H
yaze::editor::DungeonCanvasViewer
Definition
dungeon_canvas_viewer.h:230
yaze::editor::DungeonWorkbenchToolbar
Definition
dungeon_workbench_toolbar.h:42
yaze::editor::DungeonWorkbenchToolbar::Draw
static bool Draw(const DungeonWorkbenchToolbarParams ¶ms)
Definition
dungeon_workbench_toolbar.cc:717
yaze::editor::DungeonWorkbenchToolbar::ShouldShowInlineRoomNav
static bool ShouldShowInlineRoomNav(float toolbar_width)
Definition
dungeon_workbench_toolbar.cc:712
dungeon_workbench_state.h
yaze::editor
Editors are the view controllers for the application.
Definition
patch_export_usage.cc:9
yaze::editor::DungeonWorkbenchLayoutState
Definition
dungeon_workbench_state.h:8
yaze::editor::DungeonWorkbenchToolbarParams
Definition
dungeon_workbench_toolbar.h:14
yaze::editor::DungeonWorkbenchToolbarParams::on_request_dungeon_map
std::function< void()> on_request_dungeon_map
Definition
dungeon_workbench_toolbar.h:31
yaze::editor::DungeonWorkbenchToolbarParams::on_save_room
std::function< void(int)> on_save_room
Definition
dungeon_workbench_toolbar.h:30
yaze::editor::DungeonWorkbenchToolbarParams::get_recent_rooms
std::function< const std::deque< int > &()> get_recent_rooms
Definition
dungeon_workbench_toolbar.h:26
yaze::editor::DungeonWorkbenchToolbarParams::draw_save_content
std::function< void()> draw_save_content
Definition
dungeon_workbench_toolbar.h:34
yaze::editor::DungeonWorkbenchToolbarParams::on_open_room_panel
std::function< void(int)> on_open_room_panel
Definition
dungeon_workbench_toolbar.h:27
yaze::editor::DungeonWorkbenchToolbarParams::primary_viewer
DungeonCanvasViewer * primary_viewer
Definition
dungeon_workbench_toolbar.h:22
yaze::editor::DungeonWorkbenchToolbarParams::previous_room_id
int * previous_room_id
Definition
dungeon_workbench_toolbar.h:18
yaze::editor::DungeonWorkbenchToolbarParams::compare_search_buf
char * compare_search_buf
Definition
dungeon_workbench_toolbar.h:36
yaze::editor::DungeonWorkbenchToolbarParams::forget_recent_room
std::function< void(int)> forget_recent_room
Definition
dungeon_workbench_toolbar.h:28
yaze::editor::DungeonWorkbenchToolbarParams::compare_viewer
DungeonCanvasViewer * compare_viewer
Definition
dungeon_workbench_toolbar.h:23
yaze::editor::DungeonWorkbenchToolbarParams::on_room_selected
std::function< void(int)> on_room_selected
Definition
dungeon_workbench_toolbar.h:25
yaze::editor::DungeonWorkbenchToolbarParams::split_view_enabled
bool * split_view_enabled
Definition
dungeon_workbench_toolbar.h:19
yaze::editor::DungeonWorkbenchToolbarParams::draw_tools
std::function< void()> draw_tools
Definition
dungeon_workbench_toolbar.h:33
yaze::editor::DungeonWorkbenchToolbarParams::compare_room_id
int * compare_room_id
Definition
dungeon_workbench_toolbar.h:20
yaze::editor::DungeonWorkbenchToolbarParams::draw_entrance_context
std::function< void(float)> draw_entrance_context
Definition
dungeon_workbench_toolbar.h:32
yaze::editor::DungeonWorkbenchToolbarParams::current_room_id
int * current_room_id
Definition
dungeon_workbench_toolbar.h:17
yaze::editor::DungeonWorkbenchToolbarParams::layout
DungeonWorkbenchLayoutState * layout
Definition
dungeon_workbench_toolbar.h:15
yaze::editor::DungeonWorkbenchToolbarParams::compare_search_buf_size
size_t compare_search_buf_size
Definition
dungeon_workbench_toolbar.h:37
yaze::editor::DungeonWorkbenchToolbarParams::set_workflow_mode
std::function< void(bool)> set_workflow_mode
Definition
dungeon_workbench_toolbar.h:29
src
app
editor
dungeon
widgets
dungeon_workbench_toolbar.h
Generated by
1.10.0