EchoMap
2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
Toggle main menu visibility
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
9
#include "
../actions/ActionController.hpp
"
10
11
namespace
echomap
12
{
13
14
void
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"
))
23
ActionController::select_project_file
();
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
62
const
char
*
MenuPanel::get_imgui_name
() const noexcept
63
{
64
return
panel_name.c_str();
65
}
66
67
void
MenuPanel::change_active_project
(
68
const
Project
*
const
new_project
69
)
70
{
71
std::ignore = new_project;
72
}
73
74
}
// namespace echomap
ActionController.hpp
ActionController specification.
echomap::MenuPanel::get_imgui_name
const char * get_imgui_name() const noexcept override
Retrieves the name of the IPanel for Dear ImGui API functions.
Definition
MenuPanel.cpp:62
echomap::MenuPanel::draw
void draw() noexcept override
Draw the panel to the active rendering context.
Definition
MenuPanel.cpp:14
echomap::MenuPanel::change_active_project
void change_active_project(const Project *new_project) override
Updates the active Project being described by the IPanel.
Definition
MenuPanel.cpp:67
echomap::Project
Definition
Project.hpp:26
echomap::ActionControllerBase< JSActionController >::select_project_file
static void select_project_file()
Definition
ActionControllerBase.hpp:93
echomap
The main EchoMap outermost namespace for all non-exported symbols.
Definition
ActionController.hpp:20
src
panels
MenuPanel.cpp
Generated by
1.17.0