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
bool
left_sidebar_visible
=
false
;
17
18
int
*
current_room_id
=
nullptr
;
19
int
*
previous_room_id
=
nullptr
;
20
bool
*
split_view_enabled
=
nullptr
;
21
int
*
compare_room_id
=
nullptr
;
22
23
DungeonCanvasViewer
*
primary_viewer
=
nullptr
;
24
DungeonCanvasViewer
*
compare_viewer
=
nullptr
;
25
26
std::function<void(
int
)>
on_room_selected
;
27
std::function<const std::deque<int>&()>
get_recent_rooms
;
28
std::function<void(
bool
)>
set_workflow_mode
;
29
30
char
*
compare_search_buf
=
nullptr
;
31
size_t
compare_search_buf_size
= 0;
32
};
33
34
// Draws the stitched "Workbench" toolbar (room nav + compare + key view
35
// toggles). Intended to replace per-canvas header chrome in Workbench mode.
36
class
DungeonWorkbenchToolbar
{
37
public
:
38
// Keep adjacency navigation available by default; only hide it when the
39
// stitched toolbar is genuinely too narrow to fit cleanly.
40
static
bool
ShouldShowInlineRoomNav
(
float
toolbar_width);
41
42
// Returns true when the user requested switching out of Workbench mode.
43
// Caller should apply that mode change after finishing current ImGui scopes.
44
static
bool
Draw
(
const
DungeonWorkbenchToolbarParams
& params);
45
};
46
47
}
// namespace yaze::editor
48
49
#endif
// YAZE_APP_EDITOR_DUNGEON_WIDGETS_DUNGEON_WORKBENCH_TOOLBAR_H
yaze::editor::DungeonCanvasViewer
Definition
dungeon_canvas_viewer.h:41
yaze::editor::DungeonWorkbenchToolbar
Definition
dungeon_workbench_toolbar.h:36
yaze::editor::DungeonWorkbenchToolbar::Draw
static bool Draw(const DungeonWorkbenchToolbarParams ¶ms)
Definition
dungeon_workbench_toolbar.cc:341
yaze::editor::DungeonWorkbenchToolbar::ShouldShowInlineRoomNav
static bool ShouldShowInlineRoomNav(float toolbar_width)
Definition
dungeon_workbench_toolbar.cc:337
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::get_recent_rooms
std::function< const std::deque< int > &()> get_recent_rooms
Definition
dungeon_workbench_toolbar.h:27
yaze::editor::DungeonWorkbenchToolbarParams::primary_viewer
DungeonCanvasViewer * primary_viewer
Definition
dungeon_workbench_toolbar.h:23
yaze::editor::DungeonWorkbenchToolbarParams::previous_room_id
int * previous_room_id
Definition
dungeon_workbench_toolbar.h:19
yaze::editor::DungeonWorkbenchToolbarParams::compare_search_buf
char * compare_search_buf
Definition
dungeon_workbench_toolbar.h:30
yaze::editor::DungeonWorkbenchToolbarParams::left_sidebar_visible
bool left_sidebar_visible
Definition
dungeon_workbench_toolbar.h:16
yaze::editor::DungeonWorkbenchToolbarParams::compare_viewer
DungeonCanvasViewer * compare_viewer
Definition
dungeon_workbench_toolbar.h:24
yaze::editor::DungeonWorkbenchToolbarParams::on_room_selected
std::function< void(int)> on_room_selected
Definition
dungeon_workbench_toolbar.h:26
yaze::editor::DungeonWorkbenchToolbarParams::split_view_enabled
bool * split_view_enabled
Definition
dungeon_workbench_toolbar.h:20
yaze::editor::DungeonWorkbenchToolbarParams::compare_room_id
int * compare_room_id
Definition
dungeon_workbench_toolbar.h:21
yaze::editor::DungeonWorkbenchToolbarParams::current_room_id
int * current_room_id
Definition
dungeon_workbench_toolbar.h:18
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:31
yaze::editor::DungeonWorkbenchToolbarParams::set_workflow_mode
std::function< void(bool)> set_workflow_mode
Definition
dungeon_workbench_toolbar.h:28
src
app
editor
dungeon
widgets
dungeon_workbench_toolbar.h
Generated by
1.10.0