1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-27 02:20:05 +00:00

Add MessageBoxOptions class for specifying a set of AlertWindow and NativeMessageBox options

- Add AlertWindow::show() and showAsync() methods that take a MessageBoxOptions argument
  - Add NativeMessageBox::show() and showAsync() methods that take a MessageBoxOptions argument
  - Update the DialogsDemo to demonstrate the new methods
  - Deprecate AlertWindow::showNativeDialogBox() in favour of the NativeMessageBox methods
  - Pass button strings specified in MesssageBoxOptions to native dialog boxes correctly
  - Use modern TaskDialog on Windows for the native dialog box where available
This commit is contained in:
ed 2021-07-21 16:34:12 +01:00
parent 89ca17cf34
commit 551d7b9c5b
54 changed files with 1357 additions and 595 deletions

View file

@ -289,25 +289,4 @@ int ModalComponentManager::runEventLoopForCurrentComponent()
}
#endif
//==============================================================================
struct LambdaCallback : public ModalComponentManager::Callback
{
LambdaCallback (std::function<void (int)> fn) noexcept : function (fn) {}
void modalStateFinished (int result) override
{
if (function != nullptr)
function (result);
}
std::function<void (int)> function;
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (LambdaCallback)
};
ModalComponentManager::Callback* ModalCallbackFunction::create (std::function<void (int)> f)
{
return new LambdaCallback (f);
}
} // namespace juce