2016-04-28 23:16:03 +00:00
|
|
|
#ifndef __SKIZZLE_MODAL_HPP__
|
|
|
|
#define __SKIZZLE_MODAL_HPP__
|
|
|
|
|
|
|
|
#include <SFGUI/Widgets.hpp>
|
|
|
|
#include <SFML/Graphics.hpp>
|
|
|
|
#include <functional>
|
|
|
|
|
|
|
|
/**
|
2016-04-29 00:50:56 +00:00
|
|
|
* Classe pour les dialogues d'information du jeu
|
2016-04-28 23:16:03 +00:00
|
|
|
*/
|
|
|
|
class Modal {
|
|
|
|
protected:
|
2016-04-29 00:50:56 +00:00
|
|
|
sfg::Window::Ptr modal_window;
|
2016-04-28 23:16:03 +00:00
|
|
|
|
|
|
|
sfg::Box::Ptr layout_box;
|
|
|
|
sfg::Box::Ptr buttons_box;
|
|
|
|
|
|
|
|
sfg::Label::Ptr title_label;
|
|
|
|
sfg::Label::Ptr subtitle_label;
|
|
|
|
|
|
|
|
public:
|
|
|
|
Modal();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Récupère la fenêtre de la modale
|
|
|
|
*/
|
|
|
|
sfg::Window::Ptr getWindow();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Récupère la boîte de layout interne de la modale
|
|
|
|
*/
|
|
|
|
sfg::Box::Ptr getLayoutBox();
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Ajoute un nouveau bouton à la modale
|
|
|
|
*/
|
|
|
|
sfg::Button::Ptr addButton(
|
|
|
|
sf::String label,
|
|
|
|
std::function<void()> callback = std::function<void()>()
|
|
|
|
);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Modifie le titre de la modale
|
|
|
|
*/
|
|
|
|
void setTitle(sf::String label);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Modifie le sous-titre de la modale
|
|
|
|
*/
|
|
|
|
void setSubtitle(sf::String label);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Redimensionne la modale pour qu'elle prenne tout l'espace donné
|
|
|
|
*/
|
|
|
|
void resize(sf::Vector2u size);
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|