#include <Xm/Form.h>
#include <Xm/Label.h>
#include <Xm/PushB.h>
#include <Xm/ScrolledW.h>
#include <Xm/RowColumn.h>
#include <Xm/DialogS.h>

#include "kanjiquiz.h"
#include "parse.h"

void submenu(widget, client_data, call_data)
Widget widget;
XtPointer client_data;
XtPointer call_data;
{
  Widget SubDialog, SubF, SubTitleL, QuitB, SubSW, SubRC;
  Widget SubLessonB[20];
  XmString title, sltitle, qtext;
  XmFontList fontlist;
  lesson *lessonTree, *lessonCopy;
  sublesson *sublessonTree;
  SLData *data[20];
  int i, j, w, h;

  lessonTree = (lesson *)client_data;
  lessonCopy = lessonTree;
  sublessonTree = lessonTree->subless;

  SubDialog = XtVaCreatePopupShell ("submenu", xmDialogShellWidgetClass,
				    GetTopShell (widget),
				    XmNdeleteResponse, XmDESTROY,
				    NULL);

  SubF = XtVaCreateWidget ("subform", xmFormWidgetClass, SubDialog, NULL);

  fontlist = getFontList (SubF);

  title = MakeMixedString (lessonCopy->title, "times24", "jis24");
  qtext = XmStringCreateLtoR ("Main Menu", "cour18");

  SubTitleL = XtVaCreateManagedWidget ("subtitle", xmLabelWidgetClass,
				       SubF,
				       XmNfontList,        fontlist,
				       XmNlabelString,     title,
				       XmNalignment,       XmALIGNMENT_CENTER,
				       XmNtopAttachment,   XmATTACH_FORM,
				       XmNtopOffset,       10,
				       XmNleftAttachment,  XmATTACH_FORM,
				       XmNleftOffset,      5,
				       XmNrightAttachment, XmATTACH_FORM,
				       XmNrightOffset,     5,
				       NULL);
  
  XmStringFree (title);

  QuitB = XtVaCreateManagedWidget ("quitbutton", xmPushButtonWidgetClass,
				   SubF,
				   XmNfontList,              fontlist,
				   XmNlabelString,           qtext,
				   XmNrightAttachment,       XmATTACH_FORM,
				   XmNrightOffset,           5,
				   XmNbottomAttachment,      XmATTACH_FORM,
				   XmNbottomOffset,          5,
				   NULL);

  XmStringFree (qtext);
  XtAddCallback (QuitB, XmNactivateCallback, DestroyShell, SubDialog);

  SubSW = XtVaCreateManagedWidget ("mainscroll", xmScrolledWindowWidgetClass,
				    SubF,
				    XmNscrollingPolicy,         XmAUTOMATIC,
				    XmNscrollBarDisplayPolicy,  XmAS_NEEDED,
				    XmNheight,                  300,
				    XmNwidth,                   300,
				    XmNtopAttachment,          XmATTACH_WIDGET,
				    XmNtopWidget,               SubTitleL,
				    XmNtopOffset,               5,
				    XmNleftAttachment,          XmATTACH_FORM,
				    XmNleftOffset,              5,
				    XmNrightAttachment,         XmATTACH_FORM,
				    XmNrightOffset,             40, 
				    XmNbottomAttachment,        XmATTACH_FORM,
				    XmNbottomOffset,            40,
				    NULL);

  SubRC = XtVaCreateWidget ("mainrowcol", xmRowColumnWidgetClass,
			    SubSW,
			    NULL);

  i=0;
  while (sublessonTree != NULLSL) {
    data[i] = parseDataFile (sublessonTree->filename);
    sublessonTree->data = data[i];
    sltitle = MakeMixedString (sublessonTree->title, "times24", "jis24");
    SubLessonB[i] = XtVaCreateManagedWidget ("slbutton",
					  xmPushButtonWidgetClass, SubRC,
					  XmNfontList,    fontlist,
					  XmNlabelString, sltitle,
					  XmNalignment,   XmALIGNMENT_CENTER,
					  NULL);
    XtAddCallback (QuitB, XmNactivateCallback,
		   DestroySLData, lessonCopy->subless); 
    XtAddCallback (SubLessonB[i], XmNactivateCallback, klist, data[i]);
    XmStringFree (sltitle);
    sublessonTree = sublessonTree->next;
    i++;
  }
  XtManageChild (SubRC);
  XtManageChild (SubF);
  XmFontListFree (fontlist);
  XtPopup (SubDialog, XtGrabNone);
}










