Creating Menus

#include "graphapp.h"

void undo(menuitem m)  { printf("Undo!\n"); }
void cut(menuitem m)   { printf("Cut!\n"); }
void copy(menuitem m)  { printf("Copy!\n"); }
void paste(menuitem m) { printf("Paste!\n"); }
  
void quit(menu m) {
  printf("Quit!\n");
  exitapp();
}

void main(void)
{
  menubar b;
  menu m[2];
  menuitem i[10];
  window w;

  w = newwindow("Menu Test", rect(100,100,500,400),
                StandardWindow);

  b = newmenubar(NULL);

  m[0] = newmenu("File");
  i[0] = newmenuitem("Quit",  'Q', quit);

  m[1] = newmenu("Edit");
  i[1] = newmenuitem("Undo",  'U', undo);
  i[2] = newmenuitem("-",      0,  NULL);
  i[3] = newmenuitem("Cut",   'X', cut);
  i[4] = newmenuitem("Copy",  'C', copy);
  i[5] = newmenuitem("Paste", 'V', paste);

  disable(i[1]);

  show(w);
  mainloop();
}

Notes: