#include <Xm/Xm.h>
#include <Xm/ScrolledW.h>
#include "Cli.h"
#include <stdio.h>

void input(w,tag,client_data)
AtCliWidget w;
caddr_t tag;
char *client_data;
{
    AtCliPuts ("String\nwith\nmany\nnew\nlines\n",w);
    AtCliPuts("\n",w);
    AtCliPuts("prompt> ",w);
}

main(argc,argv)
int argc;
char **argv;
{
    Widget toplevel;
    Widget s,w;
    char buf[40];
    Arg al[10];
    int ac;

    toplevel = XtInitialize("test","Test",NULL,0,&argc,argv);

  ac = 0;
  XtSetArg(al[ac], XmNscrollingPolicy, (XtArgVal) XmAPPLICATION_DEFINED); ac++;
  XtSetArg(al[ac], XmNvisualPolicy, (XtArgVal) XmVARIABLE); ac++;
  XtSetArg(al[ac], XmNscrollBarDisplayPolicy, (XtArgVal) XmSTATIC); ac++;
  XtSetArg(al[ac], XmNshadowThickness, (XtArgVal) 0); ac++;

    s = XmCreateScrolledWindow(toplevel,"scrolled", al,ac);
    XtManageChild(s);
    
    ac = 0;
    XtSetArg(al[ac],XmNgrabStdout, False); ac++;
    XtSetArg(al[ac],XmNnumHistoryItems, 5); ac++;
    XtSetArg(al[ac],XmNautoShowCursorPosition, False); ac++;
    XtSetArg(al[ac],XmNcursorPositionVisible,True); ac++;
    XtSetArg(al[ac],XmNeditMode, XmMULTI_LINE_EDIT); ac++; 
    XtSetArg(al[ac],XmNscrollHorizontal, False); ac++; 
    XtSetArg (al[ac], XmNsaveLines, 4); ac++;
    w = XtCreateManagedWidget("cli",atCliWidgetClass,s,al,ac);
    XtAddCallback(w,XmNinputCallback,input,NULL);
    
    XtRealizeWidget(toplevel);

    AtCliPuts("prompt> ",w);
	
    XtMainLoop();
}
