#!/usr/local/bin/curseperl
#*********************************************************************
# demo --  Perl menu demo - Usage of "top menu" functions.
#
# Note:    Requires curseperl.
#          Demonstrates technique to use "top" menu feature.
#
# Author:  Steven L. Kunz
#          Networking & Communications
#          Iowa State University Computation Center
#          Ames, IA  50011
#          Email: skunz@iastate.edu
#
# Date:    Sept, 1993
#********************************************************************

require "./menu.pl";

while (1) {
  &menu_init(1,"Perlmenu Version 2.1 -- Top Menu Demonstration",1);
  &menu_item("Exit this demo","exit");
  &menu_item("Animal","animal");
  &menu_item("Mineral","mineral");
  &menu_item("Vegetable","vegetable");

# Get selection
  $sel= &menu_display("");

# Process selection (ignore "up" at top level)
  if ($sel ne "%UP%") {
    if ($sel eq "exit") { exit; }
    if ($sel eq "animal") { &animal; }
    elsif ($sel eq "mineral") { &mineral; }
    elsif ($sel eq "vegetable") { &vegetable; }
  }
}

sub animal {
  while (1) {
    &menu_init(1,"Lower animal menu");
    &menu_item("Dog","dog");
    &menu_item("Cat","cat");
    $sel = &menu_display("");
    if ($sel eq "%UP%") { return; } # "up" or "top"
    if ($sel eq "dog") { &dog; }
    if ($sel eq "cat") { &cat; }
  }
}

sub dog {
  while (1) {
    &menu_init(1,"Lower dog menu");
    &menu_item("Lab","");
    &menu_item("Collie","");
    $sel = &menu_display("");
    if ($sel eq "%UP%") { return; } # "up" or "top"
  }
}

sub cat {
  while (1) {
    &menu_init(1,"Lower cat menu");
    &menu_item("Tabby","");
    &menu_item("Siamese","");
    $sel = &menu_display("");
    if ($sel eq "%UP%") { return; } # "up" or "top"
  }
}

sub mineral {
  while (1) {
    &menu_init(1,"Lower mineral menu");
    &menu_item("Shale","");
    &menu_item("Limestone","");
    $sel = &menu_display("");
    if ($sel eq "%UP%") { return; } # "up" or "top"
  }
}

sub vegetable {
  while (1) {
    &menu_init(1,"Lower vegetable menu");
    &menu_item("Carrot","");
    &menu_item("Pea","");
    $sel = &menu_display("");
    if ($sel eq "%UP%") { return; } # "up" or "top"
  }
}
