/// <summary> /// Called when R wants to display generic Windows MessageBox. /// Graph app may call Win32 API directly rather than going via R API callbacks. /// </summary> /// <returns>Pressed button code</returns> async Task <MessageButtons> IRCallbacks.ShowDialog(IReadOnlyList <IRContext> contexts, string s, MessageButtons buttons, CancellationToken ct) { await TaskUtilities.SwitchToBackgroundThread(); await EvaluateAll(contexts, true, ct); if (_hostClientApp != null) { return(await _hostClientApp.ShowMessage(s, buttons)); } return(MessageButtons.OK); }
/// <summary> /// Called when R wants to display generic Windows MessageBox. /// Graph app may call Win32 API directly rather than going via R API callbacks. /// </summary> /// <returns>Pressed button code</returns> async Task <MessageButtons> IRCallbacks.ShowDialog(IReadOnlyList <IRContext> contexts, string s, bool isEvaluationAllowed, MessageButtons buttons, CancellationToken ct) { await TaskUtilities.SwitchToBackgroundThread(); if (isEvaluationAllowed) { await EvaluateAll(contexts, true, ct); } else { Mutated?.Invoke(this, EventArgs.Empty); } if (_hostClientApp != null) { return(await _hostClientApp.ShowMessage(s, buttons)); } return(MessageButtons.OK); }