=================================================================== RCS file: /home/cvs/OpenXM_contrib2/asir2000/parse/xdeb.c,v retrieving revision 1.7 retrieving revision 1.12 diff -u -p -r1.7 -r1.12 --- OpenXM_contrib2/asir2000/parse/xdeb.c 2001/10/05 03:21:27 1.7 +++ OpenXM_contrib2/asir2000/parse/xdeb.c 2004/02/29 08:30:31 1.12 @@ -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.6 2000/09/25 04:33:38 noro Exp $ + * $OpenXM: OpenXM_contrib2/asir2000/parse/xdeb.c,v 1.11 2003/03/07 06:39:59 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. * @@ -130,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; @@ -153,9 +147,7 @@ XtPointer cld,cad; XtSetValues(cmdwin, arg, 1); } -static void SetDismiss(w,cld,cad) -Widget w; -XtPointer cld,cad; +static void SetDismiss(Widget w,XtPointer cld,XtPointer cad) { Arg arg[5]; char *cmd; @@ -167,8 +159,14 @@ XtPointer cld,cad; XtSetValues(cmdwin, arg, 1); } -init_cmdwin() +static Atom wm_delete_window; +static void quit(Widget w, XEvent *ev, String *params,Cardinal *nparams) { + XBell(XtDisplay(w),0); +} + +void init_cmdwin() +{ Arg arg[5]; int argc=0; char *argv[1]; @@ -201,6 +199,10 @@ init_cmdwin() toplevel = XtAppCreateShell(0,title,applicationShellWidgetClass, display,0,0); n = 0; + wm_delete_window = XInternAtom(XtDisplay(toplevel), "WM_DELETE_WINDOW", + False); + XtOverrideTranslations(toplevel, + XtParseTranslationTable("WM_PROTOCOLS: quit()")); XtSetArg(arg[n],XtNiconName,title); n++; XtSetArg(arg[n], XtNwidth, 360); n++; mainwin = XtCreatePopupShell("shell",topLevelShellWidgetClass, @@ -217,12 +219,13 @@ init_cmdwin() XtSetArg(arg[n], XtNvalue, ""); n++; XtSetValues(cmdwin, arg, n); XtRealizeWidget(mainwin); + XSetWMProtocols(XtDisplay(mainwin),XtWindow(mainwin), + &wm_delete_window,1); } is_init = 1; } -show_debug_window(on) -int on; +void show_debug_window(int on) { XEvent ev; @@ -240,8 +243,7 @@ int on; } } -get_line(buf) -char *buf; +void get_line(char *buf) { XEvent ev; @@ -253,13 +255,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 */