From 32c63c9429ada74b16ae733e7461d7f4c8456f90 Mon Sep 17 00:00:00 2001 From: Chris Danford Date: Fri, 4 Jul 2003 22:45:53 +0000 Subject: [PATCH] add MessageBox to ArchHooks to get rid of WIN32 #ifdefs --- stepmania/src/arch/ArchHooks/ArchHooks.h | 5 +++++ stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp | 16 ++++++++++++++++ stepmania/src/arch/ArchHooks/ArchHooks_Win32.h | 2 ++ 3 files changed, 23 insertions(+) diff --git a/stepmania/src/arch/ArchHooks/ArchHooks.h b/stepmania/src/arch/ArchHooks/ArchHooks.h index 0238d4cfc4..a0a829d81a 100644 --- a/stepmania/src/arch/ArchHooks/ArchHooks.h +++ b/stepmania/src/arch/ArchHooks/ArchHooks.h @@ -28,6 +28,11 @@ public: * and we can safely log and throw. */ virtual void DumpDebugInfo() { } + /* Message box stuff. Not supported on all archs. */ + enum MessageBoxResult { abort, retry, ignore }; + virtual void MessageBoxOK( CString sMessage ) {} + virtual MessageBoxResult MessageBoxAbortRetryIgnore( CString sMessage ) { return ignore; } + virtual ~ArchHooks() { } }; diff --git a/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp b/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp index 2b08909590..3c0a5facbf 100644 --- a/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp +++ b/stepmania/src/arch/ArchHooks/ArchHooks_Win32.cpp @@ -34,6 +34,22 @@ void ArchHooks_Win32::DumpDebugInfo() SearchForDebugInfo(); } +void ArchHooks_Win32::MessageBoxOK( CString sMessage ) +{ + MessageBox(NULL, sMessage, "StepMania", MB_OK ); +} + +ArchHooks::MessageBoxResult ArchHooks_Win32::MessageBoxAbortRetryIgnore( CString sMessage ) +{ + switch( MessageBox(NULL, sMessage, "StepMania", MB_ABORTRETRYIGNORE ) ) + { + case IDABORT: return abort; + case IDRETRY: return retry; + default: ASSERT(0); + case IDIGNORE: return ignore; + } +} + /* * Copyright (c) 2002-2003 by the person(s) listed below. All rights reserved. * diff --git a/stepmania/src/arch/ArchHooks/ArchHooks_Win32.h b/stepmania/src/arch/ArchHooks/ArchHooks_Win32.h index 6182376893..a9d9d1f546 100644 --- a/stepmania/src/arch/ArchHooks/ArchHooks_Win32.h +++ b/stepmania/src/arch/ArchHooks/ArchHooks_Win32.h @@ -9,6 +9,8 @@ public: void Log(CString str, bool important); void DumpDebugInfo(); void AdditionalLog(CString str); + void MessageBoxOK( CString sMessage ); + MessageBoxResult MessageBoxAbortRetryIgnore( CString sMessage ); }; #undef ARCH_HOOKS