123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236 |
- /*
- * CDE - Common Desktop Environment
- *
- * Copyright (c) 1993-2012, The Open Group. All rights reserved.
- *
- * These libraries and programs are free software; you can
- * redistribute them and/or modify them under the terms of the GNU
- * Lesser General Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * These libraries and programs are distributed in the hope that
- * they will be useful, but WITHOUT ANY WARRANTY; without even the
- * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- * PURPOSE. See the GNU Lesser General Public License for more
- * details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with these libraries and programs; if not, write
- * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
- * Floor, Boston, MA 02110-1301 USA
- */
- /* $XConsortium: udcexc.c /main/4 1996/09/02 18:50:32 cde-fuj $ */
- /*
- * (c) Copyright 1995 FUJITSU LIMITED
- * This is source code modified by FUJITSU LIMITED under the Joint
- * Development Agreement for the CDEnext PST.
- * This is unpublished proprietary source code of FUJITSU LIMITED
- */
- #include "excutil.h"
- #include "xoakufont.h"
- #include "selectxlfd.h"
- #include <locale.h>
- #include <Xm/RowColumn.h>
- #include <Xm/ToggleB.h>
- #include <Xm/MessageB.h>
- #include <Xm/MainW.h>
- void callexpCB();
- void callimpCB();
- void exitCB();
- void helpCB();
- void udcexp();
- void udcimp();
- #define ERROR_1 errmsg_org[fal_utyerrno & 0xff]
- /*#define ERROR_1 fal_errmsg_org[fal_utyerrno & 0xff]*/
- /*#define ERROR_2 fal_errmsg_func[fal_utyerrno >>8]*/
- Widget toplevel, mainw;
- Exc_data *ed = NULL;
- ListData *ld = NULL;
- char *maintitle;
- /*char *terminatemsg = "Do you want to terminate dtudcexch";*/
- /*
- * Error messages(by origin)
- * fal_errmsg_org
- */
- char *errmsg_org[0xff];
- Rsrc resource ;
- #define Rchar(name, class, member,def){ \
- name, class, XtRString, sizeof(char *), \
- XtOffsetOf(Rsrc, member), XtRString, (XtPointer)def }
- Widget excCreateRadioButton(Widget parent, String name, String label,
- XtCallbackProc callback_func,
- XtPointer client_data)
- {
- Widget widget;
- XmString xms;
- widget = XtVaCreateManagedWidget(name,
- xmToggleButtonWidgetClass, parent,
- XmNindicatorType, XmONE_OF_MANY,
- NULL);
- XtAddCallback(widget, XmNvalueChangedCallback,
- (XtCallbackProc) callback_func,
- (XtPointer) client_data);
- xms = XmStringCreateLocalized(label);
- XtVaSetValues(widget,
- XmNlabelString, xms,
- NULL);
- XmStringFree(xms);
- return (widget);
- }
- int main(int argc, char * argv[])
- {
- XtAppContext app_context;
- Widget row, expfunc, impfunc, exit/*, help*/;
- Arg args[20];
- Cardinal n;
- static char *explabel;
- static char *implabel;
- static char *exitlabel;
- /* static char helplabel[] = "Help";*/
- /* char msg1[] = "Failed in the start of dtudcexch";*/
- char err[128];
- int ans;
- int mask = FAL_FONT_MASK_DEFINED | FAL_FONT_MASK_UNDEFINED;
- FalFontData key;
- FalFontDataList *fontlist;
- /* appinitialize */
- XtSetLanguageProc(NULL,NULL,NULL);
- _DtEnvControl(0);
- n = 0;
- toplevel = XtAppInitialize(&app_context, "UDCexchange",
- (XrmOptionDescList) NULL,
- 0, (int *) &argc, argv, (String *) NULL,
- args, n);
- maintitle = GETMESSAGE(8, 2, "UDC data exchange utitlity");
- errmsg_org[0] = GETMESSAGE(8, 4, "Fatal error occurred.");
- errmsg_org[1] = GETMESSAGE(8, 6, "Cannot open the font file.");
- errmsg_org[2] = GETMESSAGE(8, 8, "Cannot read the font file.");
- errmsg_org[3] = GETMESSAGE(8, 10, "There is no more memory.");
- errmsg_org[4] = GETMESSAGE(8, 12, "Fatal error occurred.");
- errmsg_org[5] = GETMESSAGE(8, 14, "The specified font file does not exist.");
- errmsg_org[6] = GETMESSAGE(8, 16, "This font is not a pcf or snf font.");
- errmsg_org[7] = GETMESSAGE(8, 18, "Cannot open fonts.list file.");
- errmsg_org[8] = GETMESSAGE(8, 20, "The format of fonts.list file is illegal.");
- errmsg_org[9] = GETMESSAGE(8, 22, "The descriptions of the fonts.list file are incorrect.");
- errmsg_org[10] = GETMESSAGE(8, 24, "The format of fonts.list file is illegal.");
- errmsg_org[11] = GETMESSAGE(8, 26, "Cannot open fonts.dir file.");
- errmsg_org[12] = GETMESSAGE(8, 28, "Cannot read fonts.dir file.");
- errmsg_org[13] = GETMESSAGE(8, 30, "Cannot read font properties.");
- errmsg_org[14] = GETMESSAGE(8, 32, "Cannot get FONT property.");
- errmsg_org[15] = GETMESSAGE(8, 34, "Cannot get FAMILY_NAME property.");
- errmsg_org[16] = GETMESSAGE(8, 36, "This font file is already opened by other application.");
- errmsg_org[17] = GETMESSAGE(8, 38, "Cannot lock font file.");
- errmsg_org[18] = GETMESSAGE(8, 40, "Cannot unlock font file.");
- errmsg_org[19] = GETMESSAGE(8, 42, "Cannot get lock information from the font file.");
- errmsg_org[20] = GETMESSAGE(8, 44, "Cannot find the specified font file.");
- errmsg_org[21] = GETMESSAGE(8, 46, "Cannot read NLS database.");
- errmsg_org[22] = GETMESSAGE(8, 48, "Cannot get charset names from NLS database.");
- errmsg_org[23] = GETMESSAGE(8, 50, "Charset name not defined in NLS database.");
- errmsg_org[24] = GETMESSAGE(8, 52, "The specified font has not been opened.");
- errmsg_org[25] = GETMESSAGE(8, 54, "Fatal error occurred.");
- resource.xlfd_label = GETMESSAGE(8, 56, "XLFD name :" ),
- resource.copy_xlfd_label = GETMESSAGE(8, 58, "Original font (XLFD name) :");
- resource.code_label = GETMESSAGE(8, 60, "UDC code area :");
- resource.style_label = GETMESSAGE(8, 62, "Style :");
- resource.size_label = GETMESSAGE(8, 64, "Size (letter size) :");
- resource.exec_label = GETMESSAGE(8, 66, "Open");
- resource.quit_label = GETMESSAGE(8, 68, "Cancel");
- resource.ok_label = GETMESSAGE(8, 70, "OK");
- resource.cancel_label = GETMESSAGE(8, 72, "cancel");
- resource.copy_orgin = GETMESSAGE(8, 74, "Copy orgin code(hex) :");
- resource.copy_target = GETMESSAGE(8, 76, "Copy target code(hex) :");
- resource.copy_label = GETMESSAGE(8, 78, "Copy");
- resource.overlay_label = GETMESSAGE(8, 80, "Overlay");
- explabel = GETMESSAGE(8, 82, "export function");
- implabel = GETMESSAGE(8, 84, "import function");
- exitlabel = GETMESSAGE(8, 86, "Cancel");
- /* initialize ed */
- if ((ed = (Exc_data *) malloc(sizeof(Exc_data))) == NULL) {
- excerror(ed, EXCERRMALLOC, "main", "exit");
- }
- memset(ed,0x00,sizeof(Exc_data));
- ed->app = app_context;
- ed->toplevel = toplevel;
- if (FalGetFontList(&key, mask, &fontlist) == FAL_ERROR) {
- fprintf( stderr, "GetFontList Err\n" );
- sprintf(err, "%s", ERROR_1);
- AskUser(ed->toplevel, ed, err, &ans, "error");
- /* AskUser(ed->toplevel, ed, msg1, &ans, "error");*/
- excexit(ed);
- }
- FalFreeFontList(fontlist);
- /* make main window */
- n = 0;
- XtSetArg( args[n], XmNautoUnmanage, False ) ; n++ ;
- XtSetArg(args[n], XmNtitle, maintitle); n++;
- mainw = XmCreateTemplateDialog(toplevel, "mainw", args, n);
- row = XtVaCreateManagedWidget("row", xmRowColumnWidgetClass, mainw,
- XmNradioBehavior, True,
- XmNradioAlwaysOne, True,
- NULL);
- expfunc = excCreateRadioButton(row, "expfunc", explabel,
- (XtCallbackProc) callexpCB, (XtPointer) ed);
- impfunc = excCreateRadioButton(row, "impfunc", implabel,
- (XtCallbackProc) callimpCB, (XtPointer) ed);
- exit = excCreatePushButton(mainw, "exit", exitlabel,
- (XtCallbackProc) exitCB, (XtPointer) ed);
- /* help = excCreatePushButton(mainw, "help", helplabel,
- (XtCallbackProc) helpCB, (XtPointer) ed);
- */
- XtVaSetValues(mainw,
- XmNmessageWindow, exit,
- NULL);
- XtManageChild(mainw);
- /* XtRealizeWidget(toplevel);*/
- XtAppMainLoop(app_context);
- }
- void callexpCB(Widget widget, Exc_data * ed, XtPointer call_data)
- {
- XtUnmanageChild(mainw);
- udcexp(ed);
- }
- void callimpCB(Widget widget, Exc_data * ed, XtPointer call_data)
- {
- XtUnmanageChild(mainw);
- udcimp(ed);
- }
- void exitCB(Widget widget, Exc_data * ed, XtPointer call_data)
- {
- excexit(ed);
- }
- /*void helpCB(Widget widget, Exc_data * ed, XtPointer call_data)
- {
- }*/
|