[Change] Bringing dialogue stuff inline with rest of toolkit changes.
This commit is contained in:
parent
66e1be552e
commit
4503785b1a
@ -29,19 +29,17 @@ extern void main_loop(void); /* From lephisto.c */
|
||||
|
||||
/* Dialogues. */
|
||||
static glFont* dialogue_getSize(char* msg, int* w, int* h);
|
||||
static void dialogue_alertClose(char* str);
|
||||
static void dialogue_msgClose(char* str);
|
||||
static void dialogue_YesNoClose(char* str);
|
||||
static void dialogue_inputClose(char* str);
|
||||
static void dialogue_inputCancel(char* str);
|
||||
static void dialogue_alertClose(unsigned int wid, char* str);
|
||||
static void dialogue_msgClose(unsigned int wid, char* str);
|
||||
static void dialogue_YesNoClose(unsigned int wid, char* str);
|
||||
static void dialogue_inputClose(unsigned int wid, char* str);
|
||||
static void dialogue_inputCancel(unsigned int wid, char* str);
|
||||
|
||||
/* Secondary loop hack. */
|
||||
static int loop_done; /**< Used to indicate the secondary loop is finished. */
|
||||
static int toolkit_loop(void);
|
||||
|
||||
/**
|
||||
* @fn void dialogue_alert(const char* fmt, ...)
|
||||
*
|
||||
* @brief Display an alert popup with only an ok button and a message.
|
||||
* @param fmt Printf stype message to display.
|
||||
*/
|
||||
@ -51,8 +49,6 @@ void dialogue_alert(const char* fmt, ...) {
|
||||
unsigned int wdw;
|
||||
int h;
|
||||
|
||||
if(window_exists("Warning")) return;
|
||||
|
||||
if(fmt == NULL) return;
|
||||
else { /* Get the message. */
|
||||
va_start(ap, fmt);
|
||||
@ -70,15 +66,12 @@ void dialogue_alert(const char* fmt, ...) {
|
||||
}
|
||||
|
||||
/**
|
||||
* @fn static void dialogue_alertClose(char* str)
|
||||
*
|
||||
* @brief Closes the alert dialogue.
|
||||
* @param str Unused.
|
||||
*/
|
||||
static void dialogue_alertClose(char* str) {
|
||||
static void dialogue_alertClose(unsigned int wid, char* str) {
|
||||
(void)str;
|
||||
if(window_exists("Warning"))
|
||||
window_destroy(window_get("Warning"));
|
||||
window_destroy(wid);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -104,10 +97,7 @@ static glFont* dialogue_getSize(char* msg, int* w, int* h) {
|
||||
return font;
|
||||
}
|
||||
|
||||
static unsigned int msg_wid = 0; /**< Stores the message window id. */
|
||||
/**
|
||||
* @fn void dialogue_msg(char* caption, const char* fmt, ...)
|
||||
*
|
||||
* @brief Open a dialogue window with an OK button and a message.
|
||||
* @param caption Window title.
|
||||
* @param fmt Printf syle message to display.
|
||||
@ -118,7 +108,7 @@ void dialogue_msg(char* caption, const char* fmt, ...) {
|
||||
int w, h;
|
||||
glFont* font;
|
||||
|
||||
if(msg_wid) return;
|
||||
unsigned int msg_wid;
|
||||
|
||||
if(fmt == NULL) return;
|
||||
else {
|
||||
@ -140,10 +130,9 @@ void dialogue_msg(char* caption, const char* fmt, ...) {
|
||||
toolkit_loop();
|
||||
}
|
||||
|
||||
static void dialogue_msgClose(char* str) {
|
||||
static void dialogue_msgClose(unsigned int wid, char* str) {
|
||||
(void)str;
|
||||
window_destroy(msg_wid);
|
||||
msg_wid = 0;
|
||||
window_destroy(wid);
|
||||
loop_done = 1;
|
||||
}
|
||||
|
||||
@ -188,13 +177,13 @@ int dialogue_YesNo(char* caption, const char* fmt, ...) {
|
||||
return yesno_result;
|
||||
}
|
||||
|
||||
static void dialogue_YesNoClose(char* str) {
|
||||
static void dialogue_YesNoClose(unsigned int wid, char* str) {
|
||||
/* Store the result. */
|
||||
if(strcmp(str, "btnYes")==0) yesno_result = 1;
|
||||
else if(strcmp(str, "btnNo")==0) yesno_result = 0;
|
||||
|
||||
/* Destroy the window. */
|
||||
window_destroy(yesno_wid);
|
||||
window_destroy(wid);
|
||||
yesno_wid = 0;
|
||||
|
||||
loop_done = 1;
|
||||
@ -265,16 +254,17 @@ char* dialogue_input(char* title, int min, int max, const char* fmt, ...) {
|
||||
return input;
|
||||
}
|
||||
|
||||
static void dialogue_inputClose(char* str) {
|
||||
static void dialogue_inputClose(unsigned int wid, char* str) {
|
||||
(void)str;
|
||||
(void)wid;
|
||||
|
||||
/* Break the loop. */
|
||||
loop_done = 1;
|
||||
}
|
||||
|
||||
static void dialogue_inputCancel(char* str) {
|
||||
static void dialogue_inputCancel(unsigned int wid, char* str) {
|
||||
input_cancelled = 1;
|
||||
dialogue_inputClose(str);
|
||||
dialogue_inputClose(wid, str);
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user