//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//
// UserWin satellite library | Author: Sergei Y.Kitáev
//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
using System;
using System.Threading.Tasks;

using System.Windows;

using CommonHelpers;

namespace UserWin {

//**************************************************************************************************
partial class UXMessageBox {
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

public static async Task<bool> YesNoDialog( string text )
{
   return await YesNoDialog( (Window)null, text );
}

//--------------------------------------------------------------------------------------------------

public static async Task<bool> YesNoDialog( [HOptional] Window owner, string text )
{
   return await YesNoDialog( owner, text, null );
}

//==================================================================================================

public static async Task<bool> YesNoDialog( string text, [HOptional] string caption )
{
   return await YesNoDialog( (UXShowMessageExtraInfo)null, text, caption );
}

public static async Task<bool> YesNoDialog(
   string text, [HOptional] string caption, bool defaultYesButton )
{
   return await YesNoDialog( (UXShowMessageExtraInfo)null, text, caption, defaultYesButton );
}

//--------------------------------------------------------------------------------------------------

public static async Task<bool> YesNoDialog(
   [HOptional] Window owner, string text, [HOptional] string caption )
{
   return await YesNoDialog( (UXShowMessageExtraInfo)null, owner, text, caption );
}

public static async Task<bool> YesNoDialog(
   [HOptional] Window owner, string text,
   [HOptional] string caption, bool defaultYesButton )
{
   return await YesNoDialog( (UXShowMessageExtraInfo)null, owner, text, caption, defaultYesButton );
}

//==================================================================================================

public static async Task<bool> YesNoDialog(
   string text, [HOptional] string caption, MessageBoxImage icon )
{
   return await YesNoDialog( (UXShowMessageExtraInfo)null, text, caption, icon );
}

public static async Task<bool> YesNoDialog(
   string text, [HOptional] string caption,
   MessageBoxImage icon, bool defaultYesButton )
{
   return await YesNoDialog( (UXShowMessageExtraInfo)null, text, caption, icon, defaultYesButton );
}

//--------------------------------------------------------------------------------------------------

public static async Task<bool> YesNoDialog(
   [HOptional] Window owner, string text, [HOptional] string caption,
   MessageBoxImage icon )
{
   return await YesNoDialog( (UXShowMessageExtraInfo)null, owner, text, caption, icon );
}

public static async Task<bool> YesNoDialog(
   [HOptional] Window owner, string text, [HOptional] string caption,
   MessageBoxImage icon, bool defaultYesButton )
{
   return await YesNoDialog( (UXShowMessageExtraInfo)null,
      owner, text, caption, icon, defaultYesButton );
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
} // UXMessageBox
//**************************************************************************************************

} // UserWin
