/
| 339 | } |
| 340 | /***************************************************************************/ |
| 341 | void G4UIXm::keyHandler(Widget a_widget, XtPointer a_tag, XEvent* a_event, Boolean*) |
| 342 | /***************************************************************************/ |
| 343 | /*!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/ |
| 344 | { |
| 345 | KeySym keySym; |
| 346 | XLookupString(&(a_event->xkey), NULL, 0, &keySym, NULL); |
| 347 | if (keySym != XK_Tab) return; |
| 348 | G4UIXm* This = (G4UIXm*)a_tag; |
| 349 | char* s = XmTextGetString(a_widget); |
| 350 | G4String ss = This->Complete(s); |
| 351 | XmTextSetString(a_widget, (char*)ss.data()); |
| 352 | XtFree(s); |
| 353 | XmTextSetInsertionPosition(a_widget, XmTextGetLastPosition(a_widget)); |
| 354 | } |
| 355 | /***************************************************************************/ |
| 356 | void clearButtonCallback(Widget, XtPointer a_tag, XtPointer) |
| 357 | /***************************************************************************/ |