mirror of
https://gitlab.com/square-game-liberation-front/F.E.I.S.git
synced 2024-11-14 19:17:43 +01:00
be7219ad3d
IIIIIT COMPIIIIIIILES
57 lines
1.2 KiB
C++
57 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <string>
|
|
|
|
#include "history_item.hpp"
|
|
|
|
/*
|
|
* The display function should call ImGui primitives to display arbitrary stuff
|
|
* in the notifications queue
|
|
*/
|
|
class Notification {
|
|
public:
|
|
virtual void display() const = 0;
|
|
|
|
virtual ~Notification() = default;
|
|
};
|
|
|
|
/*
|
|
* Displays the string given to the constructor
|
|
*/
|
|
class TextNotification : public Notification {
|
|
public:
|
|
explicit TextNotification(const std::string& message);
|
|
|
|
void display() const override;
|
|
|
|
const std::string message;
|
|
};
|
|
|
|
/*
|
|
* Displays "Undo" in orange followed by the message associated with the action
|
|
* passed to the constructor
|
|
*/
|
|
class UndoNotification : public Notification {
|
|
public:
|
|
explicit UndoNotification(const HistoryItem& awm) :
|
|
message(awm.get_message()) {};
|
|
|
|
void display() const override;
|
|
|
|
const std::string message;
|
|
};
|
|
|
|
/*
|
|
* Displays "Redo" in blue followed by the message associated with the action
|
|
* passed to the constructor
|
|
*/
|
|
class RedoNotification : public Notification {
|
|
public:
|
|
explicit RedoNotification(const HistoryItem& awm) :
|
|
message(awm.get_message()) {};
|
|
|
|
void display() const override;
|
|
|
|
const std::string message;
|
|
};
|