2 * CDE - Common Desktop Environment
4 * Copyright (c) 1993-2012, The Open Group. All rights reserved.
6 * These libraries and programs are free software; you can
7 * redistribute them and/or modify them under the terms of the GNU
8 * Lesser General Public License as published by the Free Software
9 * Foundation; either version 2 of the License, or (at your option)
12 * These libraries and programs are distributed in the hope that
13 * they will be useful, but WITHOUT ANY WARRANTY; without even the
14 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU Lesser General Public License for more
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with these librararies and programs; if not, write
20 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21 * Floor, Boston, MA 02110-1301 USA
23 /* selectx.c 1.12 - Fujitsu source for CDEnext 96/03/01 09:34:52 */
24 /* $TOG: selectx.c /main/5 1997/07/23 17:24:39 samborn $ */
26 * (c) Copyright 1995 FUJITSU LIMITED
27 * This is source code modified by FUJITSU LIMITED under the Joint
28 * Development Agreement for the CDEnext PST.
29 * This is unpublished proprietary source code of FUJITSU LIMITED
36 #include <locale.h> /* dtex add */
37 #include <math.h> /* dtex add */
50 #include <Xm/SeparatoG.h>
52 #include <Xm/ToggleB.h>
53 #include <Xm/MessageB.h>
54 #include <Xm/RowColumn.h>
59 #include "xoakufont.h"
60 #include "selectxlfd.h"
61 #include "excutil.h" /* dtex add */
64 * There is no public header file for this function (only an
65 * internal header XmStringI.h).
67 extern XtPointer _XmStringUngenerate (XmString string,
70 XmTextType output_type);
72 /*extern Resource resource ; dtex del*/
79 extern char *maintitle;
80 extern char **errmsg_org;
86 FalFontData fullFontData;
88 void PopupSelectXLFD() ;
89 static Widget CreateSelectXLFD() ;
91 /*extern void xlfdPopupDialog() ; dtex del*/
92 extern int GetListsOfItems() ;
94 /* extern void ReadCB(); dtex del */
97 static Widget xlfdWform;
99 #define CS0 "Codeset 0"
100 #define CS1 "Codeset 1"
101 #define CS2 "Codeset 2"
102 #define CS3 "Codeset 3"
104 #define ERROR_1 errmsg_org[fal_utyerrno & 0xff]
105 /*#define ERROR_1 fal_errmsg_org[fal_utyerrno & 0xff]*/
106 /*#define ERROR_2 fal_errmsg_func[fal_utyerrno >>8]*/
108 static Widget pull1, pull2, pull3, pull4, scrolllist;
109 static int xlf_count = 0;
110 static XmString *xlf=NULL;
111 static int udc_count = 0;
112 static Boolean udc_flag = False;
113 static int *udc=NULL;
115 static int sty_count = 0;
116 static Boolean sty_flag = False;
117 static char **sty=NULL;
118 static char *sty_val=NULL;
119 static int wls_count = 0;
120 static Boolean wls_flag = False;
121 static int *wls=NULL;
123 static int hls_count = 0;
124 static Boolean hls_flag = False;
125 static int *hls=NULL;
127 static Widget *button1=NULL;
128 static Widget *button2=NULL;
129 static Widget *button3=NULL;
130 static Widget *button4=NULL;
140 if (! XtIsManaged(w))
143 XRaiseWindow(XtDisplayOfObject(w), XtWindow(XtParent(w)));
147 ForcePopdownDialog(w)
155 int fontcheck(char *mode)
157 * If fontfile can't be opend, return -1.
158 * If fontfile is editted by other UDC client, return 1.
163 FalFontDataList *fulllist = NULL;
166 mask = FAL_FONT_MASK_XLFDNAME | FAL_FONT_MASK_GLYPH_INDEX |
167 FAL_FONT_MASK_DEFINED |
168 FAL_FONT_MASK_UNDEFINED | FAL_FONT_MASK_CODE_SET;
170 if (strcmp(mode, "w") == 0)
171 mask |= FAL_FONT_MASK_UPDATE;
173 fontid = FalOpenSysFont(&fullFontData, mask, &fulllist);
175 if ((fal_utyerrno & 0xff) == 0x10)/*_FAL_ERR_LCKD*/
180 FalCloseFont( fontid );
184 void setallcode(ListData *ld)
186 int i, code, codenum;
191 for (i = 0; i < num_gr; i++) {
192 codenum += (abs(gr[i].end - gr[i].start) + 1);
195 ld->allcode = (int *) calloc(codenum, sizeof(int));
196 ld->allcode_num = codenum;
198 for (i = 0; i < num_gr; i++) {
199 code1 = smaller(gr[i].start, gr[i].end);
200 code2 = bigger(gr[i].start, gr[i].end);
201 for (code = code1; code <= code2; code++) {
211 FalFontDataList *fulllist = NULL;
215 mask = FAL_FONT_MASK_XLFDNAME | FAL_FONT_MASK_GLYPH_INDEX |
216 FAL_FONT_MASK_DEFINED |
217 FAL_FONT_MASK_UNDEFINED | FAL_FONT_MASK_CODE_SET;
218 fontid = FalOpenSysFont(&fullFontData, mask, &fulllist);
222 if (fullpath != NULL)
224 if (FalFontIDToFileName(fontid, &fullpath) < 0){
225 FalCloseFont(fontid);
228 if ((ed->fontfile = strdup(fullpath)) == NULL) {
234 void makelist(ListData *ld)
238 int *existcodep, *allcodep;
242 ld->existcode = (int *) calloc(ld->allcode_num, sizeof(int));
243 existcodep = ld->existcode ;
244 allcodep = ld->allcode;
246 for (i = 0; i < ld->allcode_num; i++) {
248 pattern = FalReadFont(fid, code, NULL, NULL);
249 if (fal_utyexists == 0) {
250 *existcodep = *allcodep;
256 ld->existcode_num = existcode_num;
259 void setexistcode(ListData *ld)
275 if ((0 <= num) && (num <= 9))
277 else if ((10 <= num) && (num <= 15))
278 c = 'a' + (num - 10);
280 fprintf(stderr,"error in i2c\n");
300 buf[i] = i2c(tmp % 16);
304 number = (char *) calloc(len+3, sizeof(char));
308 for (i = len - 1; i >= 0; i--) {
316 void setexistcode_c(ListData *ld)
322 if (ld->existcode_num == 0) {
326 ld->existcode_c = (char **) calloc(ld->existcode_num, sizeof(char *));
327 code_cp = ld->existcode_c;
328 codep = ld->existcode;
329 for (i = 0; i < ld->existcode_num; i++) {
330 *code_cp = i2s(*codep);
336 void getexistcode(ListData *ld)
343 /****************************************************************
345 ***************************************************************/
347 void quit(w, client_data, call_data) /* dtex */
349 caddr_t *client_data, *call_data;
355 char_set(char *str) /* dtex */
359 for (i=strlen(str),p=&(str[i]),count=0; i && count < 2; i--,p--) {
376 p = str + strlen(str);
377 for(;count && (str < p);p--) {
387 static void OpenWindowCB() /* dtex change */
398 extern void selcharcd();
400 int mask = FAL_FONT_MASK_DEFINED | FAL_FONT_MASK_UNDEFINED
401 | FAL_FONT_MASK_XLFDNAME;
403 FalFontDataList *fontlist;
406 msg = GETMESSAGE(4, 2, "This font has no user defined characters.");
407 msg2 = GETMESSAGE(4, 4, "Failed to open the selected font. You have no right to access for the font file, or the format of the file is not consistent.");
408 msg3 = GETMESSAGE(4, 6, "The font file is used by other UDC client.");
410 XtVaGetValues(scrolllist, XmNselectedItems, &st, NULL);
414 str = (char *) _XmStringUngenerate((XmString) st[0],
415 NULL, XmMULTIBYTE_TEXT, XmMULTIBYTE_TEXT);
420 p = spc(str, '-', 4);
423 if (*p == 'p' || *p == 'P') {
427 fullFontData.xlfdname = str;
428 if ((ed->xlfdname = strdup(str)) == NULL) {
432 fullFontData.cd_set = udc_val;
433 else { /* dtex change */
434 memset(&key, 0x00, sizeof(FalFontData));
435 key.xlfdname = fullFontData.xlfdname;
436 if (FalGetFontList(&key, mask, &fontlist) == FAL_ERROR)
438 if (fontlist->num != 1)
441 /*fullFontData.cd_set = -1;*/
442 fullFontData.cd_set = f->cd_set;
443 FalFreeFontList(fontlist);
450 if ((ld = (ListData *) malloc(sizeof(ListData))) == NULL) {
451 excerror(ed, EXCERRMALLOC, "selcharcd", "exit");
453 memset(ld, 0x00, sizeof(ListData));
455 locale = getenv("LANG");
458 if (FalGetUDCGIArea(locale, fullFontData.cd_set,
459 char_set(fullFontData.xlfdname), &gr, &num_gr)
461 fprintf(stderr, "error in FalGetUDCGIArea\n");
462 sprintf(err, "%s", ERROR_1);
463 AskUser(ed->toplevel, ed, err, &ans, "error");
466 if (ed->function == EXPORT) {
468 if (r == -1) { /* file open error */
469 AskUser(ld->ed->toplevel, ld->ed, msg2, &ans, "error");
471 } else if (r == 1) { /* file is being editted by other UDC client */
472 AskUser(ld->ed->toplevel, ld->ed, msg3, &ans, "error");
475 /* get existing UDC code */
477 if (ld->existcode_num == 0) {
478 AskUser(ld->ed->toplevel, ld->ed, msg, &ans, "error");
481 XtUnmanageChild(xlfdDialog);
483 } else if (ed->function == IMPORT) {
485 if (r == -1) { /* file open error */
486 AskUser(ld->ed->toplevel, ld->ed, msg2, &ans, "error");
488 } else if (r == 1) { /* file is being editted by other UDC client */
489 AskUser(ld->ed->toplevel, ld->ed, msg3, &ans, "error");
492 /* get existing UDC code */
495 XtUnmanageChild(xlfdDialog);
501 ** contents : "Cancel" button callback
502 ** ------------------------
509 OpenCancelCB( widget, clientData, callData ) /* dtex change */
514 /* extern void ForcePopdownDialog();
518 ForcePopdownDialog(xlfdDialog);
523 * create selection window view
526 PopupSelectXLFD( top )
530 if( xlfdDialog == NULL ){
531 if( (xlfdDialog = CreateSelectXLFD( top )) == NULL ){
535 /* pop up select window */
536 xlfdPopupDialog( xlfdDialog );
543 int mask = FAL_FONT_MASK_DEFINED | FAL_FONT_MASK_UNDEFINED;
545 FalFontDataList *fontlist;
549 if (udc_flag == True) {
550 key.cd_set = udc_val;
551 mask |= FAL_FONT_MASK_CODE_SET;
553 if (sty_flag == True) {
554 key.style.name = sty_val;
555 mask |= FAL_FONT_MASK_STYLE_NAME;
557 if (wls_flag == True) {
558 key.size.w = wls_val;
559 mask |= FAL_FONT_MASK_SIZE_W;
561 if (hls_flag == True) {
562 key.size.h = hls_val;
563 mask |= FAL_FONT_MASK_SIZE_H;
566 if (FalGetFontList(&key, mask, &fontlist) == FAL_ERROR) {
569 if(fontlist->num == 0) {
570 FalFreeFontList(fontlist);
574 for (i=0; i < xlf_count; i++) {
575 XmStringFree(xlf[i]);
579 xlf = (XmString *)XtMalloc(sizeof(XmString) * fontlist->num);
580 for (i=0, f=fontlist->list; i < fontlist->num; i++, f++) {
581 xlf[xlf_count++] = XmStringCreateLocalized(f->xlfdname);
583 FalFreeFontList(fontlist);
593 XtVaGetValues(w, XmNlabelString, &label, NULL);
595 moji = (char *) _XmStringUngenerate((XmString) label, NULL,
596 XmMULTIBYTE_TEXT, XmMULTIBYTE_TEXT);
598 if(strncmp(moji, "*", 1) == 0) {
600 } else if(strcmp(moji, CS0) == 0) {
601 udc_val = FAL_FONT_CS0;
603 } else if(strcmp(moji, CS1) == 0) {
604 udc_val = FAL_FONT_CS1;
606 } else if(strcmp(moji, CS2) == 0) {
607 udc_val = FAL_FONT_CS2;
609 } else if(strcmp(moji, CS3) == 0) {
610 udc_val = FAL_FONT_CS3;
620 XtVaSetValues(scrolllist, XmNitems, xlf, XmNitemCount, xlf_count, NULL);
633 XtVaGetValues(w, XmNlabelString, &label, NULL);
635 moji = (char *) _XmStringUngenerate((XmString) label, NULL,
636 XmMULTIBYTE_TEXT, XmMULTIBYTE_TEXT);
638 if(strncmp(moji, "*", 1) == 0) {
642 sty_val = XtMalloc(sizeof(char) * (strlen(moji) + 1));
643 strcpy(sty_val, moji);
650 XtVaSetValues(scrolllist, XmNitems, xlf, XmNitemCount, xlf_count, NULL);
660 XtVaGetValues(w, XmNlabelString, &label, NULL);
662 moji = (char *) _XmStringUngenerate((XmString) label, NULL,
663 XmMULTIBYTE_TEXT, XmMULTIBYTE_TEXT);
665 if(strncmp(moji, "*", 1) == 0) {
669 wls_val = atoi(moji);
677 XtVaSetValues(scrolllist, XmNitems, xlf, XmNitemCount, xlf_count, NULL);
686 XtVaGetValues(w, XmNlabelString, &label, NULL);
688 moji = (char *) _XmStringUngenerate((XmString) label, NULL,
689 XmMULTIBYTE_TEXT, XmMULTIBYTE_TEXT);
691 if(strncmp(moji, "*", 1) == 0) {
695 hls_val = atoi(moji);
702 XtVaSetValues(scrolllist, XmNitems, xlf, XmNitemCount, xlf_count, NULL);
709 int mask = FAL_FONT_MASK_DEFINED | FAL_FONT_MASK_UNDEFINED;
711 FalFontDataList *fontlist;
715 if (sty_flag == True) {
716 key.style.name = sty_val;
717 mask |= FAL_FONT_MASK_STYLE_NAME;
719 if (wls_flag == True) {
720 key.size.w = wls_val;
721 mask |= FAL_FONT_MASK_SIZE_W;
723 if (hls_flag == True) {
724 key.size.h = hls_val;
725 mask |= FAL_FONT_MASK_SIZE_H;
727 if (FalGetFontList(&key, mask, &fontlist) == FAL_ERROR) {
728 for (j=0; j<udc_count; j++)
729 XtSetSensitive(button1[j], False);
732 if(fontlist->num == 0) {
733 for (j=0; j<udc_count; j++)
734 XtSetSensitive(button1[j], False);
735 FalFreeFontList(fontlist);
739 for (j=0; j<udc_count; j++) {
740 for (i=0, f=fontlist->list, found=False; i < fontlist->num; i++, f++) {
741 if(udc[j] == f->cd_set) {
747 XtSetSensitive(button1[j], False);
749 XtSetSensitive(button1[j], True);
751 FalFreeFontList(fontlist);
758 int mask = FAL_FONT_MASK_DEFINED | FAL_FONT_MASK_UNDEFINED;
760 FalFontDataList *fontlist;
764 if (udc_flag == True) {
765 key.cd_set = udc_val;
766 mask |= FAL_FONT_MASK_CODE_SET;
768 if (wls_flag == True) {
769 key.size.w = wls_val;
770 mask |= FAL_FONT_MASK_SIZE_W;
772 if (hls_flag == True) {
773 key.size.h = hls_val;
774 mask |= FAL_FONT_MASK_SIZE_H;
776 if (FalGetFontList(&key, mask, &fontlist) == FAL_ERROR) {
777 for (j=0; j<sty_count; j++)
778 XtSetSensitive(button2[j], False);
781 if(fontlist->num == 0) {
782 for (j=0; j<sty_count; j++)
783 XtSetSensitive(button2[j], False);
784 FalFreeFontList(fontlist);
788 for (j=0; j<sty_count; j++) {
789 for (i=0, f=fontlist->list, found=False; i < fontlist->num; i++, f++) {
790 if(strcmp(sty[j], f->style.name) == 0) {
796 XtSetSensitive(button2[j], False);
798 XtSetSensitive(button2[j], True);
800 FalFreeFontList(fontlist);
807 int mask = FAL_FONT_MASK_DEFINED | FAL_FONT_MASK_UNDEFINED;
809 FalFontDataList *fontlist;
813 if (udc_flag == True) {
814 key.cd_set = udc_val;
815 mask |= FAL_FONT_MASK_CODE_SET;
817 if (sty_flag == True) {
818 key.style.name = sty_val;
819 mask |= FAL_FONT_MASK_STYLE_NAME;
821 if (hls_flag == True) {
822 key.size.h = hls_val;
823 mask |= FAL_FONT_MASK_SIZE_H;
825 if (FalGetFontList(&key, mask, &fontlist) == FAL_ERROR) {
826 for (j=0; j<wls_count; j++)
827 XtSetSensitive(button3[j], False);
830 if(fontlist->num == 0) {
831 for (j=0; j<wls_count; j++)
832 XtSetSensitive(button3[j], False);
833 FalFreeFontList(fontlist);
837 for (j=0; j<wls_count; j++) {
838 for (i=0, f=fontlist->list, found=False; i < fontlist->num; i++, f++) {
839 if(wls[j] == f->size.w) {
845 XtSetSensitive(button3[j], False);
847 XtSetSensitive(button3[j], True);
849 FalFreeFontList(fontlist);
856 int mask = FAL_FONT_MASK_DEFINED | FAL_FONT_MASK_UNDEFINED;
858 FalFontDataList *fontlist;
862 if (udc_flag == True) {
863 key.cd_set = udc_val;
864 mask |= FAL_FONT_MASK_CODE_SET;
866 if (sty_flag == True) {
867 key.style.name = sty_val;
868 mask |= FAL_FONT_MASK_STYLE_NAME;
870 if (wls_flag == True) {
871 key.size.w = wls_val;
872 mask |= FAL_FONT_MASK_SIZE_W;
874 if (FalGetFontList(&key, mask, &fontlist) == FAL_ERROR) {
875 for (j=0; j<hls_count; j++)
876 XtSetSensitive(button4[j], False);
879 if(fontlist->num == 0) {
880 for (j=0; j<hls_count; j++)
881 XtSetSensitive(button4[j], False);
882 FalFreeFontList(fontlist);
886 for (j=0; j<hls_count; j++) {
887 for (i=0, f=fontlist->list, found=False; i < fontlist->num; i++, f++) {
888 if(hls[j] == f->size.h) {
894 XtSetSensitive(button4[j], False);
896 XtSetSensitive(button4[j], True);
898 FalFreeFontList(fontlist);
902 data_sort(data, count)
906 int *p1, *p2, tmp, i;
908 for (; count; count--) {
909 for (i=1, p1=data, p2=data+1; i < count; i++, p1++, p2++) {
921 font_init() /* dtex change */
923 FalFontDataList *fontlist;
930 int ans; /* dtex add */
931 /* extern void Error_message(); dtex del */
934 p = GETMESSAGE(4, 8, "There is no font");
935 xlf_count = udc_count = sty_count = wls_count = hls_count = 0;
936 if (FalGetFontList(NULL, FAL_FONT_MASK_DEFINED |
937 FAL_FONT_MASK_UNDEFINED, &fontlist) == FAL_ERROR) {
938 sprintf(err, "%s", ERROR_1);
939 /* Error_message((Widget)NULL, err); dtex del */
940 AskUser(ed->toplevel, ed, err, &ans, "error");
943 if(fontlist->num == 0) {
944 FalFreeFontList(fontlist);
945 /* strcpy(err, resource.mn_no_font); dtex change */
947 /* Error_message((Widget)NULL, err); dtex del */
948 AskUser(ed->toplevel, ed, err, &ans, "error");
951 udc = (int *)XtMalloc(sizeof(int) * fontlist->num);
952 sty = (char **)XtMalloc(sizeof(char *) * fontlist->num);
953 wls = (int *)XtMalloc(sizeof(int) * fontlist->num);
954 hls = (int *)XtMalloc(sizeof(int) * fontlist->num);
955 for (i=0, f=fontlist->list; i < fontlist->num; i++, f++) {
956 for (j=0,found=False; j<udc_count; j++) {
957 if(udc[j] == f->cd_set) {
962 if (found == False) {
963 udc[udc_count++] = f->cd_set;
965 for (j=0,found=False; j<sty_count; j++) {
966 if(strcmp(sty[j], f->style.name) == 0) {
971 if (found == False) {
972 sty[sty_count] = XtMalloc(sizeof(char) * (strlen(f->style.name) + 1));
973 strcpy(sty[sty_count++], f->style.name);
975 if (f->size.w != -1) {
976 for (j=0,found=False; j<wls_count; j++) {
977 if(wls[j] == f->size.w) {
982 if (found == False) {
983 wls[wls_count++] = f->size.w;
986 for (j=0,found=False; j<hls_count; j++) {
987 if(hls[j] == f->size.h) {
992 if (found == False) {
993 hls[hls_count++] = f->size.h;
996 FalFreeFontList(fontlist);
998 data_sort(udc, udc_count);
999 data_sort(wls, wls_count);
1000 data_sort(hls, hls_count);
1002 if (udc_count > 0) {
1003 button1 = (Widget *) XtMalloc(sizeof(Widget) * udc_count);
1005 if (sty_count > 0) {
1006 button2 = (Widget *) XtMalloc(sizeof(Widget) * sty_count);
1008 if (wls_count > 0) {
1009 button3 = (Widget *) XtMalloc(sizeof(Widget) * wls_count);
1011 if (hls_count > 0) {
1012 button4 = (Widget *) XtMalloc(sizeof(Widget) * hls_count);
1015 button = XmCreatePushButton(pull1, "*", NULL, 0);
1016 XtManageChild(button);
1017 XtAddCallback(button, XmNactivateCallback,
1018 (XtCallbackProc)udc_call, NULL);
1019 for (i=0; i < udc_count; i++) {
1020 if(udc[i] == FAL_FONT_CS0)
1022 else if(udc[i] == FAL_FONT_CS1)
1024 else if(udc[i] == FAL_FONT_CS2)
1026 else if(udc[i] == FAL_FONT_CS3)
1029 sprintf(tmp, "Codeset %x?", udc[i]);
1030 button1[i] = XmCreatePushButton(pull1, tmp, NULL, 0);
1031 XtManageChild(button1[i]);
1032 XtAddCallback(button1[i], XmNactivateCallback,
1033 (XtCallbackProc)udc_call, NULL);
1036 button = XmCreatePushButton(pull2, "*", NULL, 0);
1037 XtManageChild(button);
1038 XtAddCallback(button, XmNactivateCallback,
1039 (XtCallbackProc)sty_call, NULL);
1040 for (i=0; i < sty_count; i++) {
1041 button2[i] = XmCreatePushButton(pull2, sty[i], NULL, 0);
1042 XtManageChild(button2[i]);
1043 XtAddCallback(button2[i], XmNactivateCallback,
1044 (XtCallbackProc)sty_call, NULL);
1047 button = XmCreatePushButton(pull3, "*", NULL, 0);
1048 XtManageChild(button);
1049 XtAddCallback(button, XmNactivateCallback,
1050 (XtCallbackProc)wls_call, NULL);
1051 for (i=0; i < wls_count; i++) {
1052 sprintf(tmp, "%d", wls[i]);
1053 button3[i] = XmCreatePushButton(pull3, tmp, NULL, 0);
1054 XtManageChild(button3[i]);
1055 XtAddCallback(button3[i], XmNactivateCallback,
1056 (XtCallbackProc)wls_call, NULL);
1059 button = XmCreatePushButton(pull4, "*", NULL, 0);
1060 XtManageChild(button);
1061 XtAddCallback(button, XmNactivateCallback,
1062 (XtCallbackProc)hls_call, NULL);
1063 for (i=0; i < hls_count; i++) {
1064 sprintf(tmp, "%d", hls[i]);
1065 button4[i] = XmCreatePushButton(pull4, tmp, NULL, 0);
1066 XtManageChild(button4[i]);
1067 XtAddCallback(button4[i], XmNactivateCallback,
1068 (XtCallbackProc)hls_call, NULL);
1074 CreateSelectXLFD( top ) /* dtex change */
1080 XmString xms, xms1 ;
1082 Widget frame, row1, label1, row2, cas1, cas2, cas3, cas4;
1085 udc_flag = sty_flag = wls_flag = hls_flag = False;
1088 * create base window
1091 XtSetArg( args[n], XmNautoUnmanage, False ) ; n++ ;
1092 XtSetArg( args[n], XmNtitle, maintitle ) ;n++ ; /* dtex add */
1093 XtSetArg( args[n], XmNnoResize, True ) ; n++ ;
1094 XtSetArg( args[n], XmNminimizeButtons, True ) ; n++ ;
1095 /* xms = XmStringCreateLocalized( resource.exec_label ) ; dtex change*/
1096 p = GETMESSAGE(4, 10, "Open");
1097 xms = XmStringCreateLocalized( p ) ;
1098 XtSetArg( args[n], XmNokLabelString, xms ) ; n++ ;
1099 /* xms1 = XmStringCreateLocalized( resource.quit_label) ; dtex change*/
1100 p = GETMESSAGE(4, 12, "Cancel");
1101 xms1 = XmStringCreateLocalized( p ) ;
1102 XtSetArg( args[n], XmNhelpLabelString, xms1 ) ; n++ ;
1103 /* editW = XmCreateTemplateDialog( top, "dtfonteditor - Open", args, n ); dtex change*/
1104 p = GETMESSAGE(4, 14, "UDC data exchange utility");
1105 editW = XmCreateTemplateDialog( top, p, args, n );
1107 XmStringFree( xms ) ;
1108 XmStringFree( xms1 ) ;
1111 pull1 = XmCreatePulldownMenu(toplevel, "pull", args, n);
1112 pull2 = XmCreatePulldownMenu(toplevel, "pull", args, n);
1113 pull3 = XmCreatePulldownMenu(toplevel, "pull", args, n);
1114 pull4 = XmCreatePulldownMenu(toplevel, "pull", args, n);
1117 xlfdWform = XmCreateRowColumn( editW, "BaseForm", args, n );
1118 XtManageChild( xlfdWform );
1121 frame = XmCreateFrame( xlfdWform, "frame", args, n);
1122 XtManageChild( frame );
1125 row1 = XmCreateRowColumn( frame, "row", args, n );
1126 XtManageChild( row1 );
1128 p = GETMESSAGE(4, 16, "SelectItems");
1130 label1 = XmCreateLabel( row1, p, args, n);
1131 XtManageChild( label1 );
1134 row2 = XmCreateRowColumn( row1, "row", args, n );
1135 XtManageChild( row2 );
1138 /*str = XmStringCreateLocalized(resource.l_codeset) ; dtex change */
1139 p = GETMESSAGE(4, 18, "- Codeset:");
1140 str = XmStringCreateLocalized( p );
1141 XtSetArg(args[n], XmNlabelString, str); n++;
1142 XtSetArg(args[n], XmNsubMenuId, pull1); n++;
1143 cas1 = XmCreateOptionMenu( row2, "CodeSet", args, n );
1144 XtManageChild( cas1 );
1145 XtAddCallback(XmOptionButtonGadget(cas1), XmNcascadingCallback,
1146 (XtCallbackProc)button_set1, NULL);
1150 /*str = XmStringCreateLocalized(resource.l_style) ; dtex change */
1151 p = GETMESSAGE(4, 20, "- Style:");
1152 str = XmStringCreateLocalized( p );
1153 XtSetArg(args[n], XmNlabelString, str); n++;
1154 XtSetArg(args[n], XmNsubMenuId, pull2); n++;
1155 cas2 = XmCreateOptionMenu( row2, "Style", args, n );
1156 XtAddCallback(XmOptionButtonGadget(cas2), XmNcascadingCallback,
1157 (XtCallbackProc)button_set2, NULL);
1158 XtManageChild( cas2 );
1162 /*str = XmStringCreateLocalized(resource.l_width) ; dtex change */
1163 p = GETMESSAGE(4, 22, "- Width:");
1164 str = XmStringCreateLocalized( p );
1165 XtSetArg(args[n], XmNlabelString, str); n++;
1166 XtSetArg(args[n], XmNsubMenuId, pull3); n++;
1167 cas3 = XmCreateOptionMenu( row2, "Width", args, n );
1168 XtManageChild( cas3 );
1169 XtAddCallback(XmOptionButtonGadget(cas3), XmNcascadingCallback,
1170 (XtCallbackProc)button_set3, NULL);
1174 /*str = XmStringCreateLocalized(resource.l_height) ; dtex change */
1175 p = GETMESSAGE(4, 24, "- Height:");
1176 str = XmStringCreateLocalized( p );
1177 XtSetArg(args[n], XmNlabelString, str); n++;
1178 XtSetArg(args[n], XmNsubMenuId, pull4); n++;
1179 cas4 = XmCreateOptionMenu( row2, "Height", args, n );
1180 XtManageChild( cas4 );
1181 XtAddCallback(XmOptionButtonGadget(cas4), XmNcascadingCallback,
1182 (XtCallbackProc)button_set4, NULL);
1189 XtSetArg(args[n], XmNvisibleItemCount, 10) ; n++ ;
1190 XtSetArg(args[n], XmNlistSizePolicy, XmCONSTANT) ; n++ ;
1191 XtSetArg(args[n], XmNscrollBarDisplayPolicy, XmSTATIC) ; n++ ;
1192 XtSetArg(args[n], XmNselectionPolicy, XmSINGLE_SELECT) ; n++ ;
1193 XtSetArg(args[n], XmNitems, xlf) ; n++ ;
1194 XtSetArg(args[n], XmNitemCount, xlf_count) ; n++ ;
1195 scrolllist = XmCreateScrolledList(xlfdWform, "scrolllist", args, n);
1196 XtManageChild(scrolllist);
1202 XtAddCallback(editW, XmNokCallback, (XtCallbackProc)OpenWindowCB, NULL);
1203 /* XtAddCallback(editW, XmNokCallback, (XtCallbackProc)ReadCB, NULL); dtex del */
1204 XtAddCallback(editW, XmNcancelCallback, (XtCallbackProc)quit, NULL);
1205 /* XtAddCallback(editW, XmNhelpCallback,
1206 (XtCallbackProc)OpenCancelCB, NULL); dtex del */
1207 XtAddCallback(editW, XmNhelpCallback,
1208 (XtCallbackProc)quit, NULL);