1 /* $XConsortium: selectxlfd.c /main/3 1996/10/14 14:45:17 barstow $ */
3 * All Rights Reserved, Copyright (c) FUJITSU LIMITED 1995
12 #include <sys/types.h>
26 #include <Xm/SeparatoG.h>
28 #include <Xm/ToggleB.h>
29 #include <Xm/MessageB.h>
33 #include "selectxlfd.h"
36 char *shell_n[] = { "pop0", "pop1", "pop2", "pop3" } ;
37 char *list_n[] = { "list0", "list1", "list2", "list3" } ;
41 #define Dprintf fprintf
47 * There is no public header file for this function (only an
48 * internal header XmStringI.h).
50 extern XtPointer _XmStringUngenerate (XmString string,
53 XmTextType output_type);
61 extern char *maintitle;
70 char *fullPathName = NULL ;
72 FalFontDataList *font_L ;
73 FalxCodeList *CodeList ;
74 FalxStyleList *StyleList ;
75 FalxSizeList *SizeList ;
76 FalxUdcArea *UdcArea ;
81 FalxFontDataBuff KeyBuff ;
84 void PopupSelectXLFD() ;
86 Widget xlfdDialog, xlfdWform,
87 slctBLabel[BUTTONITEMS],slctBText[BUTTONITEMS], slctButton[BUTTONITEMS],
88 listPop[BUTTONITEMS], listW[BUTTONITEMS],
89 separatorW, errorMD, msgBox ;
90 extern Widget cpyDialog ;
92 extern Widget toplevel;
99 int fontcheck(char *fontfile, char *mode)
101 * If fontfile can't be opend, return -1.
102 * If fontfile is editted by other UDC client, return 1.
108 if (strcmp(mode, "r") == 0) {
109 if ((chk_fd = open(fontfile, O_RDONLY)) < 0) {
112 } else if (strcmp(mode, "w") == 0) {
113 if ((chk_fd = open(fontfile, O_RDWR)) < 0) {
117 if (isLock(chk_fd) == 1) {
125 void setallcode(ListData *ld)
127 int i, code, codenum;
132 for (i = 0; i < UdcAreaCount; i++) {
133 codenum += (abs(UdcArea[i].udc_end - UdcArea[i].udc_start) + 1);
136 ld->allcode = (int *) calloc(codenum, sizeof(int));
137 ld->allcode_num = codenum;
139 for (i = 0; i < UdcAreaCount; i++) {
140 code1 = smaller(UdcArea[i].udc_start, UdcArea[i].udc_end);
141 code2 = bigger(UdcArea[i].udc_start, UdcArea[i].udc_end);
142 for (code = code1; code <= code2; code++) {
151 int protect_key = FAL_FONT_DISPLAY;
156 codeset = font_L->list[0].cd_set;
157 if ((fontid = FalOpenFont(fullPathName, protect_key, codeset))
159 fprintf(stderr, "FalOpenFont error\n");
160 return ((FalFontID) NULL);
165 void makelist(ListData *ld)
169 int *existcodep, *allcodep;
172 /* FalFontinfo fontinfo;*/
174 /* FalQueryFont(fid, &fontinfo);*/
176 ld->existcode = (int *) calloc(ld->allcode_num, sizeof(int));
177 existcodep = ld->existcode ;
178 allcodep = ld->allcode;
180 for (i = 0; i < ld->allcode_num; i++) {
182 pattern = FalReadFont(fid, code, NULL, NULL);
183 if (fal_utyexists == 0) {
184 *existcodep = *allcodep;
190 ld->existcode_num = existcode_num;
193 void setexistcode(ListData *ld)
195 int *codep, *allcodep;
213 if ((0 <= num) && (num <= 9))
215 else if ((10 <= num) && (num <= 15))
216 c = 'a' + (num - 10);
218 fprintf(stderr,"error in i2c\n");
238 buf[i] = i2c(tmp % 16);
242 number = (char *) calloc(len+3, sizeof(char));
246 for (i = len - 1; i >= 0; i--) {
254 void setexistcode_c(ListData *ld)
260 if (ld->existcode_num == 0) {
264 ld->existcode_c = (char **) calloc(ld->existcode_num, sizeof(char *));
265 code_cp = ld->existcode_c;
266 codep = ld->existcode;
267 for (i = 0; i < ld->existcode_num; i++) {
268 *code_cp = i2s(*codep);
274 void getexistcode(ListData *ld)
283 /****************************************************************
285 ***************************************************************/
288 * pop up and down dialog box
295 if (! XtIsManaged(w))
298 XRaiseWindow(XtDisplayOfObject(w), XtWindow(XtParent(w)));
315 GetPixelWidth( w, columns, width )
321 XtSetArg( args[0], XmNwidth, width ) ;
322 XtGetValues( w , args, 1 ) ;
323 return( *width / (Dimension)columns ) ;
327 /****************************************************************
329 ***************************************************************/
331 void quit(w, client_data, call_data)
333 caddr_t *client_data, *call_data;
338 msg = GETMESSAGE(6, 2, "Do you want to terminate udcexchange?");
340 AskUser(ed->toplevel, ed, msg, &ans, "question");
341 if (ans == 1) {/* terminate ok */
342 FalxFreeCodeList( CodeList ) ;
343 FalxFreeStyleList( StyleList ) ;
344 FalxFreeSizeList( SizeList ) ;
345 FalxFreeFontList( font_L ) ;
355 ClearText( num, slctBText )
360 /* toggle button unset */
361 for( i=0; i<BUTTONITEMS; i++ ){
363 XmTextSetString( slctBText[i], "" );
370 ClearButtons( num, slctButton )
377 /* toggle button unset */
378 for( i=0; i<BUTTONITEMS; i++ ){
381 XtSetArg( args[cnt], XmNset, &isSet ); cnt++;
382 XtGetValues( slctButton[i], args, cnt );
385 XtSetArg( args[cnt], XmNset, False ); cnt++;
386 XtSetValues( slctButton[i], args, cnt );
396 * get text field position
399 GetPositionOfLists( num, xlfdDialog, listPop, slctBText, x, y )
408 Position tbx, tby, tx, ty ;
413 XtSetArg(args[i], XmNx, &tbx ); i++;
414 XtSetArg(args[i], XmNy, &tby ); i++;
415 XtGetValues( xlfdDialog, args, i);
417 XtSetArg(args[i], XmNx, &tx ); i++;
418 XtSetArg(args[i], XmNy, &ty ); i++;
419 XtSetArg(args[i], XmNheight, &theight ); i++;
420 if( num==BUTTONITEMS-1 )
421 XtGetValues( slctBText[num], args, i ) ;
423 XtGetValues( XtParent(slctBText[num]), args, i ) ; /* ScrolledText */
424 /* determine the position of list */
426 if( num==BUTTONITEMS-1 ){
427 *y = ty + tby + (Position)theight + 14 + CY ;
429 *y = ty + tby + (Position)theight + CY ;
432 for( i=0; i<BUTTONITEMS; i++ ){
433 if( XtIsManaged( listPop[i] ) ) XtUnmanageChild( listPop[i] );
435 if( !XtIsManaged( listPop[num] ) ) XtManageChild( listPop[num] );
443 void listEH(w, num, event)
448 int i, j, ITEM_COUNT;
460 rtn = GetItemsToDisplay( num, &ITEM_COUNT, &xms ) ;
463 fprintf( stderr, "There are no fonts that was required.\n" ) ;
464 XmTextSetString( slctBText[0], " " );
465 ClearText( -1, slctBText ) ;
466 FalxFreeDataBuff( FALX_ALL, &KeyBuff ) ;
472 fprintf( stderr, "GetItemsToDisplay() error.\n" ) ;
476 if( num == 0 && ITEM_COUNT == 1 ){
478 str = (char *) _XmStringUngenerate((XmString) xms[0], NULL,
479 XmMULTIBYTE_TEXT, XmMULTIBYTE_TEXT);
481 XmTextSetString(slctBText[num], str );
484 if( ITEM_COUNT < 0 ){
490 * get text field position
492 GetPositionOfLists( num, xlfdDialog, listPop, slctBText, &x, &y ) ;
495 XtSetArg(args[i], XmNx, x ) ; i++;
496 XtSetArg(args[i], XmNy, y ) ; i++;
497 XtSetValues(listPop[num], args, i );
503 XtSetArg (args[i], XmNitems, xms ); i++;
504 XtSetArg (args[i], XmNitemCount, ITEM_COUNT ); i++;
505 XtSetValues(listW[num], args, i );
510 XtPopup( listPop[num], XtGrabNone );
517 void listPrintCB(w, num, call_data)
520 XmListCallbackStruct *call_data;
524 /* clear text fields and unset buttons */
525 ClearButtons( num, slctButton ) ;
528 str = (char *) _XmStringUngenerate((XmString) call_data->item, NULL,
529 XmMULTIBYTE_TEXT, XmMULTIBYTE_TEXT);
531 XmTextSetString(slctBText[num], str);
536 if( SetKeyBuff( num, str ) ){
541 if( XtIsManaged( listPop[num] ) ) XtUnmanageChild( listPop[num] );
549 void OpenWindow(w, client_data, call_data)
551 caddr_t client_data, *call_data;
560 char *str, buff[512] ;
562 msg = GETMESSAGE(6, 4, "No UDCs exist in this font");
563 msg1 = GETMESSAGE(6, 6, "XLFD name isn't selected");
564 msg2 = GETMESSAGE(6, 8, "Can't open the font file");
565 msg3 = GETMESSAGE(6, 10, "The font file is used by other UDC client.");
567 /* get font file name (str: XLFD name) */
568 str = XmTextGetString( slctBText[0] );
569 if (( str == NULL ) || (strcmp(str, "") == 0)) {
570 AskUser(w, ed, msg1, &ans, "error");
573 if( fullPathName != NULL ){
574 free( fullPathName ) ;
576 SelectedOffset = FalxSearchFontFileName( str, font_L, buff ) ;
577 if( SelectedOffset < 0 ){
580 if( (fullPathName = strdup( buff )) == NULL ){
583 UdcAreaCount = FalxGetGlyphIndexInfo( str, font_L, &UdcArea ) ;
584 if( UdcAreaCount < 0 ){
588 if( fullPathName != NULL ){
589 Dprintf( stderr, "OpenWindow() : full path name = %s\n", fullPathName );
591 for( i=0; i<UdcAreaCount; i++ ){
592 Dprintf( stderr, "OpenWindow() : start(%d) = 0x%x\n", i, UdcArea[i].udc_start );
593 Dprintf( stderr, "OpenWindow() : end (%d) = 0x%x\n", i, UdcArea[i].udc_end );
595 if ((ed->xlfdname = strdup(str)) == NULL) {
598 if ((ed->fontfile = strdup(fullPathName)) == NULL) {
603 if ((ld = (ListData *) malloc(sizeof(ListData))) == NULL) {
604 excerror(ed, EXCERRMALLOC, "selcharcd", "exit");
606 memset(ld, 0x00, sizeof(ListData));
609 if (ed->function == EXPORT) {
610 r = fontcheck(ed->fontfile, "r");
611 if (r == -1) { /* file open error */
612 AskUser(ld->ed->toplevel, ld->ed, msg2, &ans, "error");
614 } else if (r == 1) { /* file is being editted by other UDC client */
615 AskUser(ld->ed->toplevel, ld->ed, msg3, &ans, "error");
618 /* get existing UDC code */
620 if (ld->existcode_num == 0) {
621 AskUser(ld->ed->toplevel, ld->ed, msg, &ans, "error");
624 XtUnmanageChild(xlfdDialog);
626 } else if (ed->function == IMPORT) {
627 r = fontcheck(ed->fontfile, "w");
628 if (r == -1) { /* file open error */
629 AskUser(ld->ed->toplevel, ld->ed, msg2, &ans, "error");
631 } else if (r == 1) { /* file is being editted by other UDC client */
632 AskUser(ld->ed->toplevel, ld->ed, msg3, &ans, "error");
635 /* get existing UDC code */
638 XtUnmanageChild(xlfdDialog);
645 /****************************************************************
646 * functions for create window view
647 ****************************************************************/
649 #define SetLabel( cnt ){ \
651 case 0 : buf = resource.xlfd_label ; break ; \
652 case 1 : buf = resource.code_label ; break ; \
653 case 2 : buf = resource.style_label; break ; \
654 case 3 : buf = resource.size_label ; break ; \
656 xms = XmStringCreateLocalized( buf ); \
661 CreateXLFDLabelAndText( owner, slctBLabel, slctBText, slctButton )
680 XtSetArg( args[i], XmNx, 20 ) ; i++ ;
681 XtSetArg( args[i], XmNheight, 20 ) ; i++ ;
682 XtSetArg( args[i], XmNtopAttachment, XmATTACH_FORM ) ; i++ ;
683 XtSetArg( args[i], XmNtopOffset, 20 ) ; i++ ;
685 _slctBLabel = XmCreateLabelGadget( owner , "xlfdlabel", args, i );
687 _slctBLabel = XmCreateLabel( owner , "xlfdlabel", args, i );
689 XtManageChild( _slctBLabel );
692 * create text fields to display XLFD font name
695 XtSetArg( args[i], XmNleftAttachment, XmATTACH_FORM ) ; i++ ;
696 XtSetArg( args[i], XmNleftOffset, 20 ) ; i++ ;
697 XtSetArg( args[i], XmNtopAttachment, XmATTACH_WIDGET ); i++ ;
698 XtSetArg( args[i], XmNtopOffset, 5 ) ; i++ ;
699 XtSetArg (args[i], XmNtopWidget, _slctBLabel ); i++;
700 XtSetArg( args[i], XmNcolumns, XLFD_COLUMNS ) ; i++ ;
701 XtSetArg( args[i], XmNspacing, 0 ) ; i++ ;
702 XtSetArg( args[i], XmNeditMode, XmSINGLE_LINE_EDIT ) ; i++ ;
703 XtSetArg( args[i], XmNscrollBarDisplayPolicy, XmAS_NEEDED ) ; i++ ;
704 XtSetArg( args[i], XmNscrollingPolicy, XmAPPLICATION_DEFINED ) ; i++ ;
706 XtSetArg( args[i], XmNscrollingPolicy, XmAUTOMATIC ) ; i++ ;
707 XtSetArg( args[i], XmNlistSizePolicy, XmCONSTANT ) ; i++ ;
709 XtSetArg( args[i], XmNwidth, 600 ) ; i++ ;
710 XtSetArg( args[i], XmNfontList, fixed ) ; i++ ;
711 XtSetArg( args[i], XmNeditable, True ) ; i++ ;
712 XtSetArg( args[i], XmNlistSizePolicy, XmVARIABLE ) ; i++ ;
714 _slctBText = XmCreateScrolledText( owner , "xlfdtext", args, i );
716 XtManageChild( _slctBText );
719 * create XLFD select buttons
722 XtSetArg( args[i], XmNindicatorType, XmONE_OF_MANY ) ; i++ ;
723 XtSetArg (args[i], XmNtopWidget, _slctBText ); i++;
724 XtSetArg( args[i], XmNtopAttachment, XmATTACH_OPPOSITE_WIDGET ) ; i++ ;
725 XtSetArg( args[i], XmNtopOffset, 15 ) ; i++ ;
726 XtSetArg( args[i], XmNleftAttachment, XmATTACH_WIDGET ) ; i++ ;
727 XtSetArg( args[i], XmNleftWidget, _slctBText ) ; i++ ;
728 XtSetArg( args[i], XmNleftOffset, 5 ) ; i++ ; /* WIDTH */
729 XtSetArg( args[i], XmNrightAttachment, XmATTACH_FORM ) ; i++ ;
730 XtSetArg( args[i], XmNrightOffset, 5 ) ; i++ ; /* WIDTH */
731 xms = XmStringCreateLocalized( "" );
732 XtSetArg( args[i], XmNlabelString, xms ) ; i++ ;
734 _slctButton = XmCreateToggleButtonGadget( owner , "xlfdbtn", args, i);
736 _slctButton = XmCreateToggleButton( owner , "xlfdbtn", args, i);
738 XtManageChild( _slctButton );
740 *slctBLabel = _slctBLabel ;
741 *slctBText = _slctBText ;
742 *slctButton = _slctButton ;
750 CreateOtherLabelAndText( num, owner, baseForm,
751 slctBLabel, topW, slctBText, slctButton )
770 if( num < 1 ) return(0) ;
776 XtSetArg ( args[i], XmNtopWidget,
777 (num==1) ? baseForm : topW ); i++;
778 XtSetArg( args[i], XmNx, 20 ) ; i++ ;
779 XtSetArg( args[i], XmNheight, 20 ) ; i++ ;
780 XtSetArg( args[i], XmNtopAttachment, XmATTACH_WIDGET ) ; i++ ;
782 XtSetArg( args[i], XmNtopOffset, 20 ) ; i++ ;
784 XtSetArg( args[i], XmNtopOffset, 36 ) ; i++ ;
786 XtSetArg( args[i], XmNlabelString, xms ) ; i++ ;
788 _slctBLabel = XmCreateLabelGadget( owner , "label", args, i);
790 _slctBLabel = XmCreateLabel( owner , "label", args, i);
792 XtManageChild( _slctBLabel );
795 * create text fields to display selected keys
798 XtSetArg( args[i], XmNtopAttachment, XmATTACH_OPPOSITE_WIDGET ) ; i++ ;
799 XtSetArg( args[i], XmNtopOffset, -5 ) ; i++ ;
800 XtSetArg (args[i], XmNtopWidget, _slctBLabel ); i++;
801 XtSetArg( args[i], XmNrightAttachment, XmATTACH_OPPOSITE_WIDGET ) ; i++ ;
802 XtSetArg( args[i], XmNrightOffset, 0 ) ; i++ ;
803 XtSetArg (args[i], XmNrightWidget, baseForm ); i++;
804 XtSetArg( args[i], XmNcolumns, KEY_COLUMNS ) ; i++ ;
805 XtSetArg( args[i], XmNspacing, 0 ) ; i++ ;
806 XtSetArg( args[i], XmNeditMode, XmSINGLE_LINE_EDIT ) ; i++ ;
807 XtSetArg( args[i], XmNscrollBarDisplayPolicy, XmAS_NEEDED ) ; i++ ;
808 XtSetArg( args[i], XmNscrollingPolicy, XmAPPLICATION_DEFINED ) ; i++ ;
810 XtSetArg( args[i], XmNscrollingPolicy, XmAUTOMATIC ) ; i++ ;
811 XtSetArg( args[i], XmNlistSizePolicy, XmCONSTANT ) ; i++ ;
813 XtSetArg( args[i], XmNfontList, fixed ) ; i++ ;
814 XtSetArg( args[i], XmNlistSizePolicy, XmVARIABLE ) ; i++ ;
816 if( num==BUTTONITEMS-1 )
817 _slctBText = XmCreateText( owner , "text" , args, i );
819 _slctBText = XmCreateScrolledText( owner , "text" , args, i );
821 XtManageChild( _slctBText );
824 * create select buttons
827 XtSetArg( args[i], XmNindicatorType, XmONE_OF_MANY ) ; i++ ;
828 XtSetArg( args[i], XmNtopAttachment, XmATTACH_OPPOSITE_WIDGET ) ; i++ ;
829 XtSetArg( args[i], XmNtopOffset, 5 ) ; i++ ;
830 XtSetArg (args[i], XmNtopWidget, _slctBLabel ); i++;
831 XtSetArg( args[i], XmNleftAttachment, XmATTACH_WIDGET ) ; i++ ;
832 XtSetArg( args[i], XmNleftWidget, _slctBText ) ; i++ ;
833 XtSetArg( args[i], XmNleftOffset, 5 ) ; i++ ; /* WIDTH */
834 xms = XmStringCreateLocalized( "" );
835 XtSetArg( args[i], XmNlabelString, xms ) ; i++ ;
837 _slctButton = XmCreateToggleButtonGadget( owner , "button", args, i);
839 _slctButton = XmCreateToggleButton( owner , "button", args, i);
841 XtManageChild( _slctButton );
843 *slctBLabel = _slctBLabel ;
844 *slctBText = _slctBText ;
845 *slctButton = _slctButton ;
851 * create pop up lists
856 xlfdCreateScrolledList ( owner, name, args, n )
864 XtSetArg( args[n], XmNselectionPolicy, XmSINGLE_SELECT ) ;n++ ;
865 XtSetArg( args[n], XmNlistSpacing, 4 ) ; n++ ;
866 XtSetArg( args[n], XmNlistSizePolicy, XmCONSTANT ) ; n++ ;
867 XtSetArg( args[n], XmNscrollBarDisplayPolicy, XmAS_NEEDED ) ; n++ ;
868 listW = XmCreateScrolledList( owner, name, args, n );
870 XtManageChild( listW );
879 * create selection window view
882 PopupSelectXLFD( top )
890 Dimension pix, xwidth, kwidth ;
892 if( xlfdDialog == NULL ){
897 XtSetArg( args[n], XmNautoUnmanage, False ) ; n++ ;
898 XtSetArg( args[n], XmNtitle, maintitle ) ; n++ ;
899 XtSetArg( args[n], XmNnoResize, True ) ; n++ ;
900 xms = XmStringCreateLocalized( resource.exec_label ) ;
901 XtSetArg( args[n], XmNokLabelString, xms ) ; n++ ;
902 xms = XmStringCreateLocalized( resource.quit_label) ;
903 XtSetArg( args[n], XmNhelpLabelString, xms ) ; n++ ;
904 Dprintf( stdout, "(PopupSelectXLFD)XmCreateTemplateDialog: start\n" ) ;
905 xlfdDialog = XmCreateTemplateDialog( top, "SelectDialog", args, n );
906 Dprintf( stdout, "(PopupSelectXLFD)XmCreateTemplateDialog: end\n" ) ;
909 xlfdWform = XmCreateForm( xlfdDialog, "BaseForm", args, n );
910 XtManageChild( xlfdWform );
914 * create XLFD columns
916 Dprintf( stdout, "(PopupSelectXLFD)CreateXLFDLabelAndText : start\n" ) ;
917 CreateXLFDLabelAndText( xlfdWform ,
918 &slctBLabel[0], &slctBText[0], &slctButton[0] ) ;
921 XtSetArg( args[n], XmNlabelString, xms ) ; n++ ;
922 XtSetValues( slctBLabel[0], args, n ) ;
923 Dprintf( stdout, "(PopupSelectXLFD)CreateXLFDLabelAndText : end\n" ) ;
926 * create other key columns
928 Dprintf( stdout, "(PopupSelectXLFD)CreateOtherLabelAndText :start\n" ) ;
929 for( j=1; j<BUTTONITEMS; j++ ){
930 CreateOtherLabelAndText( j, xlfdWform, slctBText[0],
931 &slctBLabel[j], slctBLabel[j-1], &slctBText[j], &slctButton[j] ) ;
933 Dprintf( stdout, "(PopupSelectXLFD)CreateOtherLabelAndText : end\n" ) ;
935 /* set bottom offsets */
937 XtSetArg( args[n], XmNbottomAttachment, XmATTACH_FORM ) ; n++ ;
938 XtSetArg( args[n], XmNbottomOffset, 36 ) ; n++ ;
939 XtSetValues( slctBLabel[BUTTONITEMS-1], args, n ) ;
942 pix = GetPixelWidth( slctBText[0], XLFD_COLUMNS, &xwidth ) ;
943 /* xwidth += pix / 2 ; */
944 kwidth = pix * KEY_COLUMNS + pix / 2 ;
947 * create popup shells
949 for( j=0; j<BUTTONITEMS; j++ ) {
951 listPop[j] = XtCreatePopupShell( shell_n[j], overrideShellWidgetClass,
952 xlfdWform , args, n );
958 for( j=0; j<BUTTONITEMS; j++ ) {
960 XtSetArg( args[n], XmNvisibleItemCount, (j==0)? 10 : 5 ) ; n++ ;
962 XtSetArg( args[n], XmNwidth, xwidth ) ; n++ ;
964 XtSetArg( args[n], XmNwidth, kwidth ) ; n++ ;
965 XtSetArg( args[n], XmNlistMarginWidth, 0 ) ; n++ ;
967 listW[j] = xlfdCreateScrolledList( listPop[j], list_n[j], args, n );
975 XtSetArg( args[n], XmNokLabelString, "OK" ) ; n++ ;
976 XtSetArg( args[n], XmNcancelLabelString,"Cancel" ) ; n++ ;
977 errorMD = XmCreateMessageDialog(toplevel, "ed0", NULL, 0);
979 msgBox = XmMessageBoxGetChild(errorMD, XmDIALOG_HELP_BUTTON);
980 XtUnmanageChild(msgBox);
986 for( i=0; i<BUTTONITEMS; i++ )
987 XtAddEventHandler( slctButton[i], ButtonReleaseMask, False, (XtEventHandler) listEH, (XtPointer) i );
989 for( i=0; i<BUTTONITEMS; i++ )
990 XtAddCallback(listW[i], XmNsingleSelectionCallback, (XtCallbackProc) listPrintCB, (XtPointer) i );
992 XtAddCallback( xlfdDialog, XmNokCallback, (XtCallbackProc) OpenWindow, NULL );
993 XtAddCallback( xlfdDialog, XmNhelpCallback,(XtCallbackProc) quit,NULL );
996 XtAddCallback( errorMD, XmNcancelCallback, (XtCallbackProc) quit, NULL);
1001 * pop up select window
1003 Dprintf( stdout, "(PopupSelectXLFD)xlfdPopupDialog : start\n" ) ;
1004 xlfdPopupDialog( xlfdDialog );
1005 Dprintf( stdout, "(PopupSelectXLFD)xlfdPopupDialog : end\n" ) ;
1006 Dprintf( stdout, " : end\n" ) ;