/*--------------------------------------------------------------------
 * FICHERO:  MenTexto.c
 * OBJETIVO: Definir la funcin Men_Texto()
 * AUTOR:    Pedro Reina
 * FECHA:    V.14.7.1995
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------------
 * Ficheros de cabecera
 *------------------------------------------------------------------*/

#include "Menu.h"

/*--------------------------------------------------------------------
 * Definicin de funciones
 *------------------------------------------------------------------*/

/*--------------------------------------------------------------Olimpo
 * FUNCION:  Men_Texto()
 * OBJETIVO: Decir cul es el texto de una opcin de un men
 * ENTRADAS: El men, el nmero de opcin y una cadena para
 *           dejar el texto de la opcin
 * SALIDAS:  Valor lgico SI
 * EJEMPLO:  Men_Texto ( MenuPrincipal, 7, Texto)
 * NOTA:     La cadena debe tener longitud suficiente para
 *           almacenar el texto
 * ALGORITMO:
 *      Segn el tipo del men, llamar a la funcin correspondiente
 *------------------------------------------------------------------*/
logico Men_Texto (Menu, Opcion, Texto)
menu   Menu;
entero Opcion;
cadena Texto;
  {
  lista    L;
  entero   i;
  caracter Aux[MEN_MAXLONG];
  
  switch ( Men_Tipo(Menu) )
    {
    case MEN_VECTOR: Cad_Copia (Texto, Men_TextoVector(Menu,Opcion));
                     break;
    case MEN_PROPIO: ((men_funcion)(Men_DatoOpcion(Menu)))(Opcion, Aux);
                     Cad_Copia (Texto, Aux);
                     break;
    case MEN_LISTA:  for ( i=1 , L = (lista) Men_DatoOpcion(Menu) ; 
                           i<Opcion && L ; 
                           i++ , L = Lis_Siguiente (L) )
                       ;
                     Cad_Copia (Texto, (cadena) Lis_Contenido(L));
                     break;
    }                         
    
  return ( SI );   
  }
