home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / x / volume21 / mrolo / part03 < prev    next >
Encoding:
Text File  |  1993-10-08  |  22.8 KB  |  662 lines

  1. Newsgroups: comp.sources.x
  2. From: gregor@kafka.saic.com (gregg hanna)
  3. Subject: v21i010:  mrolo - Motif rolodex, Part03/03
  4. Message-ID: <1993Oct9.012000.19282@sparky.sterling.com>
  5. X-Md4-Signature: 720668ee0405075ba8e1bf34d587fe22
  6. Sender: chris@sparky.sterling.com (Chris Olson)
  7. Organization: Sterling Software
  8. Date: Sat, 9 Oct 1993 01:20:00 GMT
  9. Approved: chris@sterling.com
  10.  
  11. Submitted-by: gregor@kafka.saic.com (gregg hanna)
  12. Posting-number: Volume 21, Issue 10
  13. Archive-name: mrolo/part03
  14. Environment: X11, OSF/Motif
  15. Supersedes: mrolo: Volume 20, Issue 96-97
  16.  
  17. #! /bin/sh
  18. # This is a shell archive.  Remove anything before this line, then unpack
  19. # it by saving it into a file and typing "sh file".  To overwrite existing
  20. # files, type "sh file -c".  You can also feed this as standard input via
  21. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  22. # will see the following message at the end:
  23. #        "End of archive 3 (of 3)."
  24. # Contents:  mrolo13/creation.c
  25. # Wrapped by gregor@kafka on Fri Sep  3 01:45:27 1993
  26. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  27. if test -f 'mrolo13/creation.c' -a "${1}" != "-c" ; then 
  28.   echo shar: Will not clobber existing file \"'mrolo13/creation.c'\"
  29. else
  30. echo shar: Extracting \"'mrolo13/creation.c'\" \(20608 characters\)
  31. sed "s/^X//" >'mrolo13/creation.c' <<'END_OF_FILE'
  32. X/* Copyright 1993 by gregg hanna */
  33. X/*
  34. X * Generated by the ICS builderXcessory (BX).
  35. X *
  36. X *
  37. X * Builder Xcessory 1.0.1.
  38. X *
  39. X */
  40. X
  41. X/*
  42. X * REQUIRED MOTIF INCLUDE FILES
  43. X */
  44. X#include <stdio.h>
  45. X#include <ctype.h>
  46. X#include <Xm/Xm.h>
  47. X#include <X11/Shell.h>
  48. X#include <Xm/Form.h>
  49. X#include <Xm/Label.h>
  50. X#include <Xm/List.h>
  51. X#include <Xm/MessageB.h>
  52. X#include <Xm/PushB.h>
  53. X#include <Xm/RowColumn.h>
  54. X#include <Xm/Separator.h>
  55. X#include <Xm/Text.h>
  56. X#include <Xm/ToggleB.h>
  57. X
  58. X#include "compat.h"
  59. X
  60. X/*
  61. X * CALLBACK PROCEDURE DECLARATIONS
  62. X */
  63. Xextern void ActuallyDeleteCard();
  64. Xextern void AddCard();
  65. Xextern void CancelCard();
  66. Xextern void DeleteCard();
  67. Xextern void DontDeleteCard();
  68. Xextern void OKCard();
  69. Xextern void QuitProg();
  70. Xextern void Selected();
  71. Xextern void SpinRolo();
  72. Xextern void ChangeFilter();
  73. Xextern void ClearFilter();
  74. Xextern void ReturnHit();
  75. Xextern void PickChange();
  76. Xextern void PickDone();
  77. Xextern void ManageArgAtClick();
  78. X
  79. XWidget ListForRolo;
  80. XWidget filterText;
  81. X
  82. XWidget picker;
  83. XWidget pickerButton;
  84. X
  85. XWidget CreatePicker(p)
  86. X     Widget p;
  87. X{
  88. X  Widget di, rc, t0, t1, t2, t3, bu, w;
  89. X  Arg args[15];
  90. X  XmString xstr;
  91. X  int n;
  92. X  Boolean bool;
  93. X  extern int selectFilter;
  94. X  extern int RoloSearch[4];
  95. X
  96. X  n = 0;
  97. X  XtSetArg(args[n], XmNx, 0); n++;
  98. X  XtSetArg(args[n], XmNy, 0); n++;
  99. X  picker = di = XmCreateFormDialog(p,"PickDialog",args,n);
  100. X
  101. X  XtVaSetValues(XtParent(di),XmNtitle,"Search Fields",NULL);
  102. X
  103. X  n = 0;
  104. X  XtSetArg(args[n],XmNleftAttachment,XmATTACH_FORM); n++;
  105. X  XtSetArg(args[n],XmNrightAttachment,XmATTACH_FORM); n++;
  106. X  XtSetArg(args[n],XmNbottomAttachment,XmATTACH_FORM); n++;
  107. X  XtSetArg(args[n],XmNalignment,XmALIGNMENT_CENTER); n++;
  108. X  bu = XmCreatePushButton(di,"Done",args,n);
  109. X  XtManageChild(bu);
  110. X  XtAddCallback(bu,XmNactivateCallback,PickDone,di);
  111. X
  112. X  n = 0;
  113. X  XtSetArg(args[n],XmNtopAttachment,XmATTACH_FORM); n++;
  114. X  XtSetArg(args[n],XmNleftAttachment,XmATTACH_FORM); n++;
  115. X  XtSetArg(args[n],XmNrightAttachment,XmATTACH_FORM); n++;
  116. X  XtSetArg(args[n],XmNbottomWidget,bu); n++;
  117. X  XtSetArg(args[n],XmNbottomAttachment,XmATTACH_WIDGET); n++;
  118. X  XtSetArg(args[n],XmNradioAlwaysOne,False); n++;
  119. X  XtSetArg(args[n],XmNradioBehavior,False); n++;
  120. X  XtSetArg(args[n],XmNorientation,XmVERTICAL); n++;
  121. X  XtSetArg(args[n],XmNpacking,XmPACK_COLUMN); n++;
  122. X  rc = XmCreateRowColumn(di,"PickRadio",args,n);
  123. X  /*rc = XmCreateRadioBox(di,"PickRadio",args,n);*/
  124. X  XtManageChild(rc);
  125. X
  126. X  w = XtNameToWidget(p,"*nameLabel");
  127. X  if ( w == NULL )
  128. X    xstr = XmStringCreateSimple("Name");
  129. X  else
  130. X    XtVaGetValues(w,XmNlabelString,&xstr,NULL);
  131. X  n = 0;
  132. X  XtSetArg(args[n],XmNlabelString,xstr); n++;
  133. X  XtSetArg(args[n],XmNindicatorType,XmN_OF_MANY); n++;
  134. X  t0 = XmCreateToggleButton(rc,"tbutton0",args,n);
  135. X  XmStringFree(xstr);
  136. X  XtManageChild(t0);
  137. X  XtAddCallback(t0,XmNvalueChangedCallback,PickChange,(caddr_t)0);
  138. X
  139. X  w = XtNameToWidget(p,"*primaryLabel");
  140. X  if ( w == NULL )
  141. X    xstr = XmStringCreateSimple("Primary Index");
  142. X  else
  143. X    XtVaGetValues(w,XmNlabelString,&xstr,NULL);
  144. X  n = 0;
  145. X  XtSetArg(args[n],XmNlabelString,xstr); n++;
  146. X  XtSetArg(args[n],XmNindicatorType,XmN_OF_MANY); n++;
  147. X  t1 = XmCreateToggleButton(rc,"tbutton1",args,n);
  148. X  XmStringFree(xstr);
  149. X  XtManageChild(t1);
  150. X  XtAddCallback(t1,XmNvalueChangedCallback,PickChange,(caddr_t)1);
  151. X
  152. X  w = XtNameToWidget(p,"*secondaryLabel");
  153. X  if ( w == NULL )
  154. X    xstr = XmStringCreateSimple("Secondary Index");
  155. X  else
  156. X    XtVaGetValues(w,XmNlabelString,&xstr,NULL);
  157. X  n = 0;
  158. X  XtSetArg(args[n],XmNlabelString,xstr); n++;
  159. X  XtSetArg(args[n],XmNindicatorType,XmN_OF_MANY); n++;
  160. X  t2 = XmCreateToggleButton(rc,"tbutton2",args,n);
  161. X  XmStringFree(xstr);
  162. X  XtManageChild(t2);
  163. X  XtAddCallback(t2,XmNvalueChangedCallback,PickChange,(caddr_t)2);
  164. X
  165. X  xstr = XmStringCreateSimple("Other Text");
  166. X  n = 0;
  167. X  XtSetArg(args[n],XmNlabelString,xstr); n++;
  168. X  XtSetArg(args[n],XmNindicatorType,XmN_OF_MANY); n++;
  169. X  t3 = XmCreateToggleButton(rc,"tbutton3",args,n);
  170. X  XmStringFree(xstr);
  171. X  XtManageChild(t3);
  172. X  XtAddCallback(t3,XmNvalueChangedCallback,PickChange,(caddr_t)3);
  173. X
  174. X  XtAddCallback(pickerButton, XmNactivateCallback, ManageArgAtClick, picker);
  175. X
  176. X  /* Init search flags to whatever the defaults were */
  177. X  XtVaGetValues(t0,XmNset,&bool,NULL);
  178. X  RoloSearch[0] = (bool?1:0);
  179. X  XtVaGetValues(t1,XmNset,&bool,NULL);
  180. X  RoloSearch[1] = (bool?1:0);
  181. X  XtVaGetValues(t2,XmNset,&bool,NULL);
  182. X  RoloSearch[2] = (bool?1:0);
  183. X  XtVaGetValues(t3,XmNset,&bool,NULL);
  184. X  RoloSearch[3] = (bool?1:0);
  185. X
  186. X  return di;
  187. X}
  188. X
  189. XWidget
  190. XCreateform(parent)
  191. XWidget parent;
  192. X{
  193. X    extern String indexElements;
  194. X    Arg        args[20];
  195. X    int        argcnt;
  196. X    Widget     retval;
  197. X    Widget    form;
  198. X    Widget    indexList;
  199. X    Widget    addressList;
  200. X    Widget    rowColumn;
  201. X    Widget    addCardButton;
  202. X    Widget    quitButton;
  203. X    Widget    clearButton;
  204. X    Widget    button;
  205. X    char        *s, *t, c;
  206. X
  207. X    XmRegisterConverters();
  208. X    argcnt = 0;
  209. X    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
  210. X    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
  211. X    form = XtCreateWidget("form",
  212. X        xmFormWidgetClass,
  213. X        parent,
  214. X        args,
  215. X        argcnt);
  216. X
  217. X    retval = form;
  218. X    argcnt = 0;
  219. X    XtSetArg(args[argcnt], XmNorientation, XmHORIZONTAL); argcnt++;
  220. X    XtSetArg(args[argcnt], XmNentryAlignment, XmALIGNMENT_CENTER); argcnt++;
  221. X    XtSetArg(args[argcnt], XmNadjustLast, False); argcnt++;
  222. X    XtSetArg(args[argcnt], XmNadjustMargin, False); argcnt++;
  223. X    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
  224. X    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
  225. X    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
  226. X    XtSetArg(args[argcnt], XmNleftOffset, (int)2); argcnt++;
  227. X    XtSetArg(args[argcnt], XmNrightOffset, (int)2); argcnt++;
  228. X    XtSetArg(args[argcnt], XmNtopOffset, (int)2); argcnt++;
  229. X    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
  230. X    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
  231. X    rowColumn = XtCreateWidget("rowColumn",
  232. X        xmRowColumnWidgetClass,
  233. X        form,
  234. X        args,
  235. X        argcnt);
  236. X
  237. X    XtManageChild(rowColumn);
  238. X
  239. X    argcnt = 0;
  240. X    XtSetArg(args[argcnt], XmNspacing, (short)0); argcnt++;
  241. X    XtSetArg(args[argcnt], XmNentryBorder, (short)0); argcnt++;
  242. X    XtSetArg(args[argcnt], XmNentryAlignment, XmALIGNMENT_CENTER); argcnt++;
  243. X    XtSetArg(args[argcnt], XmNisAligned, True); argcnt++;
  244. X    XtSetArg(args[argcnt], XmNpacking, XmPACK_TIGHT); argcnt++;
  245. X    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
  246. X    XtSetArg(args[argcnt], XmNleftOffset, (int)2); argcnt++;
  247. X    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
  248. X    XtSetArg(args[argcnt], XmNtopOffset, (int)2); argcnt++;
  249. X    XtSetArg(args[argcnt], XmNtopWidget, rowColumn); argcnt++;
  250. X    XtSetArg(args[argcnt], XmNx, 2); argcnt++;
  251. X    indexList = XtCreateWidget("indexList",
  252. X        xmRowColumnWidgetClass,
  253. X        form,
  254. X        args,
  255. X        argcnt);
  256. X    XtManageChild(indexList);
  257. X
  258. X    argcnt = 0;
  259. X    XtSetArg(args[argcnt], XmNhighlightThickness, 1); argcnt++;
  260. X    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
  261. X    XtSetArg(args[argcnt], XmNmarginHeight, 0); argcnt++;
  262. X    XtSetArg(args[argcnt], XmNmarginWidth, 0); argcnt++;
  263. X    XtSetArg(args[argcnt], XmNmarginTop, 0); argcnt++;
  264. X    XtSetArg(args[argcnt], XmNmarginBottom, 0); argcnt++;
  265. X    for ( s = indexElements; *s != '\0'; s = t ) {
  266. X      while ( isspace(*s) ) s++;
  267. X      for ( t = s; ! isspace(*t) && *t != '\0'; t++ );
  268. X      c = *t;
  269. X      *t = '\0';
  270. X      button = XmCreatePushButton(indexList,s,args,argcnt);
  271. X      XtAddCallback(button,XmNactivateCallback,SpinRolo,(caddr_t)mystrdup(s));
  272. X      XtManageChild(button);
  273. X      *t = c;
  274. X    }
  275. X    argcnt = 0;
  276. X    XtSetArg(args[argcnt], XmNtopWidget, rowColumn); argcnt++;
  277. X    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
  278. X    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
  279. X    XtSetArg(args[argcnt], XmNleftWidget, indexList); argcnt++;
  280. X    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
  281. X    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
  282. X    XtSetArg(args[argcnt], XmNtopOffset, (int)2); argcnt++;
  283. X    XtSetArg(args[argcnt], XmNbottomOffset, (int)2); argcnt++;
  284. X    XtSetArg(args[argcnt], XmNleftOffset, (int)2); argcnt++;
  285. X    XtSetArg(args[argcnt], XmNrightOffset, (int)2); argcnt++;
  286. X    XtSetArg(args[argcnt], XmNscrollBarDisplayPolicy, XmSTATIC); argcnt++;
  287. X    XtSetArg(args[argcnt], XmNselectionPolicy, XmSINGLE_SELECT); argcnt++;
  288. X    addressList = XmCreateScrolledList(form,"addressList",
  289. X        args,
  290. X        argcnt);
  291. X    ListForRolo = addressList;
  292. X
  293. X    XtAddCallback(addressList, XmNsingleSelectionCallback, Selected, (caddr_t)0);
  294. X    XtManageChild(addressList);
  295. X
  296. X    argcnt = 0;
  297. X    XtSetArg(args[argcnt], XmNalignment, XmALIGNMENT_CENTER); argcnt++;
  298. X    addCardButton = XtCreateWidget("addCardButton",
  299. X        xmPushButtonWidgetClass,
  300. X        rowColumn,
  301. X        args,
  302. X        argcnt);
  303. X
  304. X    XtAddCallback(addCardButton, XmNactivateCallback, AddCard, (caddr_t)0);
  305. X    XtManageChild(addCardButton);
  306. X    argcnt = 0;
  307. X    XtSetArg(args[argcnt], XmNalignment, XmALIGNMENT_CENTER); argcnt++;
  308. X    quitButton = XtCreateWidget("quitButton",
  309. X        xmPushButtonWidgetClass,
  310. X        rowColumn,
  311. X        args,
  312. X        argcnt);
  313. X
  314. X    XtAddCallback(quitButton, XmNactivateCallback, QuitProg, (caddr_t)0);
  315. X    XtManageChild(quitButton);
  316. X
  317. X    argcnt = 0;
  318. X    /*XtSetArg(args[argcnt], XmNcolumns, (short)12); argcnt++;*/
  319. X    XtSetArg(args[argcnt], XmNrows, (short)1); argcnt++;
  320. X    filterText = XtCreateWidget("filterText",
  321. X        xmTextWidgetClass,
  322. X        rowColumn,
  323. X        args,
  324. X        argcnt);
  325. X
  326. X    XtAddCallback(filterText, XmNactivateCallback, ChangeFilter, (caddr_t)0);
  327. X    XtManageChild(filterText);
  328. X
  329. X    argcnt = 0;
  330. X    XtSetArg(args[argcnt], XmNalignment, XmALIGNMENT_CENTER); argcnt++;
  331. X    clearButton = XtCreateWidget("clearButton",
  332. X        xmPushButtonWidgetClass,
  333. X        rowColumn,
  334. X        args,
  335. X        argcnt);
  336. X
  337. X    XtAddCallback(clearButton, XmNactivateCallback, ClearFilter, (caddr_t)0);
  338. X    XtManageChild(clearButton);
  339. X
  340. X    if ( selectFilter ) {
  341. X      argcnt = 0;
  342. X      XtSetArg(args[argcnt], XmNalignment, XmALIGNMENT_CENTER); argcnt++;
  343. X      pickerButton = XtCreateWidget("pickerButton",
  344. X                   xmPushButtonWidgetClass,
  345. X                   rowColumn,
  346. X                   args,
  347. X                   argcnt);
  348. X      XtManageChild(pickerButton);
  349. X    }
  350. X
  351. X    return( retval );
  352. X}
  353. X
  354. XWidget nameText, numberText, numberText2, commentText, deleteCardButton;
  355. X
  356. XWidget
  357. XCreateFormDialog(parent)
  358. XWidget parent;
  359. X{
  360. X    Arg        args[512];
  361. X    int        argcnt;
  362. X    Widget     retval;
  363. X    Widget    form1;
  364. X    Widget    nameLabel;
  365. X    Widget    primaryLabel;
  366. X    Widget    secondaryLabel;
  367. X    Widget    okButton;
  368. X    Widget    cancelButton;
  369. X    Widget    separator;
  370. X    Widget    rowColumn1;
  371. X    extern int selectFilter;
  372. X
  373. X    XmRegisterConverters();
  374. X    argcnt = 0;
  375. X    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
  376. X    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
  377. X    form1 = XmCreateFormDialog(parent,"Card View", args, argcnt);
  378. X    retval = form1;
  379. X
  380. X    XtVaSetValues(XtParent(form1),XmNtitle,"Card View",NULL);
  381. X    argcnt = 0;
  382. X    XtSetArg(args[argcnt], XmNseparatorType, 6); argcnt++;
  383. X    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_NONE); argcnt++;
  384. X    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
  385. X    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
  386. X    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
  387. X    XtSetArg(args[argcnt], XmNtopOffset, (int)0); argcnt++;
  388. X    XtSetArg(args[argcnt], XmNbottomOffset, (int)0); argcnt++;
  389. X    XtSetArg(args[argcnt], XmNleftOffset, (int)0); argcnt++;
  390. X    XtSetArg(args[argcnt], XmNrightOffset, (int)0); argcnt++;
  391. X    XtSetArg(args[argcnt], XmNheight, 10); argcnt++;
  392. X    separator = XtCreateWidget("separator",
  393. X        xmSeparatorWidgetClass,
  394. X        form1,
  395. X        args,
  396. X        argcnt);
  397. X
  398. X    XtManageChild(separator);
  399. X    argcnt = 0;
  400. X    XtSetArg(args[argcnt], XmNorientation, XmHORIZONTAL); argcnt++;
  401. X    XtSetArg(args[argcnt], XmNentryAlignment, XmALIGNMENT_CENTER); argcnt++;
  402. X    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
  403. X    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
  404. X    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_FORM); argcnt++;
  405. X    XtSetArg(args[argcnt], XmNleftOffset, (int)2); argcnt++;
  406. X    XtSetArg(args[argcnt], XmNrightOffset, (int)2); argcnt++;
  407. X    XtSetArg(args[argcnt], XmNbottomOffset, (int)2); argcnt++;
  408. X    rowColumn1 = XtCreateWidget("rowColumn1",
  409. X        xmRowColumnWidgetClass,
  410. X        form1,
  411. X        args,
  412. X        argcnt);
  413. X
  414. X    XtManageChild(rowColumn1);
  415. X
  416. X    argcnt = 0;
  417. X    okButton = XtCreateWidget("okButton",
  418. X        xmPushButtonWidgetClass,
  419. X        rowColumn1,
  420. X        args,
  421. X        argcnt);
  422. X
  423. X    XtAddCallback(okButton, XmNactivateCallback, OKCard, (caddr_t)0);
  424. X    XtManageChild(okButton);
  425. X    argcnt = 0;
  426. X    deleteCardButton = XtCreateWidget("deleteCardButton",
  427. X        xmPushButtonWidgetClass,
  428. X        rowColumn1,
  429. X        args,
  430. X        argcnt);
  431. X
  432. X    XtAddCallback(deleteCardButton, XmNactivateCallback, DeleteCard, (caddr_t)0);
  433. X    XtManageChild(deleteCardButton);
  434. X    argcnt = 0;
  435. X    cancelButton = XtCreateWidget("cancelButton",
  436. X        xmPushButtonWidgetClass,
  437. X        rowColumn1,
  438. X        args,
  439. X        argcnt);
  440. X
  441. X    XtAddCallback(cancelButton, XmNactivateCallback, CancelCard, (caddr_t)0);
  442. X    XtManageChild(cancelButton);
  443. X    argcnt = 0;
  444. X    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
  445. X    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
  446. X    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
  447. X    XtSetArg(args[argcnt], XmNtopOffset, (int)12); argcnt++;
  448. X    XtSetArg(args[argcnt], XmNleftOffset, (int)2); argcnt++;
  449. X    XtSetArg(args[argcnt], XmNwidth, 81); argcnt++;
  450. X    primaryLabel = XtCreateWidget("primaryLabel",
  451. X        xmLabelWidgetClass,
  452. X        form1,
  453. X        args,
  454. X        argcnt);
  455. X
  456. X    XtManageChild(primaryLabel);
  457. X    argcnt = 0;
  458. X    XtSetArg(args[argcnt], XmNmaxLength, (int)100); argcnt++;
  459. X    XtSetArg(args[argcnt], XmNeditMode, XmSINGLE_LINE_EDIT); argcnt++;
  460. X    XtSetArg(args[argcnt], XmNcolumns, (short)20); argcnt++;
  461. X    XtSetArg(args[argcnt], XmNrows, (short)1); argcnt++;
  462. X    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
  463. X    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
  464. X    XtSetArg(args[argcnt], XmNtopOffset, (int)-5); argcnt++;
  465. X    XtSetArg(args[argcnt], XmNleftOffset, (int)0); argcnt++;
  466. X    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_OPPOSITE_WIDGET); argcnt++;
  467. X    XtSetArg(args[argcnt], XmNtopWidget, primaryLabel); argcnt++;
  468. X    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
  469. X    XtSetArg(args[argcnt], XmNleftWidget, primaryLabel); argcnt++;
  470. X    numberText = XtCreateWidget("numberText",
  471. X        xmTextWidgetClass,
  472. X        form1,
  473. X        args,
  474. X        argcnt);
  475. X
  476. X    XtManageChild(numberText);
  477. X    XtAddCallback(numberText, XmNactivateCallback, ReturnHit, (caddr_t)0);
  478. X    argcnt = 0;
  479. X    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
  480. X    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
  481. X    XtSetArg(args[argcnt], XmNtopWidget, primaryLabel); argcnt++;
  482. X    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
  483. X    XtSetArg(args[argcnt], XmNtopOffset, (int)12); argcnt++;
  484. X    XtSetArg(args[argcnt], XmNleftOffset, (int)2); argcnt++;
  485. X    XtSetArg(args[argcnt], XmNwidth, 81); argcnt++;
  486. X    secondaryLabel = XtCreateWidget("secondaryLabel",
  487. X        xmLabelWidgetClass,
  488. X        form1,
  489. X        args,
  490. X        argcnt);
  491. X
  492. X    XtManageChild(secondaryLabel);
  493. X    argcnt = 0;
  494. X    XtSetArg(args[argcnt], XmNmaxLength, (int)100); argcnt++;
  495. X    XtSetArg(args[argcnt], XmNeditMode, XmSINGLE_LINE_EDIT); argcnt++;
  496. X    XtSetArg(args[argcnt], XmNcolumns, (short)20); argcnt++;
  497. X    XtSetArg(args[argcnt], XmNrows, (short)1); argcnt++;
  498. X    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
  499. X    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
  500. X    XtSetArg(args[argcnt], XmNtopOffset, (int)-5); argcnt++;
  501. X    XtSetArg(args[argcnt], XmNleftOffset, (int)0); argcnt++;
  502. X    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_OPPOSITE_WIDGET); argcnt++;
  503. X    XtSetArg(args[argcnt], XmNtopWidget, secondaryLabel); argcnt++;
  504. X    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
  505. X    XtSetArg(args[argcnt], XmNleftWidget, primaryLabel); argcnt++;
  506. X    numberText2 = XtCreateWidget("numberText",
  507. X        xmTextWidgetClass,
  508. X        form1,
  509. X        args,
  510. X        argcnt);
  511. X
  512. X    XtManageChild(numberText2);
  513. X    XtAddCallback(numberText2, XmNactivateCallback, ReturnHit, (caddr_t)0);
  514. X    argcnt = 0;
  515. X    XtSetArg(args[argcnt], XmNmaxLength, (int)100); argcnt++;
  516. X    XtSetArg(args[argcnt], XmNeditMode, XmSINGLE_LINE_EDIT); argcnt++;
  517. X    XtSetArg(args[argcnt], XmNcolumns, (short)35); argcnt++;
  518. X    XtSetArg(args[argcnt], XmNrows, (short)1); argcnt++;
  519. X    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
  520. X    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
  521. X    XtSetArg(args[argcnt], XmNtopOffset, (int)-5); argcnt++;
  522. X    XtSetArg(args[argcnt], XmNleftOffset, (int)0); argcnt++;
  523. X    nameText = XtCreateWidget("nameText",
  524. X        xmTextWidgetClass,
  525. X        form1,
  526. X        args,
  527. X        argcnt);
  528. X    XtManageChild(nameText);
  529. X    XtAddCallback(nameText, XmNactivateCallback, ReturnHit, (caddr_t)0);
  530. X    argcnt = 0;
  531. X    XtSetArg(args[argcnt], XmNrecomputeSize, False); argcnt++;
  532. X    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_FORM); argcnt++;
  533. X    XtSetArg(args[argcnt], XmNtopOffset, (int)12); argcnt++;
  534. X    XtSetArg(args[argcnt], XmNleftOffset, (int)2); argcnt++;
  535. X    XtSetArg(args[argcnt], XmNx, 2); argcnt++;
  536. X    XtSetArg(args[argcnt], XmNy, 2); argcnt++;
  537. X    XtSetArg(args[argcnt], XmNwidth, 81); argcnt++;
  538. X    nameLabel = XtCreateWidget("nameLabel",
  539. X        xmLabelWidgetClass,
  540. X        form1,
  541. X        args,
  542. X        argcnt);
  543. X    XtManageChild(nameLabel);
  544. X
  545. X    argcnt = 0;
  546. X    XtSetArg(args[argcnt], XmNscrollingPolicy, XmAUTOMATIC); argcnt++;
  547. X    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_FORM); argcnt++;
  548. X    XtSetArg(args[argcnt], XmNrightAttachment, XmATTACH_FORM); argcnt++;
  549. X    XtSetArg(args[argcnt], XmNbottomOffset, (int)2); argcnt++;
  550. X    XtSetArg(args[argcnt], XmNleftOffset, (int)2); argcnt++;
  551. X    XtSetArg(args[argcnt], XmNrightOffset, (int)2); argcnt++;
  552. X    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_WIDGET); argcnt++;
  553. X    XtSetArg(args[argcnt], XmNbottomWidget, separator); argcnt++;
  554. X    XtSetArg(args[argcnt], XmNeditMode, XmMULTI_LINE_EDIT); argcnt++;
  555. X    XtSetArg(args[argcnt], XmNtopOffset, (int)12); argcnt++;
  556. X    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
  557. X    XtSetArg(args[argcnt], XmNtopWidget, secondaryLabel); argcnt++;
  558. X    commentText = XmCreateScrolledText(form1,"commentText",
  559. X        args,
  560. X        argcnt);
  561. X    XtManageChild(commentText);
  562. X
  563. X    argcnt = 0;
  564. X    XtSetArg(args[argcnt], XmNtopOffset, (int)-5); argcnt++;
  565. X    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_OPPOSITE_WIDGET); argcnt++;
  566. X    XtSetArg(args[argcnt], XmNtopWidget, nameLabel); argcnt++;
  567. X    XtSetArg(args[argcnt], XmNleftOffset, (int)0); argcnt++;
  568. X    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_WIDGET); argcnt++;
  569. X    XtSetArg(args[argcnt], XmNleftWidget, nameLabel); argcnt++;
  570. X    XtSetValues(nameText, args, argcnt);
  571. X
  572. X    argcnt = 0;
  573. X    XtSetArg(args[argcnt], XmNtopOffset, (int)12); argcnt++;
  574. X    XtSetArg(args[argcnt], XmNtopAttachment, XmATTACH_WIDGET); argcnt++;
  575. X    XtSetArg(args[argcnt], XmNtopWidget, nameLabel); argcnt++;
  576. X    XtSetArg(args[argcnt], XmNleftOffset, (int)0); argcnt++;
  577. X    XtSetArg(args[argcnt], XmNleftAttachment, XmATTACH_OPPOSITE_WIDGET); argcnt++;
  578. X    XtSetArg(args[argcnt], XmNleftWidget, nameLabel); argcnt++;
  579. X    XtSetValues(primaryLabel, args, argcnt);
  580. X    argcnt = 0;
  581. X    XtSetArg(args[argcnt], XmNbottomOffset, (int)0); argcnt++;
  582. X    XtSetArg(args[argcnt], XmNbottomAttachment, XmATTACH_WIDGET); argcnt++;
  583. X    XtSetArg(args[argcnt], XmNbottomWidget, rowColumn1); argcnt++;
  584. X    XtSetValues(separator, args, argcnt);
  585. X
  586. X    return( retval );
  587. X}
  588. X
  589. XWidget
  590. XCreateMessageDialog(parent)
  591. XWidget parent;
  592. X{
  593. X    Arg        args[20];
  594. X    int        argcnt;
  595. X    XmString    xmstr[2];
  596. X    Widget    messageBox, help;
  597. X    argcnt = 0;
  598. X    XtSetArg(args[argcnt], XmNtitle, "Confirmation"); argcnt++;
  599. X    XtSetArg(args[argcnt], XmNmessageString, (xmstr[0]=XmStringCreateLtoR(
  600. X        "Save changes to this card?",
  601. X        XmSTRING_DEFAULT_CHARSET))); argcnt++;
  602. X    XtSetArg(args[argcnt], XmNmessageAlignment, XmALIGNMENT_CENTER); argcnt++;
  603. X    XtSetArg(args[argcnt], XmNx, 0); argcnt++;
  604. X    XtSetArg(args[argcnt], XmNy, 0); argcnt++;
  605. X    messageBox = XmCreateQuestionDialog(parent,"messageBox",args,argcnt);
  606. X    XmStringFree(xmstr[0]);
  607. X    XtAddCallback(messageBox, XmNcancelCallback, DontDeleteCard, (caddr_t)0);
  608. X    XtAddCallback(messageBox, XmNokCallback, ActuallyDeleteCard, (caddr_t)0);
  609. X    help = XmMessageBoxGetChild(messageBox,XmDIALOG_HELP_BUTTON);
  610. X    if ( help != NULL ) {
  611. X      XtUnmanageChild(help);
  612. X    }
  613. X    return messageBox;
  614. X}
  615. END_OF_FILE
  616. if test 20608 -ne `wc -c <'mrolo13/creation.c'`; then
  617.     echo shar: \"'mrolo13/creation.c'\" unpacked with wrong size!
  618. fi
  619. # end of 'mrolo13/creation.c'
  620. fi
  621. echo shar: End of archive 3 \(of 3\).
  622. cp /dev/null ark3isdone
  623. MISSING=""
  624. for I in 1 2 3 ; do
  625.     if test ! -f ark${I}isdone ; then
  626.     MISSING="${MISSING} ${I}"
  627.     fi
  628. done
  629. if test "${MISSING}" = "" ; then
  630.     echo You have unpacked all 3 archives.
  631.     rm -f ark[1-9]isdone
  632. else
  633.     echo You still need to unpack the following archives:
  634.     echo "        " ${MISSING}
  635. fi
  636. ##  End of shell archive.
  637. exit 0
  638.  
  639. exit 0 # Just in case...
  640. -- 
  641.   // chris@Sterling.COM           | Send comp.sources.x submissions to:
  642. \X/  Amiga - The only way to fly! |    sources-x@sterling.com
  643.  "It's intuitively obvious to the |
  644.   most casual observer..."        | GCS d+/-- p+ c++ l+ m+ s++/+ g+ w+ t+ r+ x+
  645.