Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!iuvax!stung From: stung@iuvax.cs.indiana.edu Newsgroups: comp.windows.x Subject: Athena text widget problem Message-ID: <33500010@iuvax> Date: 5 Jul 89 21:39:00 GMT Organization: Indiana University CSCI, Bloomington Lines: 82 Nf-ID: #N:iuvax:33500010:000:2402 Nf-From: iuvax.cs.indiana.edu!stung Jul 5 16:39:00 1989 The following is a program that does not display the scroll bar of a text widget properly. When running the program the X Toolkit gives this warning message: No type converter registered for 'String' to 'Orientation' conversion. However, if I use XtDefaultAppContext in stead of creating my own context the program runs properly. Do I miss somthing? Thanks in advance for any help!! Sho-Huan Tung (stung@iuvax.cs.indiana.edu) Department of Computer Science Indiana University ------------------------------------------------------------------ /* Includes for X Toolkits */ #include #include #include #include #include #include #define MAXCHAR 60 /* This number need to be divideable by 2 and 3 */ char text_buf[MAXCHAR] = "> " ; int create_text_widget(w) int w; { int n; Arg Xargs[10]; Widget text_widget1; n = 0 ; XtSetArg(Xargs[n], XtNeditType, (XtArgVal) XttextEdit) ; n++; XtSetArg(Xargs[n], XtNlength, (XtArgVal)MAXCHAR) ; n++; XtSetArg(Xargs[n], XtNstring, text_buf); n++; XtSetArg(Xargs[n], XtNinsertPosition, 2); n++; text_widget1 = XtCreateManagedWidget("", asciiStringWidgetClass, (Widget)w, Xargs, n); n = 0; XtSetArg(Xargs[n], XtNtextOptions, (XtArgVal)scrollVertical) ; n++; printf("before XtSetValue\n"); XtSetValues(text_widget1, Xargs, n); printf("after XtSetValue\n"); return (int)text_widget1; } void main(argc, argv) unsigned int argc; char **argv; { Widget toplevel; XtAppContext SDefaultAppContext; Display *SDefaultDisplay; XEvent event; XtToolkitInitialize(); SDefaultAppContext = XtCreateApplicationContext(); /* * If I change SDefaultAppContext to NULL in the following call, and replace * SDefalutAppContext in XtAppNextEvent with _XtDefaultAppContext(), * then the scroll bar display properly. */ SDefaultDisplay = XtOpenDisplay(SDefaultAppContext, NULL, NULL, "Test1", NULL, 0, &argc, argv); /* need to make sure that SDefaultDisplay is not NULL */ toplevel = XtAppCreateShell(NULL, "Test1", applicationShellWidgetClass, SDefaultDisplay, NULL, 0); create_text_widget(toplevel); XtRealizeWidget(toplevel); for (;;) { XtAppNextEvent(SDefaultAppContext, &event); XtDispatchEvent(&event); } }