#include "views.hpp" #include "imgui.h" void show_dashboard() { if (ImGui::BeginMainMenuBar()) { if (ImGui::BeginMenu("File")) { if (ImGui::MenuItem("Open", "Ctrl+O")) { /* Handle Open */ } if (ImGui::MenuItem("Save", "Ctrl+S")) { /* Handle Save */ } ImGui::EndMenu(); } ImGui::EndMainMenuBar(); } ImGuiIO& io = ImGui::GetIO(); float menuBarHeight = ImGui::GetFrameHeight(); float statusBarHeight = 26.0f; ImGui::SetNextWindowPos(ImVec2(0, menuBarHeight)); ImGui::SetNextWindowSize(ImVec2(io.DisplaySize.x, io.DisplaySize.y - menuBarHeight - statusBarHeight)); ImGui::Begin("AccountingMainWindow", nullptr, ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoCollapse); ImGui::AlignTextToFramePadding(); const char* names[3] = { "Incoming", "Outgoing", "Contacts" }; void (*drawcalls[3])(void) = { show_contacts, show_contacts, show_contacts }; if (ImGui::BeginTabBar("mainNavigationTabBar", 0)) { for (int n = 0; n < IM_ARRAYSIZE(names); n++) if (ImGui::BeginTabItem(names[n], 0, ImGuiTabItemFlags_None)) { ImGui::Spacing(); drawcalls[n](); ImGui::EndTabItem(); } ImGui::EndTabBar(); } ImGui::End(); // Status bar. ImGui::SetNextWindowPos(ImVec2(0, io.DisplaySize.y - statusBarHeight)); ImGui::SetNextWindowSize(ImVec2(io.DisplaySize.x, statusBarHeight)); ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, ImVec2(10, 3)); ImGui::Begin("StatusBar", nullptr, ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoSavedSettings | ImGuiWindowFlags_NoBringToFrontOnFocus | ImGuiWindowFlags_NoCollapse); ImGui::Text("Working on: []"); ImGui::SameLine(); ImGui::Text("Status: []"); ImGui::End(); ImGui::PopStyleVar(); }