EchoMap 2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
Loading...
Searching...
No Matches
ProjectPanel.hpp
1//
2// Created by owd on 25/06/2026.
3//
4
5#ifndef ECHOMAP_PROJECTPANEL_HPP
6#define ECHOMAP_PROJECTPANEL_HPP
7
8#include <sigc++/scoped_connection.h>
9
10#include <string>
11
12#include "IProjectPanel.hpp"
13
14namespace echomap
15{
16
18
19class ProjectPanel final : public IProjectPanel
20{
21public:
27 explicit ProjectPanel(const Project* initial_project = nullptr);
28
29 void draw() noexcept override;
30
31 [[nodiscard]] const char* get_imgui_name() const noexcept override;
32
33 void change_active_project(const Project* new_project) override;
34
35 static const char* get_imgui_stable_name() noexcept;
36
37private:
38 std::string panel_name;
39
40 const Project* active_project = nullptr;
42};
43
44} // namespace echomap
45
46#endif // ECHOMAP_PROJECTPANEL_HPP
IProjectPanel specification.
An IPanel which can receive updates to the application-wide active Project.
void draw() noexcept override
Draw the panel to the active rendering context.
void change_active_project(const Project *new_project) override
Updates the active Project being described by the IPanel.
const char * get_imgui_name() const noexcept override
Retrieves the name of the IPanel for Dear ImGui API functions.
ProjectPanel(const Project *initial_project=nullptr)
Create a new ProjectPanel to display Project metadata.
Manages channels for WorkerResult message routing.
The main EchoMap outermost namespace for all non-exported symbols.