F.E.I.S/Notification.h
Stepland 8d44098063 - Tab selection in linear view
- Cut/Copy/Paste selected notes
- LN displayed correctly in the Linear View
- bunch of other small stuff
2019-03-27 20:37:30 +01:00

59 lines
1.3 KiB
C++

//
// Created by Syméon on 02/03/2019.
//
#ifndef FEIS_NOTIFICATION_H
#define FEIS_NOTIFICATION_H
#include <string>
#include "HistoryActions.h"
/*
* 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 ActionWithMessage& awm) : message(awm.getMessage()) {};
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 ActionWithMessage& awm) : message(awm.getMessage()) {};
void display() const override;
const std::string message;
};
#endif //FEIS_NOTIFICATION_H