aboutsummaryrefslogtreecommitdiff
path: root/core/src/UI/UI_MainWindow.cpp
blob: 8b1e71d183ad8485a6d6be07b61eeebe0e64c91e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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();
}