diff options
author | rtk0c <[email protected]> | 2021-03-29 13:47:55 -0700 |
---|---|---|
committer | rtk0c <[email protected]> | 2021-03-29 13:47:55 -0700 |
commit | 6032ae108064650324b2c45352e1baa5b36961cc (patch) | |
tree | 79ebd1df933ca9c3d8de4a5a537fffeadf7a6c9b /core/src/UI/UI_MainWindow.cpp | |
parent | 2d7e772909571676dd4266337d43086bd2927e93 (diff) |
Project tab
Diffstat (limited to 'core/src/UI/UI_MainWindow.cpp')
-rw-r--r-- | core/src/UI/UI_MainWindow.cpp | 64 |
1 files changed, 42 insertions, 22 deletions
diff --git a/core/src/UI/UI_MainWindow.cpp b/core/src/UI/UI_MainWindow.cpp index 8b1e71d..0c8e7b9 100644 --- a/core/src/UI/UI_MainWindow.cpp +++ b/core/src/UI/UI_MainWindow.cpp @@ -1,38 +1,44 @@ #include "UI.hpp" +#include "Model/Project.hpp" #include "UI/Localization.hpp" +#include "UI/States.hpp" #include <imgui.h> -void UI::MainWindow() { +namespace { +void ProjectTab_Normal() { + // TODO +} + +void ProjectTab_NoProject() { auto ls = LocaleStrings::Instance.get(); - float menuBarHeight; - ImGui::BeginMainMenuBar(); - { - menuBarHeight = ImGui::GetWindowHeight(); + if (ImGui::Button(ls->NewProject.Get())) { + // TODO + } + if (ImGui::Button(ls->OpenProject.Get())) { + // TODO + } - if (ImGui::BeginMenu(ls->MenuBarFile.Get())) { - if (ImGui::MenuItem(ls->MenuBarNewWindow.Get())) { - // TODO - } - if (ImGui::MenuItem(ls->MenuBarNewProject.Get())) { - // TODO - } + ImGui::Separator(); + ImGui::Text(ls->Recents.Get()); + ImGui::SameLine(); + if (ImGui::Button(ls->ClearRecents.Get())) { + // TODO + } - ImGui::Separator(); - if (ImGui::MenuItem(ls->MenuBarOpenProject.Get())) { - // TODO - } + // TODO +} +} // namespace - ImGui::EndMenu(); - } - } - ImGui::EndMainMenuBar(); +void UI::MainWindow() { + auto ls = LocaleStrings::Instance.get(); + auto& uis = UIState::GetInstance(); auto windowSize = ImGui::GetMainViewport()->Size; - ImGui::SetNextWindowSize({ windowSize.x, windowSize.y - menuBarHeight }); - ImGui::SetNextWindowPos({ 0, menuBarHeight }); + ImGui::SetNextWindowSize({ windowSize.x, windowSize.y }); + ImGui::SetNextWindowPos({ 0, 0 }); ImGui::Begin("##MainWindow", nullptr, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoResize); if (ImGui::BeginTabBar("##MainWindowTabs")) { if (ImGui::BeginTabItem(ls->TabSettings.Get())) { @@ -40,6 +46,19 @@ void UI::MainWindow() { ImGui::EndTabItem(); } + if (ImGui::BeginTabItem(ls->TabProject.Get())) { + if (uis.CurrentProject) { + ProjectTab_Normal(); + } else { + ProjectTab_NoProject(); + } + ImGui::EndTabItem(); + } + if (!uis.CurrentProject) { + // No project open, simply skip all project specific tabs + goto endTab; + } + if (ImGui::BeginTabItem(ls->TabDatabaseView.Get())) { UI::DatabaseViewTab(); ImGui::EndTabItem(); @@ -55,6 +74,7 @@ void UI::MainWindow() { ImGui::EndTabItem(); } + endTab: ImGui::EndTabBar(); } ImGui::End(); |