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

namespace CommonHelpers {

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

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

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

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

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

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

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

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

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

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

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

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

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

/// <exception cref="InvalidOperationException" />
/// <exception cref="HAbortConsoleInputException" />
public int PerformNumberedDialog( string caption,
                                  [HOptional] string zeroAction,
                                  bool placeZeroActionDown,
                                  string[] actions )
{
   return PerformNumberedDialog(false,caption,zeroAction,placeZeroActionDown,actions);
}

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

/// <exception cref="InvalidOperationException" />
/// <exception cref="HAbortConsoleInputException" />
public int PerformNumberedDialog( string caption,
                                  [HOptional] string zeroAction,
                                  bool placeZeroActionDown,
                                  string[] actions,
                                  [HOptional] string cancelAction )
{
   return PerformNumberedDialog( false,
      caption, zeroAction, placeZeroActionDown,
      actions, cancelAction );
}

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

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

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

} // CommonHelpers
