| 12345678910111213141516171819202122232425262728293031 |
- #pragma once
- #include "lumacs/ui_interface.hpp"
- #include <string>
- namespace lumacs {
- /// @brief Message severity levels for different types of feedback
- enum class MessageSeverity {
- Info, ///< Normal informational message (3-second timeout)
- Warning, ///< Warning message (5-second timeout, yellow)
- Error, ///< Error message (no auto-clear, red)
- Debug ///< Debug message (logged only, not displayed)
- };
- /// @brief Interface for components that need to notify the editor of events or messages.
- class IEditorNotifier {
- public:
- virtual ~IEditorNotifier() = default;
- /// @brief Emit a system-wide editor event.
- /// @param event The event to broadcast.
- virtual void emit_event(EditorEvent event) = 0;
- /// @brief Display a message to the user.
- /// @param message The message string.
- /// @param severity The severity level (default: Info).
- virtual void set_message(std::string message, MessageSeverity severity = MessageSeverity::Info) = 0;
- };
- } // namespace lumacs
|