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

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);