home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-385-Vol-1of3.iso
/
m
/
master12.zip
/
mastering
/
textdemo.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-08-27
|
5KB
|
149 lines
#include <Xm/BulletinB.h>
#include <Xm/Label.h>
#include <Xm/Text.h>
#include <Xm/TextF.h>
/* Global Variables */
Display *display;
char new_string1[] = "\
As I was going to St. Ives\n\
I met a man with seven wives\n\
Each wife had seven sacks,\n\
Each sack had seven cats,\n\
Each cat had seven kits\n\
Kits, cats, sacks, and wives,\n\
How many were going to St. Ives?\n\
\n\
I don't know but...\n\
Jack Sprat could eat no fat\n\
His wife could eat no lean\n\
And so between them both\n\
They licked the platter clean";
void main(argc, argv)
int argc;
char **argv;
{
Widget toplevel;
Widget BBoard1;
Widget Text1, Text2, Text3, Text4;
Widget Label1, Label2, Label3, Label4;
Arg args[20];
int n;
XFontStruct *newfont;
XmFontList newfontlist;
Display *display;
XtAppContext app_context;
XmString label_string;
/* Initialize toolkit */
toplevel = XtAppInitialize(&app_context, "Textdemo", NULL, 0, &argc,
argv, NULL, args,
0);
/* Create bulletin board widget */
n = 0;
XtSetArg (args[n], XmNallowShellResize, True); n++;
XtSetArg (args[n], XmNheight, 500); n++;
XtSetArg (args[n], XmNwidth, 330); n++;
BBoard1 = XmCreateBulletinBoard(toplevel, "BBoard1", args, n);
XtManageChild(BBoard1);
newfont = XLoadQueryFont(XtDisplay(toplevel),"8x13");
newfontlist = XmFontListCreate(newfont, XmFONTLIST_DEFAULT_TAG);
/* Scrolled text widget */
/* Create a label for the scrolled text widget */
label_string = XmStringCreate("Scrolled Text Widget", XmFONTLIST_DEFAULT_TAG);
n = 0;
XtSetArg(args[n], XmNlabelString, label_string); n++;
Label1 = XmCreateLabel(BBoard1, "Label1", args, n);
XtManageChild(Label1);
XmStringFree (label_string);
/* Now create the scrolled text widget */
n = 0;
XtSetArg(args[n], XmNcolumns, 25); n++;
XtSetArg(args[n], XmNrows, 10); n++;
XtSetArg(args[n], XmNscrollVertical, True); n++;
XtSetArg(args[n], XmNscrollHorizontal, True); n++;
XtSetArg(args[n], XmNeditMode, XmMULTI_LINE_EDIT); n++;
XtSetArg(args[n], XmNvalue, new_string1); n++;
XtSetArg(args[n], XmNfontList, newfontlist); n++;
Text1 = XmCreateScrolledText(BBoard1, "Text1", args, n);
XtManageChild(Text1);
n = 0;
XtSetArg(args[n], XmNy, 30); n++;
XtSetValues(XtParent(Text1), args, n);
/* Single line text widget */
/* Create a label for the single line text widget */
label_string = XmStringCreate("Single-Line Text Widget", XmFONTLIST_DEFAULT_TAG);
n = 0;
XtSetArg(args[n], XmNy, 220); n++;
XtSetArg(args[n], XmNlabelString, label_string); n++;
Label2 = XmCreateLabel(BBoard1, "Label2", args, n);
XtManageChild(Label2);
XmStringFree (label_string);
/* Now create the single line text widget */
n = 0;
XtSetArg(args[n], XmNy, 240); n++;
XtSetArg(args[n], XmNcolumns, 25); n++;
XtSetArg(args[n], XmNrows, 1); n++;
XtSetArg(args[n], XmNeditMode, XmSINGLE_LINE_EDIT); n++;
XtSetArg(args[n], XmNvalue, new_string1); n++;
XtSetArg(args[n], XmNfontList, newfontlist); n++;
Text2 = XmCreateText(BBoard1, "Text2", args, n);
XtManageChild(Text2);
/* Multi-line text widget */
/* Create a label for the multi-line text widget */
label_string = XmStringCreate("Multi-Line Text Widget", XmFONTLIST_DEFAULT_TAG);
n = 0;
XtSetArg(args[n], XmNy, 290); n++;
XtSetArg(args[n], XmNlabelString, label_string); n++;
Label3 = XmCreateLabel(BBoard1, "Label3", args, n);
XtManageChild(Label3);
XmStringFree (label_string);
/* Now create the multi-line text widget */
n = 0;
XtSetArg(args[n], XmNy, 310); n++;
XtSetArg(args[n], XmNcolumns, 25); n++;
XtSetArg(args[n], XmNrows, 3); n++;
XtSetArg(args[n], XmNeditMode, XmMULTI_LINE_EDIT); n++;
XtSetArg(args[n], XmNvalue, new_string1); n++;
XtSetArg(args[n], XmNfontList, newfontlist); n++;
Text3 = XmCreateText(BBoard1, "Text3", args, n);
XtManageChild(Text3);
/* Text field widget */
/* Create a label for the multi-line text widget */
label_string = XmStringCreate("TextField Widget", XmFONTLIST_DEFAULT_TAG);
n = 0;
XtSetArg(args[n], XmNy, 390); n++;
XtSetArg(args[n], XmNlabelString, label_string); n++;
Label4 = XmCreateLabel(BBoard1, "Label4", args, n);
XtManageChild(Label4);
XmStringFree (label_string);
/* Now create the multi-line text widget */
n = 0;
XtSetArg(args[n], XmNy, 410); n++;
XtSetArg(args[n], XmNcolumns, 25); n++;
XtSetArg(args[n], XmNvalue, new_string1); n++;
XtSetArg(args[n], XmNfontList, newfontlist); n++;
Text4 = (Widget) XmCreateTextField(BBoard1, "Text4", args, n);
XtManageChild(Text4);
/* Free font list */
XmFontListFree (newfontlist);
/* Realize widgets and loop */
XtRealizeWidget(toplevel);
XtAppMainLoop(app_context);
}