aboutsummaryrefslogtreecommitdiff
path: root/core/src/UI/UI_MainWindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/UI/UI_MainWindow.cpp')
-rw-r--r--core/src/UI/UI_MainWindow.cpp61
1 files changed, 61 insertions, 0 deletions
diff --git a/core/src/UI/UI_MainWindow.cpp b/core/src/UI/UI_MainWindow.cpp
new file mode 100644
index 0000000..8b1e71d
--- /dev/null
+++ b/core/src/UI/UI_MainWindow.cpp
@@ -0,0 +1,61 @@
+#include "UI.hpp"
+
+#include "UI/Localization.hpp"
+
+#include <imgui.h>
+
+void UI::MainWindow() {
+ auto ls = LocaleStrings::Instance.get();
+
+ float menuBarHeight;
+ ImGui::BeginMainMenuBar();
+ {
+ menuBarHeight = ImGui::GetWindowHeight();
+
+ if (ImGui::BeginMenu(ls->MenuBarFile.Get())) {
+ if (ImGui::MenuItem(ls->MenuBarNewWindow.Get())) {
+ // TODO
+ }
+ if (ImGui::MenuItem(ls->MenuBarNewProject.Get())) {
+ // TODO
+ }
+
+ ImGui::Separator();
+ if (ImGui::MenuItem(ls->MenuBarOpenProject.Get())) {
+ // TODO
+ }
+
+ ImGui::EndMenu();
+ }
+ }
+ ImGui::EndMainMenuBar();
+
+ auto windowSize = ImGui::GetMainViewport()->Size;
+ ImGui::SetNextWindowSize({ windowSize.x, windowSize.y - menuBarHeight });
+ ImGui::SetNextWindowPos({ 0, menuBarHeight });
+ ImGui::Begin("##MainWindow", nullptr, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoResize);
+ if (ImGui::BeginTabBar("##MainWindowTabs")) {
+ if (ImGui::BeginTabItem(ls->TabSettings.Get())) {
+ UI::SettingsTab();
+ ImGui::EndTabItem();
+ }
+
+ if (ImGui::BeginTabItem(ls->TabDatabaseView.Get())) {
+ UI::DatabaseViewTab();
+ ImGui::EndTabItem();
+ }
+
+ if (ImGui::BeginTabItem(ls->TabItems.Get())) {
+ UI::ItemsTab();
+ ImGui::EndTabItem();
+ }
+
+ if (ImGui::BeginTabItem(ls->TabExport.Get())) {
+ UI::ExportTab();
+ ImGui::EndTabItem();
+ }
+
+ ImGui::EndTabBar();
+ }
+ ImGui::End();
+}