diff options
Diffstat (limited to 'core/src/UI/UI_MainWindow.cpp')
-rw-r--r-- | core/src/UI/UI_MainWindow.cpp | 61 |
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(); +} |