diff options
| author | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-08-03 19:22:36 +0200 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-08-03 19:22:36 +0200 |
| commit | 853bbb3752a5fa2f58ef456ffb6e3a552e13cb11 (patch) | |
| tree | ce49a533f82a42a65fa6a4771a7b8fbfe33798cf /src/views/dashboard.cpp | |
initial commit
Diffstat (limited to 'src/views/dashboard.cpp')
| -rw-r--r-- | src/views/dashboard.cpp | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/views/dashboard.cpp b/src/views/dashboard.cpp new file mode 100644 index 0000000..16d31c4 --- /dev/null +++ b/src/views/dashboard.cpp @@ -0,0 +1,65 @@ +#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(); +}
\ No newline at end of file |
