diff options
| author | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-10-12 13:14:11 +0200 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrikboy@gmail.com> | 2025-10-12 13:14:11 +0200 |
| commit | b6990df3d783da0a09e8b6a825d9ebeb7314466a (patch) | |
| tree | c9a858fcacd3c24b05a6a5d9da00e6a28e16dcc3 /src/ui/imgui_extensions.cpp | |
| parent | 955af14f6664574df1ff47e073e39f8d48d6355a (diff) | |
mark invalid invoices, projects, contacts in ui
Diffstat (limited to 'src/ui/imgui_extensions.cpp')
| -rw-r--r-- | src/ui/imgui_extensions.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/ui/imgui_extensions.cpp b/src/ui/imgui_extensions.cpp index ee0bebb..0bfd5c8 100644 --- a/src/ui/imgui_extensions.cpp +++ b/src/ui/imgui_extensions.cpp @@ -470,4 +470,40 @@ namespace ImGui ImGui::EndCombo(); } } + + bool DrawWarningIcon(float radius) + { + ImGui::SameLine(); + + ImVec2 cursor_pos = ImGui::GetCursorScreenPos(); + ImVec2 center = ImVec2(cursor_pos.x + radius, cursor_pos.y + radius + 4); + + ImGui::PushID((int)center.y); + ImDrawList* draw_list = ImGui::GetWindowDrawList(); + + // Draw red circle + draw_list->AddCircleFilled(center, radius, IM_COL32(255, 0, 0, 255)); + + // Draw exclamation mark + float line_height = radius * 0.9f; + float line_thickness = radius * 0.3f; + float dot_radius = radius * 0.2f; + + ImVec2 line_start(center.x - line_thickness/3.0f, center.y - line_height * 0.7f); + ImVec2 line_end(center.x - line_thickness/3.0f, center.y + line_height * 0.1f); + + // Vertical bar + draw_list->AddLine(line_start, line_end, IM_COL32(255, 255, 255, 255), line_thickness); + + // Bottom dot + draw_list->AddCircleFilled(ImVec2(center.x - dot_radius/3.0f, center.y + line_height * 0.55f), dot_radius, IM_COL32(255, 255, 255, 255)); + + ImGui::SetCursorScreenPos(ImVec2(center.x - radius, center.y - radius)); + ImGui::InvisibleButton("##warning_icon", ImVec2(radius * 2, radius * 2)); + ImGui::PopID(); + if (ImGui::IsItemHovered()) { + return true; + } + return false; + } }
\ No newline at end of file |
