コード例 #1
0
ファイル: RSession.cs プロジェクト: nomada2/RTVS
        /// <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);
        }
コード例 #2
0
        /// <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);
        }