This repository has been archived on 2023-11-03. You can view files and clone it, but cannot push or open issues or pull requests.
GINPA/Controleur/tinyFileDialogsCalls.h
HorlogeSkynet 4006cf2f6a Libérations mémoire oubliées
Déplacement fonction Contrôleur -> Modèle #towardsRealMVC
Prémisse Contrôleur mode fichiers multiples
Amélioration API sélection fichiers par TFD
Déplacement fonction Vue -> Modèle #towardsRealMVC
Amélioration gestion du menu de GINPA
Affiche si un fichier a été sélectionné par l'utilisateur
2017-02-04 23:51:38 +01:00

72 lines
3.0 KiB
C

#pragma once
#include "../Headers/structures.h"
#include "../Vue/tinyFileDialogs.h"
#include "../Vue/affichage.h"
/**
* @brief Renvoie le chemin ABSOLU vers le fichier dans lequel l'utilisateur veut enregistrer les données.
*
* /!\ Cas à gérer OBLIGATOIREMENT: Le retour vaut `NULL`, l'utilisateur a fermé la boîte de dialogue !
*
* @param window La fenêtre que l'on va remplacer par un pop-up momentanément !
* @param renderSprite Le sprite a ré-afficher sur la fenêtre une fois ramenée à la vie.
* @return Chaîne de caractères (ou `NULL` si pas de chemin).
*/
const char* chooseSavingFile(sfRenderWindow *const window, const sfSprite *const renderSprite);
/**
* @brief Renvoie le chemin ABSOLU vers les fichiers de données que l'utilisateur souhaite ouvrir.
*
* /!\ Cas à gérer OBLIGATOIREMENT: Le retour vaut `NULL`, l'utilisateur a fermé la boîte de dialogue !
*
* @param window La fenêtre que l'on va remplacer par un pop-up momentanément !
* @param renderSprite Le sprite a ré-afficher sur la fenêtre une fois ramenée à la vie.
* @param multipleFilesAllowed Si oui ou non on autorise la sélection multiple de fichiers !
* @return Chaîne de caractères (ou `NULL` si pas de chemin).
*/
const char* chooseFilesToOpen(sfRenderWindow *const window, const sfSprite *const renderSprite, const bool multipleFilesAllowed);
/**
* @brief Retourne la réponse d'une utilisateur à une question par "message box".
*
* @param window La fenêtre que l'on va remplacer par un pop-up momentanément !
* @param renderSprite Le sprite a ré-afficher sur la fenêtre une fois ramenée à la vie.
* @param La question à poser à l'utilisateur.
* @return Booléen.
*/
bool questionBox(sfRenderWindow *const window, const sfSprite *const renderSprite, const char *const message);
/**
* @brief Affiche un message à l'utilisateur avec une "message box".
*
* @param window La fenêtre que l'on va remplacer par un pop-up momentanément !
* @param renderSprite Le sprite a ré-afficher sur la fenêtre une fois ramenée à la vie.
* @param L'information à transmettre à l'utilisateur.
* @return Procédure.
*/
void messageBox(sfRenderWindow *const window, const sfSprite *const renderSprite, const char *const message);
/**
* @brief Affiche un warning à l'utilisateur avec une "message box".
*
* @param window La fenêtre que l'on va remplacer par un pop-up momentanément !
* @param renderSprite Le sprite a ré-afficher sur la fenêtre une fois ramenée à la vie.
* @param Le warning à transmettre à l'utilisateur.
* @return Procédure.
*/
void warningBox(sfRenderWindow *const window, const sfSprite *const renderSprite, const char *const message);
/**
* @brief Affiche une erreur à l'utilisateur avec une "message box".
*
* /!\ Attention: Cette fonction n'est à utiliser qu'en cas d'erreur critique sur le logiciel !
*
* @param window La fenêtre que l'on va remplacer par un pop-up momentanément !
* @param L'erreur à transmettre à l'utilisateur.
* @return Procédure.
*/
void errorBox(sfRenderWindow *const window, const char *const message);