yaze 0.2.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
settings_editor.cc
Go to the documentation of this file.
1
3
4#include "absl/status/status.h"
5#include "app/core/features.h"
6#include "app/gui/style.h"
7#include "imgui/imgui.h"
8
9namespace yaze {
10namespace editor {
11
12using ImGui::BeginChild;
13using ImGui::BeginMenu;
14using ImGui::BeginTabBar;
15using ImGui::BeginTabItem;
16using ImGui::BeginTable;
17using ImGui::Checkbox;
18using ImGui::EndChild;
19using ImGui::EndMenu;
20using ImGui::EndTabBar;
21using ImGui::EndTabItem;
22using ImGui::EndTable;
23using ImGui::TableHeader;
24using ImGui::TableHeadersRow;
25using ImGui::TableNextColumn;
26using ImGui::TableNextRow;
27using ImGui::TableSetBgColor;
28using ImGui::TableSetColumnIndex;
29using ImGui::TableSetupColumn;
30using ImGui::Text;
31
32absl::Status SettingsEditor::Update() {
33 if (BeginTabBar("Settings", ImGuiTabBarFlags_None)) {
34 if (BeginTabItem("General")) {
36 EndTabItem();
37 }
38 if (BeginTabItem("Font Manager")) {
40 EndTabItem();
41 }
42 if (BeginTabItem("Keyboard Shortcuts")) {
43 EndTabItem();
44 }
45 EndTabBar();
46 }
47
48 return absl::OkStatus();
49}
50
52 static core::FlagsMenu flags;
53
54 if (BeginTable("##SettingsTable", 4,
55 ImGuiTableFlags_Reorderable | ImGuiTableFlags_Hideable |
56 ImGuiTableFlags_Borders | ImGuiTableFlags_Resizable)) {
57 TableSetupColumn("System Flags", ImGuiTableColumnFlags_WidthStretch);
58 TableSetupColumn("Overworld Flags", ImGuiTableColumnFlags_WidthStretch);
59 TableSetupColumn("Dungeon Flags", ImGuiTableColumnFlags_WidthStretch);
60 TableSetupColumn("Resource Flags", ImGuiTableColumnFlags_WidthStretch,
61 0.0f);
62
63 TableHeadersRow();
64
65 TableNextColumn();
66 if (BeginChild("##SystemFlags", ImVec2(0, 0), ImGuiChildFlags_FrameStyle)) {
67 flags.DrawSystemFlags();
68 EndChild();
69 }
70
71 TableNextColumn();
72 if (BeginChild("##OverworldFlags", ImVec2(0, 0),
73 ImGuiChildFlags_FrameStyle)) {
74 flags.DrawOverworldFlags();
75 EndChild();
76 }
77
78 TableNextColumn();
79 if (BeginChild("##DungeonFlags", ImVec2(0, 0),
80 ImGuiChildFlags_FrameStyle)) {
81 flags.DrawDungeonFlags();
82 EndChild();
83 }
84
85 TableNextColumn();
86 if (BeginChild("##ResourceFlags", ImVec2(0, 0),
87 ImGuiChildFlags_FrameStyle)) {
88 flags.DrawResourceFlags();
89 EndChild();
90 }
91
92 EndTable();
93 }
94}
95
97 return absl::OkStatus();
98}
99
100} // namespace editor
101} // namespace yaze
absl::Status Update() override
Editors are the view controllers for the application.
void DrawFontManager()
Definition style.cc:752
Main namespace for the application.
Definition controller.cc:18