home *** CD-ROM | disk | FTP | other *** search
- /*
- * Copyright (C) 1994, Silicon Graphics, Inc.
- * All Rights Reserved.
- *
- * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
- * the contents of this file may not be disclosed to third parties, copied or
- * duplicated in any form, in whole or in part, without the prior written
- * permission of Silicon Graphics, Inc.
- *
- * RESTRICTED RIGHTS LEGEND:
- * Use, duplication or disclosure by the Government is subject to restrictions
- * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
- * and Computer Software clause at DFARS 252.227-7013, and/or in similar or
- * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
- * rights reserved under the Copyright Laws of the United States.
- */
- #include <stdio.h>
- #include <Xm/Xm.h>
- #include <X11/Shell.h>
- #include <Xm/CutPaste.h>
- #include <Xm/Label.h>
- #include <Xm/LabelG.h>
- #include <Xm/MenuShell.h>
- #include <Xm/PushB.h>
- #include <Xm/PushBG.h>
- #include <Xm/RowColumn.h>
- #include <Xm/SeparatoG.h>
- #include <Xm/Separator.h>
- #include <Xm/Text.h>
-
- void quit_callback();
- void help_callback();
- void text_input();
-
- Widget text1;
- Widget text2;
- Widget text3;
-
- static unsigned long
- COLOR(w, name)
- Widget w;
- char *name;
- {
- XrmValue fromVal, toVal;
- unsigned long *pixel;
-
- fromVal.size = sizeof(char*);
- fromVal.addr = name;
-
- XtConvert(w, XmRString, &fromVal, XmRPixel, &toVal);
- pixel = (unsigned long*)toVal.addr;
- if( pixel == NULL )
- {
- fromVal.addr = XtDefaultBackground;
- XtConvert(w, XmRString, &fromVal, XmRPixel, &toVal);
- pixel = (unsigned long*)toVal.addr;
- }
- return(*pixel);
- }
-
- Widget
- CreaterowColumn(parent)
- Widget parent;
- {
- Arg args[512];
- int argcnt;
- Widget retval;
- XmString xmstr[32];
- XmString *xmstrTable[8];
- Widget rowColumn;
- Widget text;
- Widget separator;
- Widget separator1;
- Widget separator2;
- Widget pushButton;
- Widget pushButton1;
- Widget label;
- Widget label1;
- Widget label2;
- Widget label3;
- XmRegisterConverters();
-
- argcnt = 0;
- XtSetArg(args[argcnt], XmNbackground, COLOR(parent, "dark sea green")); argcnt++;
- XtSetArg(args[argcnt], XmNpacking, XmPACK_NONE); argcnt++;
- XtSetArg(args[argcnt], XmNx, 0); argcnt++;
- XtSetArg(args[argcnt], XmNy, 0); argcnt++;
- XtSetArg(args[argcnt], XmNwidth, 250); argcnt++;
- XtSetArg(args[argcnt], XmNheight, 235); argcnt++;
- rowColumn = XtCreateWidget("rowColumn",
- xmRowColumnWidgetClass,
- parent,
- args,
- argcnt);
-
- retval = rowColumn;
-
- argcnt = 0;
- XtSetArg(args[argcnt], XmNbackground, COLOR(parent, "grey")); argcnt++;
- XtSetArg(args[argcnt], XmNcolumns, (short)13); argcnt++;
- XtSetArg(args[argcnt], XmNrows, (short)1); argcnt++;
- XtSetArg(args[argcnt], XmNx, 50); argcnt++;
- XtSetArg(args[argcnt], XmNy, 20); argcnt++;
- text = XtCreateWidget("text",
- xmTextWidgetClass,
- rowColumn,
- args,
- argcnt);
-
- XtAddCallback(text, XmNactivateCallback, text_input, (caddr_t)0);
- XtManageChild(text);
-
- argcnt = 0;
- XtSetArg(args[argcnt], XmNbackground, COLOR(parent, "dark sea green")); argcnt++;
- XtSetArg(args[argcnt], XmNforeground, COLOR(parent, "dark green")); argcnt++;
- XtSetArg(args[argcnt], XmNx, 0); argcnt++;
- XtSetArg(args[argcnt], XmNy, 54); argcnt++;
- XtSetArg(args[argcnt], XmNwidth, 250); argcnt++;
- XtSetArg(args[argcnt], XmNheight, 24); argcnt++;
- separator = XtCreateWidget("separator",
- xmSeparatorWidgetClass,
- rowColumn,
- args,
- argcnt);
-
- XtManageChild(separator);
-
- argcnt = 0;
- XtSetArg(args[argcnt], XmNbackground, COLOR(parent, "grey")); argcnt++;
- XtSetArg(args[argcnt], XmNcolumns, (short)13); argcnt++;
- XtSetArg(args[argcnt], XmNrows, (short)1); argcnt++;
- XtSetArg(args[argcnt], XmNx, 50); argcnt++;
- XtSetArg(args[argcnt], XmNy, 80); argcnt++;
- text1 = XtCreateWidget("text1",
- xmTextWidgetClass,
- rowColumn,
- args,
- argcnt);
-
- XtManageChild(text1);
- XmTextSetEditable(text1,0);
-
- argcnt = 0;
- XtSetArg(args[argcnt], XmNbackground, COLOR(parent, "grey")); argcnt++;
- XtSetArg(args[argcnt], XmNcolumns, (short)13); argcnt++;
- XtSetArg(args[argcnt], XmNrows, (short)1); argcnt++;
- XtSetArg(args[argcnt], XmNx, 50); argcnt++;
- XtSetArg(args[argcnt], XmNy, 110); argcnt++;
- text2 = XtCreateWidget("text2",
- xmTextWidgetClass,
- rowColumn,
- args,
- argcnt);
-
- XtManageChild(text2);
- XmTextSetEditable(text2,0);
-
- argcnt = 0;
- XtSetArg(args[argcnt], XmNbackground, COLOR(parent, "grey")); argcnt++;
- XtSetArg(args[argcnt], XmNcolumns, (short)13); argcnt++;
- XtSetArg(args[argcnt], XmNrows, (short)1); argcnt++;
- XtSetArg(args[argcnt], XmNx, 50); argcnt++;
- XtSetArg(args[argcnt], XmNy, 140); argcnt++;
- text3 = XtCreateWidget("text3",
- xmTextWidgetClass,
- rowColumn,
- args,
- argcnt);
-
- XtManageChild(text3);
- XmTextSetEditable(text3,0);
-
- argcnt = 0;
- XtSetArg(args[argcnt], XmNbackground, COLOR(parent, "dark sea green")); argcnt++;
- XtSetArg(args[argcnt], XmNx, 0); argcnt++;
- XtSetArg(args[argcnt], XmNy, 170); argcnt++;
- XtSetArg(args[argcnt], XmNwidth, 252); argcnt++;
- XtSetArg(args[argcnt], XmNheight, 24); argcnt++;
- separator1 = XtCreateWidget("separator1",
- xmSeparatorWidgetClass,
- rowColumn,
- args,
- argcnt);
-
- XtManageChild(separator1);
-
- argcnt = 0;
- XtSetArg(args[argcnt], XmNbackground, COLOR(parent, "dark sea green")); argcnt++;
- XtSetArg(args[argcnt], XmNx, 0); argcnt++;
- XtSetArg(args[argcnt], XmNy, 234); argcnt++;
- XtSetArg(args[argcnt], XmNwidth, 249); argcnt++;
- XtSetArg(args[argcnt], XmNheight, 1); argcnt++;
- separator2 = XtCreateWidget("separator2",
- xmSeparatorWidgetClass,
- rowColumn,
- args,
- argcnt);
-
- XtManageChild(separator2);
- argcnt = 0;
- XtSetArg(args[argcnt], XmNbackground, COLOR(parent, "grey")); argcnt++;
- XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
- "Help",
- XmSTRING_DEFAULT_CHARSET))); argcnt++;
- XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
- XtSetArg(args[argcnt], XmNx, 30); argcnt++;
- XtSetArg(args[argcnt], XmNy, 195); argcnt++;
- XtSetArg(args[argcnt], XmNwidth, 60); argcnt++;
- XtSetArg(args[argcnt], XmNheight, 30); argcnt++;
- pushButton = XtCreateWidget("pushButton",
- xmPushButtonWidgetClass,
- rowColumn,
- args,
- argcnt);
- XmStringFree( xmstr[0] );
-
- XtAddCallback(pushButton, XmNactivateCallback, help_callback, (caddr_t)0);
- XtManageChild(pushButton);
-
- argcnt = 0;
- XtSetArg(args[argcnt], XmNbackground, COLOR(parent, "grey")); argcnt++;
- XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
- "Quit",
- XmSTRING_DEFAULT_CHARSET))); argcnt++;
- XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
- XtSetArg(args[argcnt], XmNx, 160); argcnt++;
- XtSetArg(args[argcnt], XmNy, 195); argcnt++;
- XtSetArg(args[argcnt], XmNwidth, 60); argcnt++;
- XtSetArg(args[argcnt], XmNheight, 30); argcnt++;
- pushButton1 = XtCreateWidget("pushButton1",
- xmPushButtonWidgetClass,
- rowColumn,
- args,
- argcnt);
- XmStringFree( xmstr[0] );
-
- XtAddCallback(pushButton1, XmNactivateCallback, quit_callback, (caddr_t)0);
- XtManageChild(pushButton1);
-
- argcnt = 0;
- XtSetArg(args[argcnt], XmNbackground, COLOR(parent, "dark sea green")); argcnt++;
- XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
- "HEX",
- XmSTRING_DEFAULT_CHARSET))); argcnt++;
- XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
- XtSetArg(args[argcnt], XmNx, 5); argcnt++;
- XtSetArg(args[argcnt], XmNy, 82); argcnt++;
- XtSetArg(args[argcnt], XmNwidth, 42); argcnt++;
- XtSetArg(args[argcnt], XmNheight, 26); argcnt++;
- label = XtCreateWidget("label",
- xmLabelWidgetClass,
- rowColumn,
- args,
- argcnt);
- XmStringFree( xmstr[0] );
-
- XtManageChild(label);
-
- argcnt = 0;
- XtSetArg(args[argcnt], XmNbackground, COLOR(parent, "dark sea green")); argcnt++;
- XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
- "OCT",
- XmSTRING_DEFAULT_CHARSET))); argcnt++;
- XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
- XtSetArg(args[argcnt], XmNx, 5); argcnt++;
- XtSetArg(args[argcnt], XmNy, 112); argcnt++;
- XtSetArg(args[argcnt], XmNwidth, 43); argcnt++;
- XtSetArg(args[argcnt], XmNheight, 25); argcnt++;
- label1 = XtCreateWidget("label1",
- xmLabelWidgetClass,
- rowColumn,
- args,
- argcnt);
- XmStringFree( xmstr[0] );
-
- XtManageChild(label1);
-
- argcnt = 0;
- XtSetArg(args[argcnt], XmNbackground, COLOR(parent, "dark sea green")); argcnt++;
- XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
- "DEC",
- XmSTRING_DEFAULT_CHARSET))); argcnt++;
- XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
- XtSetArg(args[argcnt], XmNx, 5); argcnt++;
- XtSetArg(args[argcnt], XmNy, 142); argcnt++;
- XtSetArg(args[argcnt], XmNwidth, 42); argcnt++;
- XtSetArg(args[argcnt], XmNheight, 25); argcnt++;
- label2 = XtCreateWidget("label2",
- xmLabelWidgetClass,
- rowColumn,
- args,
- argcnt);
- XmStringFree( xmstr[0] );
-
- XtManageChild(label2);
-
- argcnt = 0;
- XtSetArg(args[argcnt], XmNbackground, COLOR(parent, "dark sea green")); argcnt++;
- XtSetArg(args[argcnt], XmNlabelString, (xmstr[0]=XmStringCreateLtoR(
- "INP",
- XmSTRING_DEFAULT_CHARSET))); argcnt++;
- XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
- XtSetArg(args[argcnt], XmNx, 5); argcnt++;
- XtSetArg(args[argcnt], XmNy, 22); argcnt++;
- XtSetArg(args[argcnt], XmNwidth, 41); argcnt++;
- XtSetArg(args[argcnt], XmNheight, 28); argcnt++;
- label3 = XtCreateWidget("label3",
- xmLabelWidgetClass,
- rowColumn,
- args,
- argcnt);
- XmStringFree( xmstr[0] );
-
- XtManageChild(label3);
-
- return( retval );
- }
-
- void
- quit_callback(w, client, call)
- Widget w;
- caddr_t client;
- caddr_t call;
- {
- exit(0);
- }
-
- void
- help_callback(w, client, call)
- Widget w;
- caddr_t client;
- caddr_t call;
- {
- printf("\n*******************************\n");
- printf("enter a number in input field\n");
- printf("eg. 0x10067 for hex \n");
- printf(" 0345 for octal \n");
- printf(" 19067 for decimal \n");
- printf("*******************************\n");
- }
-
- void
- text_input(w, client, call)
- Widget w;
- caddr_t client;
- caddr_t call;
- {
- int i;
- char *t;
- char to[32],th[32],td[32];
-
- t = XmTextGetString(w);
-
- sscanf(t,"%i",&i);
-
- sprintf(td,"%d",i);
- sprintf(to,"%o",i);
- sprintf(th,"%x",i);
-
- XmTextSetString(text1,th);
- XmTextSetString(text2,to);
- XmTextSetString(text3,td);
-
- XtFree(t);
-
- }
-