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

namespace CommonHelpers {

//**************************************************************************************************
partial class HConsole {
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

/// <exception cref="InvalidOperationException" />
/// <exception cref="HAbortConsoleInputException" />
public int PerformDialog(string caption,string[] actions,ConsoleKey[] keyArray)
{
   return PerformDialog(false,caption,actions,keyArray);
}

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

/// <exception cref="InvalidOperationException" />
/// <exception cref="HAbortConsoleInputException" />
public int PerformDialog( string caption, string[] actions,
                          ConsoleKey[] keyArray, [HOptional] string cancelAction )
{
   return PerformDialog(false,caption,actions,keyArray,cancelAction);
}

/// <exception cref="InvalidOperationException" />
/// <exception cref="HAbortConsoleInputException" />
public int PerformDialog( string caption, string[] actions, ConsoleKey[] keyArray,
                          [HOptional] ConsoleKey cancelKey, [HOptional] string cancelAction )
{
   return PerformDialog(false,caption,actions,keyArray,cancelAction,cancelKey);
}

/// <exception cref="InvalidOperationException" />
/// <exception cref="HAbortConsoleInputException" />
public int PerformDialog( bool insertBlankLine, string caption,
                          string[] actions, ConsoleKey[] keyArray,
                          [HOptional] ConsoleKey cancelKey,
                          [HOptional] ConsoleModifiers cancelModifiers,
                          [HOptional] string cancelAction )
{
   return PerformDialog(false,caption,actions,keyArray,cancelAction,cancelKey,cancelModifiers);
}

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

/// <exception cref="InvalidOperationException" />
/// <exception cref="HAbortConsoleInputException" />
public int PerformDialog( string caption, string[] actions,
                          bool isLastActionCancel, ConsoleKey[] keyArray )
{
   return PerformDialog(false,caption,actions,isLastActionCancel,keyArray);
}

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

/// <exception cref="InvalidOperationException" />
/// <exception cref="HAbortConsoleInputException" />
public int PerformDialog( string caption, string[] actions, ConsoleKey[] keyArray,
                          [HOptional] ConsoleModifiers[] modifierArray )
{
   return PerformDialog(false,caption,actions,keyArray,modifierArray);
}

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

/// <exception cref="InvalidOperationException" />
/// <exception cref="HAbortConsoleInputException" />
public int PerformDialog( string caption,
                          string[] actions, ConsoleKey[] keyArray,
                          [HOptional] ConsoleModifiers[] modifierArray,
                          string cancelAction )
{
   return PerformDialog(false,caption,actions,keyArray,modifierArray,cancelAction);
}

/// <exception cref="InvalidOperationException" />
/// <exception cref="HAbortConsoleInputException" />
public int PerformDialog( string caption,
                          string[] actions, ConsoleKey[] keyArray,
                          [HOptional] ConsoleModifiers[] modifierArray,
                          [HOptional] string cancelAction,
                          [HOptional] ConsoleKey cancelKey )
{
   return PerformDialog(false,caption,actions,keyArray,modifierArray,cancelAction,cancelKey);
}

/// <exception cref="InvalidOperationException" />
/// <exception cref="HAbortConsoleInputException" />
public int PerformDialog( string caption,
                          string[] actions, ConsoleKey[] keyArray,
                          [HOptional] ConsoleModifiers[] modifierArray,
                          [HOptional] string cancelAction,
                          [HOptional] ConsoleKey cancelKey,
                          [HOptional] ConsoleModifiers cancelModifiers )
{
   return PerformDialog( false,
      caption, actions, keyArray, modifierArray,
      cancelAction, cancelKey, cancelModifiers );
}

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

/// <exception cref="InvalidOperationException" />
/// <exception cref="HAbortConsoleInputException" />
public int PerformDialog( string caption,
                          string[] actions,
                          bool isLastActionCancel,
                          ConsoleKey[] keyArray,
                          [HOptional] ConsoleModifiers[] modifierArray )
{
   return PerformDialog(false,caption,actions,isLastActionCancel,keyArray,modifierArray);
}

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
} // HConsole
//**************************************************************************************************

} // CommonHelpers
