=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/parse/xdeb.c,v retrieving revision 1.4 retrieving revision 1.11 diff -u -p -r1.4 -r1.11 --- OpenXM_contrib2/asir2000/parse/xdeb.c 2000/08/22 05:04:28 1.4 +++ OpenXM_contrib2/asir2000/parse/xdeb.c 2003/03/07 06:39:59 1.11 @@ -45,7 +45,7 @@ * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. * - * $OpenXM: OpenXM_contrib2/asir2000/parse/xdeb.c,v 1.3 2000/08/21 08:31:48 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/parse/xdeb.c,v 1.10 2003/03/07 03:12:31 noro Exp $ */ #if defined(VISUAL) #if defined(VISUAL_LIB) @@ -90,7 +90,7 @@ void show_debug_window(int on) {} #endif #else /* VISUAL */ -#if DO_PLOT +#if defined(DO_PLOT) /* * xdeb.c --- Asir Debug interface. * @@ -115,6 +115,7 @@ static String fallback[] = { static void Done(); static void SetSelected(); +static void SetDismiss(); static XtActionsRec actions_table[] = { {"done",Done}, @@ -129,18 +130,12 @@ static Display *display; void get_cmd(); -static void Done(w,e,p,n) -Widget w; -XEvent *e; -String *p; -Cardinal *n; +static void Done(Widget w,XEvent *e,String *p,Cardinal *n) { SetSelected(w,0,0); } -static void SetSelected(w,cld,cad) -Widget w; -XtPointer cld,cad; +static void SetSelected(Widget w,XtPointer cld,XtPointer cad) { Arg arg[5]; char *cmd; @@ -152,16 +147,32 @@ XtPointer cld,cad; XtSetValues(cmdwin, arg, 1); } -init_cmdwin() +static void SetDismiss(Widget w,XtPointer cld,XtPointer cad) { Arg arg[5]; + char *cmd; + + done = 1; + cmd = XawDialogGetValueString(cmdwin); + strcpy(debug_cmd,"quit"); + XtSetArg(arg[0], XtNvalue, ""); + XtSetValues(cmdwin, arg, 1); +} + +void init_cmdwin() +{ + Arg arg[5]; int argc=0; char *argv[1]; int n; char *d; + char hostname[BUFSIZ],title[BUFSIZ]; extern char displayname[]; extern int do_server_in_X11; + static int is_init = 0; + if ( is_init ) + return; if ( !displayname[0] ) { d = (char *)getenv("DISPLAY"); if ( d ) @@ -169,38 +180,44 @@ init_cmdwin() else do_server_in_X11 = 0; } + gethostname(hostname, BUFSIZ); + sprintf(title,"Asir debugger:%s",hostname); if ( displayname[0] ) { argv[0] = 0; XtToolkitInitialize(); app_con = XtCreateApplicationContext(); XtAppAddActions(app_con,actions_table, XtNumber(actions_table)); XtAppSetFallbackResources(app_con,fallback); - display = XtOpenDisplay(app_con,displayname,"ox_asir_debug_window","ox_asir_debug_window", + display = XtOpenDisplay(app_con,displayname,title,title, options,XtNumber(options),&argc,argv); - toplevel = XtAppCreateShell(0,"ox_asir_debug_window",applicationShellWidgetClass, + toplevel = XtAppCreateShell(0,title,applicationShellWidgetClass, display,0,0); - XtSetArg(arg[0],XtNiconName,"ox_asir_debug_window"); + n = 0; + XtSetArg(arg[n],XtNiconName,title); n++; + XtSetArg(arg[n], XtNwidth, 360); n++; mainwin = XtCreatePopupShell("shell",topLevelShellWidgetClass, - toplevel,arg,1); + toplevel,arg,n); /* * Command line */ cmdwin = XtCreateManagedWidget("cmdwin", dialogWidgetClass, mainwin, NULL, 0); - XawDialogAddButton(cmdwin,"OK",SetSelected,"OK"); + XawDialogAddButton(cmdwin,"Execute",SetSelected,"Execute"); + XawDialogAddButton(cmdwin,"Dismiss",SetDismiss,"Dismiss"); n = 0; XtSetArg(arg[n], XtNlabel, "Command : "); n++; XtSetArg(arg[n], XtNvalue, ""); n++; XtSetValues(cmdwin, arg, n); XtRealizeWidget(mainwin); } + is_init = 1; } -show_debug_window(on) -int on; +void show_debug_window(int on) { XEvent ev; + init_cmdwin(); if ( mainwin ) { if ( on ) XtPopup(mainwin,XtGrabNone); @@ -214,8 +231,7 @@ int on; } } -get_line(buf) -char *buf; +void get_line(char *buf) { XEvent ev; @@ -227,13 +243,12 @@ char *buf; strcpy(buf,debug_cmd); } #else /* DO_PLOT */ -init_cmdwin() {} +void init_cmdwin() {} -show_debug_window(on) -int on; +void show_debug_window(int on) {} -get_line(buf) +void get_line(buf) char *buf; {} #endif /* DO_PLOT */