/* From: "Jon A. Christopher" To: Lesstif Mailing List Subject: Another problem with TextFields Date: Tue, 31 Mar 1998 20:14:34 -0600 (CST) */ #include #include #include #include #include #include void focusCB( Widget w, XtPointer client, XmAnyCallbackStruct *call) { XmTextFieldSetSelection(w,0,XmTextFieldGetLastPosition(w), CurrentTime); } void upper(Widget w, XtPointer client, XtPointer call) { XmTextVerifyCallbackStruct *cbs = (XmTextVerifyCallbackStruct *)call; int len; if (cbs->text->ptr) { for (len=0; lentext->length; len++) { printf("upper: pos=%d before=%c ",len,cbs->text->ptr[len]); if (islower(cbs->text->ptr[len])) cbs->text->ptr[len]=toupper(cbs->text->ptr[len]); printf("after=%c\n",cbs->text->ptr[len]); } } } void cursor(Widget w, XtPointer client, XtPointer call) { XmTextVerifyCallbackStruct *cbs = (XmTextVerifyCallbackStruct *)call; printf("cursor: cur=%d new=%d\n",(int)cbs->currInsert,(int)cbs->newInsert); if (cbs->currInsertnewInsert) cbs->doit=False; } void activate(Widget w, XtPointer client, XtPointer call) { char *name,*value; name=(char *)client; value=XmTextFieldGetString(w); printf("activate %s: value=%s\n",name,value); XtFree(value); } char *labels[]={ "Flux capacitance", "Photon torpedo inventory", "Warp factor", "Dilithium level", "Tardis color", }; char *responses[]={ "High", "Full", "9.8", "falling", "red", }; int main(int argc, char **argv) { Widget toplevel, rc, tf, w; XtAppContext app; int i; XtSetLanguageProc(NULL, NULL, NULL); toplevel = XtVaAppInitialize(&app,"Label",NULL,0,&argc,argv,NULL,NULL); rc=XtVaCreateManagedWidget("rowcol",xmRowColumnWidgetClass,toplevel, XmNpacking,XmPACK_COLUMN, XmNnumColumns,XtNumber(labels), XmNorientation,XmHORIZONTAL, XmNisAligned,True, XmNentryAlignment,XmALIGNMENT_END, NULL); for (i=0; i