From 5e5e507121d28ede384273811808cc948c2ff1f6 Mon Sep 17 00:00:00 2001 From: John Peterson Date: Sun, 28 Dec 2008 18:50:24 +0000 Subject: nJoy: Enabled keyboard input (only for buttons so far) through wxWidgets in the main application. It only works when you render to the main window. git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1706 8ced0084-cf51-0410-be5f-012b33b47a6e --- Source/Core/Common/Src/MsgHandler.cpp | 90 +++++++++++++++++++++-------------- 1 file changed, 54 insertions(+), 36 deletions(-) (limited to 'Source/Core/Common/Src/MsgHandler.cpp') diff --git a/Source/Core/Common/Src/MsgHandler.cpp b/Source/Core/Common/Src/MsgHandler.cpp index c3a9cae59d..fdb8ad97b2 100644 --- a/Source/Core/Common/Src/MsgHandler.cpp +++ b/Source/Core/Common/Src/MsgHandler.cpp @@ -15,53 +15,71 @@ // Official SVN repository and contact information can be found at // http://code.google.com/p/dolphin-emu/ -#include -#include "Common.h" -#include "StringUtil.h" +////////////////////////////////////////////////////////////////////////////////////// +// Include and declarations +// ŻŻŻŻŻŻŻŻŻ +#include // System -bool DefaultMsgHandler(const char* caption, const char* text, bool yes_no); +#include "Common.h" // Local +#include "StringUtil.h" +bool DefaultMsgHandler(const char* caption, const char* text, bool yes_no, int Style); static MsgAlertHandler msg_handler = DefaultMsgHandler; +///////////////////////////// + +/* Select which of these functions that are used for message boxes. If wxWidgets is enabled + we will use wxMsgAlert() that is defined in main.cpp */ void RegisterMsgAlertHandler(MsgAlertHandler handler) { - msg_handler = handler; + msg_handler = handler; } -bool MsgAlert(const char* caption, bool yes_no, const char* format, ...) -{ - char buffer[2048]; - va_list args; - bool ret = false; - - va_start(args, format); - CharArrayFromFormatV(buffer, 2048, format, args); - - LOG(MASTER_LOG, "%s: %s", caption, buffer); - - if (msg_handler) - { - ret = msg_handler(caption, buffer, yes_no); - } - - va_end(args); - return ret; +///////////////////////////////////////////////////////////// +/* This is the first stop for messages where the log is updated and the correct windows + is shown */ +// ŻŻŻŻŻŻŻŻŻ +bool MsgAlert(const char* caption, bool yes_no, int Style, const char* format, ...) +{ + // --------------------------------- + // Read message and write it to the log + // ----------- + char buffer[2048]; + va_list args; + bool ret = false; + + va_start(args, format); + CharArrayFromFormatV(buffer, 2048, format, args); + + LOG(MASTER_LOG, "%s: %s", caption, buffer); + // ----------- + + if (msg_handler) { + ret = msg_handler(caption, buffer, yes_no, Style); + } + + va_end(args); + return ret; } -bool DefaultMsgHandler(const char* caption, const char* text, bool yes_no) +///////////////////////////////////////////////////////////// +/* This is used in the No-GUI build */ +// ŻŻŻŻŻŻŻŻŻ +bool DefaultMsgHandler(const char* caption, const char* text, bool yes_no, int Style) { -#ifdef _WIN32 - if (yes_no) - return IDYES == MessageBox(0, text, caption, - MB_ICONQUESTION | MB_YESNO); - else { - MessageBox(0, text, caption, MB_ICONWARNING); - return true; - } -#else - printf("%s\n", text); - return true; -#endif + #ifdef _WIN32 + if (yes_no) + // Return true for IDYES + return IDYES == MessageBox(0, "Why is there no icon", caption, + MB_ICONQUESTION | MB_YESNO); + else { + MessageBox(0, text, caption, MB_ICONWARNING); + return true; + } + #else + printf("%s\n", text); + return true; + #endif } -- cgit v1.2.3