EchoMap 2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
Loading...
Searching...
No Matches
MenuPanel.cpp
1//
2// Created by owd on 25/06/2026.
3//
4
5#include "MenuPanel.hpp"
6
7#include <imgui.h>
8
10
11namespace echomap
12{
13
14void MenuPanel::draw() noexcept
15{
16 if (ImGui::BeginMainMenuBar()) {
17 if (ImGui::BeginMenu("File")) {
18 ImGui::MenuItem("New Project");
19 if (ImGui::BeginMenu("Open Project")) {
20
21
22 if (ImGui::MenuItem("... from filesystem"))
24
25 if (ImGui::BeginMenu("... from example repository")) {
26 ImGui::MenuItem("Example 1", nullptr, false, false);
27 ImGui::MenuItem("Example 2", nullptr, false, false);
28 ImGui::MenuItem("Example 3", nullptr, false, false);
29 ImGui::EndMenu();
30 }
31 ImGui::EndMenu();
32 }
33 ImGui::MenuItem("Export Project", nullptr, false, false);
34
35 ImGui::Separator();
36 ImGui::MenuItem("Import Signal", nullptr, false, false);
37 ImGui::MenuItem("Import Sensor Metadata", nullptr, false, false);
38
39 ImGui::EndMenu();
40 }
41
42 if (ImGui::BeginMenu("Control")) {
43 ImGui::MenuItem("Start localisation", nullptr, false, false);
44 ImGui::MenuItem("Stop localisation", nullptr, false, false);
45
46 ImGui::Separator();
47 ImGui::MenuItem("Configure Algorithm Parameters");
48 ImGui::EndMenu();
49 }
50
51 if (ImGui::BeginMenu("Help")) {
52 ImGui::MenuItem("Application Logs");
53 ImGui::MenuItem("Platform Information");
54 ImGui::MenuItem("About");
55 ImGui::EndMenu();
56 }
57
58 ImGui::EndMainMenuBar();
59 }
60}
61
62const char* MenuPanel::get_imgui_name() const noexcept
63{
64 return panel_name.c_str();
65}
66
68 const Project* const new_project
69)
70{
71 std::ignore = new_project;
72}
73
74} // namespace echomap
ActionController specification.
const char * get_imgui_name() const noexcept override
Retrieves the name of the IPanel for Dear ImGui API functions.
Definition MenuPanel.cpp:62
void draw() noexcept override
Draw the panel to the active rendering context.
Definition MenuPanel.cpp:14
void change_active_project(const Project *new_project) override
Updates the active Project being described by the IPanel.
Definition MenuPanel.cpp:67
The main EchoMap outermost namespace for all non-exported symbols.