// file: $isip/class/algo/Window/win_01.cc
// version: $Id: win_01.cc 8165 2002-05-31 21:57:33Z picone $
//

// isip include files
//
#include "Window.h"
#include <Console.h>

// method: debug
//
// arguments:
//  const unichar* msg: (input) message to print
//
// return: a boolean value indicating status
//
boolean Window::debug(const unichar* msg_a) const {

  // declare local variables
  //
  String value;
  String output;
  String empty_str;

  // output an information message
  //
  output.debugStr(name(), msg_a, L":");
  Console::put(output);
  Console::increaseIndention();
  
  // display the algorithm name
  //
  output.debugStr(name(), msg_a, L"algorithm_d",
		  ALGO_MAP.getName((long)algorithm_d));
  Console::put(output);

  // display the compute mode name
  //
  output.debugStr(name(), msg_a, L"cmode_d",
                  CMODE_MAP.getName((long)cmode_d));
  Console::put(output);

  // display the alignment name
  //
  output.debugStr(name(), msg_a, L"alignment_d",
		  ALGN_MAP.getName((long)alignment_d));
  Console::put(output);

  // display the normalization name
  //
  output.debugStr(name(), msg_a, L"normalization_d",
		  NORM_MAP.getName((long)normalization_d));
  Console::put(output);

  // display the duration
  //
  value.assign(duration_d);
  output.debugStr(name(), msg_a, L"duration_d", value);
  Console::put(output);

  // display the constants
  //
  constants_d.debug(L"constants_d");
  
  // display the data
  //
  data_d.debug(L"data_d");
  
  // display the base class
  //
  AlgorithmBase::debug(L"AlgorithmBase");

  // decrease indention
  //
  Console::decreaseIndention();
 
  // exit gracefully
  //
  return true;
}
