skizzle/include/gui/action_toolbar.hpp

56 lines
1.1 KiB
C++

#ifndef __SKIZZLE_ACTION_TOOLBAR_HPP__
#define __SKIZZLE_ACTION_TOOLBAR_HPP__
#include <SFGUI/Widgets.hpp>
#include <SFML/Graphics.hpp>
#include "../objects/object.hpp"
#include "../utility.hpp"
/**
* Barre d'outils pour les boutons d'actions en jeu
*/
class ActionToolbar {
private:
// widgets de la barre
sfg::Window::Ptr toolbar_window;
sfg::Box::Ptr toolbar_box;
sfg::Label::Ptr timer_label;
int left_buttons_count;
int time;
public:
ActionToolbar();
/**
* Ajoute un nouveau bouton d'action à gauche ou
* à droite de la barre d'action d'outils
*/
sfg::Button::Ptr addButton(
std::string name, Utility::Direction direction,
int position, std::function<void()> callback = std::function<void()>()
);
/**
* Récupère la fenêtre de la barre d'outils
*/
sfg::Window::Ptr getWindow();
/**
* Récupère la taille désirée par la barre d'outils
*/
float getHeight();
/**
* Récupère le temps restant
*/
int getTime();
/**
* Modifie le temps restant
*/
void setTime(int set_time);
};
#endif