|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* Motif
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* Copyright (c) 1987-2012, The Open Group. All rights reserved.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* These libraries and programs are free software; you can
|
|
Packit |
b099d7 |
* redistribute them and/or modify them under the terms of the GNU
|
|
Packit |
b099d7 |
* Lesser General Public License as published by the Free Software
|
|
Packit |
b099d7 |
* Foundation; either version 2 of the License, or (at your option)
|
|
Packit |
b099d7 |
* any later version.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* These libraries and programs are distributed in the hope that
|
|
Packit |
b099d7 |
* they will be useful, but WITHOUT ANY WARRANTY; without even the
|
|
Packit |
b099d7 |
* implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
|
Packit |
b099d7 |
* PURPOSE. See the GNU Lesser General Public License for more
|
|
Packit |
b099d7 |
* details.
|
|
Packit |
b099d7 |
*
|
|
Packit |
b099d7 |
* You should have received a copy of the GNU Lesser General Public
|
|
Packit |
b099d7 |
* License along with these librararies and programs; if not, write
|
|
Packit |
b099d7 |
* to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
|
|
Packit |
b099d7 |
* Floor, Boston, MA 02110-1301 USA
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
/*
|
|
Packit |
b099d7 |
* HISTORY
|
|
Packit |
b099d7 |
*/
|
|
Packit |
b099d7 |
#ifdef REV_INFO
|
|
Packit |
b099d7 |
#ifndef lint
|
|
Packit |
b099d7 |
static char rcsid[] = "$XConsortium: xmAuto.c /main/4 1995/07/13 20:57:42 drk $Date: 92/03/13
|
|
Packit |
b099d7 |
18:36:34 $"
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
#endif
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
#include <testlib.h>
|
|
Packit |
b099d7 |
#include <xmAuto.h>
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
void main(argc, argv)
|
|
Packit |
b099d7 |
int argc;
|
|
Packit |
b099d7 |
char **argv;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
int n, i;
|
|
Packit |
b099d7 |
Arg args[MAX_ARGS];
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtToolkitInitialize();
|
|
Packit |
b099d7 |
app_context = XtCreateApplicationContext();
|
|
Packit |
b099d7 |
display = XtOpenDisplay(app_context, NULL, argv[0], "XMauto",
|
|
Packit |
b099d7 |
NULL, 0, &argc, argv);
|
|
Packit |
b099d7 |
if (display == NULL) {
|
|
Packit |
b099d7 |
fprintf(stderr, "%s: Can't open display\n", argv[0]);
|
|
Packit |
b099d7 |
exit(1);
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNallowShellResize, True); n++;
|
|
Packit |
b099d7 |
Shell1 = XtAppCreateShell(argv[0], "XMauto",
|
|
Packit |
b099d7 |
applicationShellWidgetClass, display, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CreateLayout();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CreateDialogs();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtRealizeWidget(Shell1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAppMainLoop(app_context);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void CreateLayout()
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Arg args[MAX_ARGS];
|
|
Packit |
b099d7 |
int n;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
Widget Form, RadioBox1, RadioBox2;
|
|
Packit |
b099d7 |
Widget Frame0, Frame1, Frame2, Frame3;
|
|
Packit |
b099d7 |
Widget Frame4, Frame5;
|
|
Packit |
b099d7 |
Widget Frame1Title, Frame2Title, Frame3Title;
|
|
Packit |
b099d7 |
Widget Frame4Title, Frame5Title;
|
|
Packit |
b099d7 |
Widget RowCol1, RowCol2, RowCol3;
|
|
Packit |
b099d7 |
Widget PushVisualFile, PushDataFile, PushScriptFile;
|
|
Packit |
b099d7 |
Widget PushInstructions, PushFailColor, PushExtra;
|
|
Packit |
b099d7 |
Widget PushRun, PushQuit, PushAddTest, PushClear;
|
|
Packit |
b099d7 |
Widget PushRead, PushWrite, PushSave;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmString tcs;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
Frame0 = XmCreateFrame(Shell1, "Frame0", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Frame0);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Automation Test Execution Environment");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNchildType, XmFRAME_TITLE_CHILD); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNchildHorizontalAlignment,
|
|
Packit |
b099d7 |
XmALIGNMENT_CENTER); n++;
|
|
Packit |
b099d7 |
Frame1Title = XmCreateLabel(Frame0, "Frame1Title", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Frame1Title);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNmarginWidth, 10); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNmarginHeight, 10); n++;
|
|
Packit |
b099d7 |
Form = XmCreateForm(Frame0, "Form", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Form);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
Frame1 = XmCreateFrame(Form, "Frame1", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Frame1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Tests to be run");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNchildType, XmFRAME_TITLE_CHILD); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNchildHorizontalAlignment,
|
|
Packit |
b099d7 |
XmALIGNMENT_CENTER); n++;
|
|
Packit |
b099d7 |
Frame1Title = XmCreateLabel(Frame1, "Frame1Title", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Frame1Title);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNvisibleItemCount, 10); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNwidth, 200); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlistSizePolicy, XmCONSTANT); n++;
|
|
Packit |
b099d7 |
List1 = XmCreateScrolledList(Frame1, "List1", args, n);
|
|
Packit |
b099d7 |
XtManageChild(List1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(List1, XmNbrowseSelectionCallback, BrowseCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftWidget, Frame1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftOffset, 10); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
Frame2 = XmCreateFrame(Form, "Frame2", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Frame2);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Execution Mode");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNchildType, XmFRAME_TITLE_CHILD); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNchildHorizontalAlignment,
|
|
Packit |
b099d7 |
XmALIGNMENT_BEGINNING); n++;
|
|
Packit |
b099d7 |
Frame2Title = XmCreateLabel(Frame2, "Frame2Title", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Frame2Title);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
RadioBox1 = XmCreateRadioBox(Frame2, "RadioBox1", args, n);
|
|
Packit |
b099d7 |
XtManageChild(RadioBox1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Interactive Manual Mode");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
ToggleManual = XmCreateToggleButton(RadioBox1, "ToggleManual", args, n);
|
|
Packit |
b099d7 |
XtManageChild(ToggleManual);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(ToggleManual, XmNarmCallback, SimpleCB, MANUAL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Record Mode");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
ToggleRecord = XmCreateToggleButton(RadioBox1, "ToggleRecord", args, n);
|
|
Packit |
b099d7 |
XtManageChild(ToggleRecord);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(ToggleRecord, XmNarmCallback, SimpleCB, RECORD);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Compare Mode");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNset, True); n++;
|
|
Packit |
b099d7 |
ToggleCompare = XmCreateToggleButton(RadioBox1, "ToggleCompare", args, n);
|
|
Packit |
b099d7 |
XtManageChild(ToggleCompare);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(ToggleCompare, XmNarmCallback, SimpleCB, COMPARE);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Ignore Comparsions");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
ToggleIgnore = XmCreateToggleButton(RadioBox1, "ToggleIgnore", args, n);
|
|
Packit |
b099d7 |
XtManageChild(ToggleIgnore);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(ToggleIgnore, XmNarmCallback, SimpleCB, IGNORE);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftWidget, Frame2); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftOffset, 10); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
Frame3 = XmCreateFrame(Form, "Frame3", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Frame3);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Extra Options");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNchildType, XmFRAME_TITLE_CHILD); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNchildHorizontalAlignment,
|
|
Packit |
b099d7 |
XmALIGNMENT_BEGINNING); n++;
|
|
Packit |
b099d7 |
Frame3Title = XmCreateLabel(Frame3, "Frame3Title", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Frame3Title);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
RowCol1 = XmCreateRowColumn(Frame3, "RowCol1", args, n);
|
|
Packit |
b099d7 |
XtManageChild(RowCol1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Full Error Reporting");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
ToggleFull = XmCreateToggleButton(RowCol1, "ToggleFull", args, n);
|
|
Packit |
b099d7 |
XtManageChild(ToggleFull);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(ToggleFull, XmNarmCallback, SimpleCB, FULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Produce xwd Window dumps on failures");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
ToggleWinDump = XmCreateToggleButton(RowCol1, "ToggleWinDump", args, n);
|
|
Packit |
b099d7 |
XtManageChild(ToggleWinDump);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(ToggleWinDump, XmNarmCallback, SimpleCB, DUMP);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Trace mode");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
ToggleTrace = XmCreateToggleButton(RowCol1, "ToggleTrace", args, n);
|
|
Packit |
b099d7 |
XtManageChild(ToggleTrace);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(ToggleTrace, XmNarmCallback, SimpleCB, TRACE);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftWidget, Frame1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftOffset, 10); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopWidget, Frame2); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopOffset, 20); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
Frame4 = XmCreateFrame(Form, "Frame4", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Frame4);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Options");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNchildType, XmFRAME_TITLE_CHILD); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNchildHorizontalAlignment,
|
|
Packit |
b099d7 |
XmALIGNMENT_BEGINNING); n++;
|
|
Packit |
b099d7 |
Frame4Title = XmCreateLabel(Frame4, "Frame4Title", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Frame4Title);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNentryAlignment, XmALIGNMENT_CENTER); n++;
|
|
Packit |
b099d7 |
RowCol2 = XmCreateRowColumn(Frame4, "RowCol2", args, n);
|
|
Packit |
b099d7 |
XtManageChild(RowCol2);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Delay Time");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtitleString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNmaximum, 50); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNminimum, 0); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNvalue, 0); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNorientation, XmHORIZONTAL); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNshowValue, True); n++;
|
|
Packit |
b099d7 |
ScaleDelay = XmCreateScale(RowCol2, "ScaleDelay", args, n);
|
|
Packit |
b099d7 |
XtManageChild(ScaleDelay);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(ScaleDelay, XmNvalueChangedCallback, SimpleCB, DELAY);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Change Failure Color");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
PushFailColor = XmCreatePushButton(RowCol2, "PushFailColor", args, n);
|
|
Packit |
b099d7 |
XtManageChild(PushFailColor);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(PushFailColor, XmNactivateCallback, PromptCB, COLOR);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Change Input Instructions File");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
PushInstructions = XmCreatePushButton(RowCol2, "PushInstructions", args, n);
|
|
Packit |
b099d7 |
XtManageChild(PushInstructions);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(PushInstructions, XmNactivateCallback,
|
|
Packit |
b099d7 |
FileSelectCB, INSTRUCT);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Change Input Script File");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
PushScriptFile = XmCreatePushButton(RowCol2, "PushScriptFile", args, n);
|
|
Packit |
b099d7 |
XtManageChild(PushScriptFile);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(PushScriptFile, XmNactivateCallback, FileSelectCB, SCRIPT);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Change Output Visual File");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
PushVisualFile = XmCreatePushButton(RowCol2, "PushVisualFile", args, n);
|
|
Packit |
b099d7 |
XtManageChild(PushVisualFile);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(PushVisualFile, XmNactivateCallback, FileSelectCB, VISUAL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Change Output Data File");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
PushDataFile = XmCreatePushButton(RowCol2, "PushDataFile", args, n);
|
|
Packit |
b099d7 |
XtManageChild(PushDataFile);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(PushDataFile, XmNactivateCallback, FileSelectCB, OUTPUT);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Add Extra Arguments");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
PushExtra = XmCreatePushButton(RowCol2, "PushExtra", args, n);
|
|
Packit |
b099d7 |
XtManageChild(PushExtra);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(PushExtra, XmNactivateCallback, PromptCB, EXTRA);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopWidget, Frame1); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopOffset, 10); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightWidget, Frame4); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightOffset, 10); n++;
|
|
Packit |
b099d7 |
Frame5 = XmCreateFrame(Form, "Frame5", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Frame5);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Control");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNchildType, XmFRAME_TITLE_CHILD); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNchildHorizontalAlignment,
|
|
Packit |
b099d7 |
XmALIGNMENT_BEGINNING); n++;
|
|
Packit |
b099d7 |
Frame5Title = XmCreateLabel(Frame5, "Frame5Title", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Frame5Title);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNentryAlignment, XmALIGNMENT_CENTER); n++;
|
|
Packit |
b099d7 |
RowCol3 = XmCreateRowColumn(Frame5, "RowCol3", args, n);
|
|
Packit |
b099d7 |
XtManageChild(RowCol3);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Add Test");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
PushAddTest = XmCreatePushButton(RowCol3, "PushAddTest", args, n);
|
|
Packit |
b099d7 |
XtManageChild(PushAddTest);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(PushAddTest, XmNactivateCallback, AddTestCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Run Tests");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
PushRun = XmCreatePushButton(RowCol3, "PushRun", args, n);
|
|
Packit |
b099d7 |
XtManageChild(PushRun);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Clear Args");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
PushClear = XmCreatePushButton(RowCol3, "PushClear", args, n);
|
|
Packit |
b099d7 |
XtManageChild(PushClear);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(PushClear, XmNactivateCallback, ClearCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Write Tests to file");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
PushWrite = XmCreatePushButton(RowCol3, "PushWrite", args, n);
|
|
Packit |
b099d7 |
XtManageChild(PushWrite);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(PushWrite, XmNactivateCallback, FileSelectCB, WRITE);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Read Tests from file");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
PushRead = XmCreatePushButton(RowCol3, "PushRead", args, n);
|
|
Packit |
b099d7 |
XtManageChild(PushRead);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(PushRead, XmNactivateCallback, FileSelectCB, READ);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Save Test to List");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
PushSave = XmCreatePushButton(RowCol3, "PushSave", args, n);
|
|
Packit |
b099d7 |
XtManageChild(PushSave);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(PushSave, XmNactivateCallback, SaveToListCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Quit");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
PushQuit = XmCreatePushButton(RowCol3, "PushQuit", args, n);
|
|
Packit |
b099d7 |
XtManageChild(PushQuit);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(PushQuit, XmNactivateCallback, QuitCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("Current Test String:: None");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopAttachment, XmATTACH_WIDGET); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopWidget, Frame5); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtopOffset, 20); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNrightAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNleftAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNbottomAttachment, XmATTACH_FORM); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
Label1 = XmCreateLabel(Form, "Label1", args, n);
|
|
Packit |
b099d7 |
XtManageChild(Label1);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void CreateDialogs()
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Arg args[2];
|
|
Packit |
b099d7 |
int n;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdirectory, NULL); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNautoUnmanage, True); n++;
|
|
Packit |
b099d7 |
FileSelectBox =
|
|
Packit |
b099d7 |
XmCreateFileSelectionDialog(Shell1, "FileSelectBox", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNautoUnmanage, True); n++;
|
|
Packit |
b099d7 |
PromptDialog = XmCreatePromptDialog(Shell1, "PromptDialog", args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void ResetFSB()
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XmString tcs;
|
|
Packit |
b099d7 |
Arg args[2];
|
|
Packit |
b099d7 |
int n;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("*");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNdirectory, NULL); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpattern, tcs); n++;
|
|
Packit |
b099d7 |
XtSetValues(FileSelectBox, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtRemoveAllCallbacks(FileSelectBox, XmNokCallback);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void AddTestCB(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
Arg args[1];
|
|
Packit |
b099d7 |
XmString tcs;
|
|
Packit |
b099d7 |
int n;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
ClearArgs();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
ResetFSB();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple("*.c");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNpattern, tcs); n++;
|
|
Packit |
b099d7 |
XtSetValues(FileSelectBox, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtAddCallback(FileSelectBox, XmNokCallback, GetTestNameCB, NULL);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtManageChild(FileSelectBox);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void GetTestNameCB(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XmFileSelectionBoxCallbackStruct *FSBStruct =
|
|
Packit |
b099d7 |
((XmFileSelectionBoxCallbackStruct *)call_data);
|
|
Packit |
b099d7 |
int length, i;
|
|
Packit |
b099d7 |
String value;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
for (i = 0 ; i < strlen(CurrentTestString) ; i++)
|
|
Packit |
b099d7 |
CurrentTestString[i] = ' ';
|
|
Packit |
b099d7 |
XmStringGetLtoR(FSBStruct->value, XmSTRING_DEFAULT_CHARSET, &value);
|
|
Packit |
b099d7 |
length = strlen(value);
|
|
Packit |
b099d7 |
strncpy(CurrentTestString, value, length - 2);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtFree(value);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
BuildTestString(True);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void BuildTestString(set)
|
|
Packit |
b099d7 |
Boolean set;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XmString tcs;
|
|
Packit |
b099d7 |
Arg args[MAX_ARGS];
|
|
Packit |
b099d7 |
int n;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
strcpy(LabelString, "Current Test String:: ");
|
|
Packit |
b099d7 |
strcat(LabelString, CurrentTestString);
|
|
Packit |
b099d7 |
strcat(LabelString, " ");
|
|
Packit |
b099d7 |
strcat(LabelString, arguments);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple(LabelString);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetValues(Label1, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if (set) {
|
|
Packit |
b099d7 |
tcs = XmStringCreateSimple(CurrentTestString);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmListAddItemUnselected(List1, tcs, 0);
|
|
Packit |
b099d7 |
XmListSetHorizPos(List1, 200);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNitemCount, &list_pos); n++;
|
|
Packit |
b099d7 |
XtGetValues(List1, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void SimpleCB(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
int i, type, n;
|
|
Packit |
b099d7 |
Arg args[5];
|
|
Packit |
b099d7 |
char tmp_str[5];
|
|
Packit |
b099d7 |
String value = NULL;
|
|
Packit |
b099d7 |
XmString tcs = NULL;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
int scale_value;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
type = (int) client_data;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
switch(type) {
|
|
Packit |
b099d7 |
case MANUAL: if (!manual)
|
|
Packit |
b099d7 |
strcat(arguments, " -m ");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case RECORD: if (!record)
|
|
Packit |
b099d7 |
strcat(arguments, " -r ");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case IGNORE: if (!ignore)
|
|
Packit |
b099d7 |
strcat(arguments, " -c ");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case FULL: if (!full)
|
|
Packit |
b099d7 |
strcat(arguments, " -a ");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case DUMP: if (!dumps)
|
|
Packit |
b099d7 |
strcat(arguments, " -W ");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case TRACE: if (!trace)
|
|
Packit |
b099d7 |
strcat(arguments, " -T ");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case DELAY: XmScaleGetValue(ScaleDelay, &scale_value);
|
|
Packit |
b099d7 |
if (scale_value != 0) {
|
|
Packit |
b099d7 |
strcat(arguments, " -D ");
|
|
Packit |
b099d7 |
sprintf(tmp_str, "%d ", scale_value);
|
|
Packit |
b099d7 |
strcat(arguments, tmp_str);
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case COLOR: n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtextString, &tcs;; n++;
|
|
Packit |
b099d7 |
XtGetValues(PromptDialog, args, n);
|
|
Packit |
b099d7 |
XmStringGetLtoR(tcs, XmSTRING_DEFAULT_CHARSET, &value);
|
|
Packit |
b099d7 |
if (strcmp(value, "") != 0) {
|
|
Packit |
b099d7 |
strcat(arguments, " -C ");
|
|
Packit |
b099d7 |
strcat(arguments, value);
|
|
Packit |
b099d7 |
strcat(arguments, " ");
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case EXTRA: n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNtextString, &tcs;; n++;
|
|
Packit |
b099d7 |
XtGetValues(PromptDialog, args, n);
|
|
Packit |
b099d7 |
XmStringGetLtoR(tcs, XmSTRING_DEFAULT_CHARSET, &value);
|
|
Packit |
b099d7 |
if (strcmp(value, "") != 0) {
|
|
Packit |
b099d7 |
strcat(arguments, " ");
|
|
Packit |
b099d7 |
strcat(arguments, value);
|
|
Packit |
b099d7 |
strcat(arguments, " ");
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case COMPARE: break;
|
|
Packit |
b099d7 |
default: printf("xmAuto (warning): Unkown Option in SimpleCB\n");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
BuildTestString(False);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void ClearCB(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
ClearArgs();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void ClearArgs()
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
int i, n;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
manual = False; record = False;
|
|
Packit |
b099d7 |
compare = True; ignore = False;
|
|
Packit |
b099d7 |
full = False; dumps = False;
|
|
Packit |
b099d7 |
trace = False; delay = 0;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmToggleButtonSetState(ToggleManual, manual, False);
|
|
Packit |
b099d7 |
XmToggleButtonSetState(ToggleRecord, record, False);
|
|
Packit |
b099d7 |
XmToggleButtonSetState(ToggleCompare, compare, False);
|
|
Packit |
b099d7 |
XmToggleButtonSetState(ToggleIgnore, ignore, False);
|
|
Packit |
b099d7 |
XmToggleButtonSetState(ToggleFull, full, False);
|
|
Packit |
b099d7 |
XmToggleButtonSetState(ToggleWinDump, dumps, False);
|
|
Packit |
b099d7 |
XmToggleButtonSetState(ToggleTrace, trace, False);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmScaleSetValue(ScaleDelay, delay);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
for (i = 0; i < 256; i++)
|
|
Packit |
b099d7 |
arguments[0] = '\0';
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
BuildTestString(False);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void PromptCB(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
int n, type;
|
|
Packit |
b099d7 |
Arg args[1];
|
|
Packit |
b099d7 |
XmString tcs;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtRemoveAllCallbacks(PromptDialog, XmNokCallback);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
type = (int) client_data;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
switch (type) {
|
|
Packit |
b099d7 |
case COLOR: tcs = XmStringCreateSimple
|
|
Packit |
b099d7 |
("Enter New Failure Color Please:");
|
|
Packit |
b099d7 |
XtAddCallback(PromptDialog, XmNokCallback,
|
|
Packit |
b099d7 |
SimpleCB, COLOR);
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case EXTRA: tcs = XmStringCreateSimple
|
|
Packit |
b099d7 |
("Enter any Extra Arguments Please:");
|
|
Packit |
b099d7 |
XtAddCallback(PromptDialog, XmNokCallback,
|
|
Packit |
b099d7 |
SimpleCB, EXTRA);
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
default: printf("xmAuto (warning): Unkown Option in PromptCB\n");
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNselectionLabelString, tcs); n++;
|
|
Packit |
b099d7 |
XtSetValues(PromptDialog, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNvalue, ""); n++;
|
|
Packit |
b099d7 |
XtSetValues(XmSelectionBoxGetChild(PromptDialog, XmDIALOG_TEXT),
|
|
Packit |
b099d7 |
args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtManageChild(PromptDialog);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void FileSelectCB(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
ResetFSB();
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
if ((int) client_data == READ)
|
|
Packit |
b099d7 |
XtAddCallback(FileSelectBox, XmNokCallback, ReadInCB, NULL);
|
|
Packit |
b099d7 |
else
|
|
Packit |
b099d7 |
if ((int) client_data == WRITE)
|
|
Packit |
b099d7 |
XtAddCallback(FileSelectBox, XmNokCallback, WriteOutCB, NULL);
|
|
Packit |
b099d7 |
else
|
|
Packit |
b099d7 |
XtAddCallback(FileSelectBox, XmNokCallback, ChangeFileCB,
|
|
Packit |
b099d7 |
client_data);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XtManageChild(FileSelectBox);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void ChangeFileCB(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XmFileSelectionBoxCallbackStruct *FSBStruct =
|
|
Packit |
b099d7 |
((XmFileSelectionBoxCallbackStruct *)call_data);
|
|
Packit |
b099d7 |
String value;
|
|
Packit |
b099d7 |
int type;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringGetLtoR(FSBStruct->value, XmSTRING_DEFAULT_CHARSET, &value);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
type = (int) client_data;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
switch (type) {
|
|
Packit |
b099d7 |
case INSTRUCT: strcat(arguments, " -I ");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case VISUAL: strcat(arguments, " -V ");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case SCRIPT: strcat(arguments, " -S ");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
case OUTPUT: strcat(arguments, " -O ");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
default: printf
|
|
Packit |
b099d7 |
("xmAuto (warning): Unkown Option in ChangeFileCB\n");
|
|
Packit |
b099d7 |
break;
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
strcat(arguments, value);
|
|
Packit |
b099d7 |
strcat(arguments, " ");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
BuildTestString(False);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void WriteOutCB(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XmFileSelectionBoxCallbackStruct *FSBStruct =
|
|
Packit |
b099d7 |
((XmFileSelectionBoxCallbackStruct *)call_data);
|
|
Packit |
b099d7 |
String value;
|
|
Packit |
b099d7 |
Arg args[2];
|
|
Packit |
b099d7 |
int itemCount, n;
|
|
Packit |
b099d7 |
XmStringTable items;
|
|
Packit |
b099d7 |
XmString tcs;
|
|
Packit |
b099d7 |
FILE *fp;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringGetLtoR(FSBStruct->value, XmSTRING_DEFAULT_CHARSET, &value);
|
|
Packit |
b099d7 |
if (! (fp = fopen(value, "w")))
|
|
Packit |
b099d7 |
printf("xmAuto (warning): cannot open %s for writing\n", value);
|
|
Packit |
b099d7 |
else {
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNitems, &items); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNitemCount, &itemCount); n++;
|
|
Packit |
b099d7 |
XtGetValues(List1, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
for (n = 0; n < itemCount; n++) {
|
|
Packit |
b099d7 |
XmStringGetLtoR(items[n], XmSTRING_DEFAULT_CHARSET, &value);
|
|
Packit |
b099d7 |
fprintf(fp, "%s\n", value);
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
fflush(fp);
|
|
Packit |
b099d7 |
fclose(fp);
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void ReadInCB(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XmFileSelectionBoxCallbackStruct *FSBStruct =
|
|
Packit |
b099d7 |
((XmFileSelectionBoxCallbackStruct *)call_data);
|
|
Packit |
b099d7 |
String value;
|
|
Packit |
b099d7 |
String str_value;
|
|
Packit |
b099d7 |
Arg args[2];
|
|
Packit |
b099d7 |
int itemCount, n;
|
|
Packit |
b099d7 |
XmString items[512];
|
|
Packit |
b099d7 |
XmString tcs;
|
|
Packit |
b099d7 |
FILE *fp;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
itemCount = 0;
|
|
Packit |
b099d7 |
XmStringGetLtoR(FSBStruct->value, XmSTRING_DEFAULT_CHARSET, &value);
|
|
Packit |
b099d7 |
if (! (fp = fopen(value, "r")))
|
|
Packit |
b099d7 |
printf("xmAuto (warning): cannot open %s for reading\n", value);
|
|
Packit |
b099d7 |
else {
|
|
Packit |
b099d7 |
str_value = (char *)malloc(MAXLINE * sizeof(char));
|
|
Packit |
b099d7 |
while (fgets(str_value, MAXLINE, fp) != NULL)
|
|
Packit |
b099d7 |
items[itemCount++] = XmStringCreateSimple(str_value);
|
|
Packit |
b099d7 |
XtFree(str_value);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNitems, items); n++;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNitemCount, itemCount); n++;
|
|
Packit |
b099d7 |
XtSetValues(List1, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmListSetHorizPos(List1, 200);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
fclose(fp);
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void BrowseCB(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
XmListCallbackStruct *ListStruct =
|
|
Packit |
b099d7 |
((XmListCallbackStruct *)call_data);
|
|
Packit |
b099d7 |
String value;
|
|
Packit |
b099d7 |
Boolean into_arg = False;
|
|
Packit |
b099d7 |
int n, i;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
list_pos = ListStruct->item_position;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringGetLtoR(ListStruct->item, XmSTRING_DEFAULT_CHARSET, &value);
|
|
Packit |
b099d7 |
sscanf(value, "%s", CurrentTestString);
|
|
Packit |
b099d7 |
for (i= 0, n = 0 ; n < (strlen(value) - strlen(CurrentTestString)); n++) {
|
|
Packit |
b099d7 |
if (! isspace(value[strlen(CurrentTestString) + n]) && !into_arg) {
|
|
Packit |
b099d7 |
into_arg = True;
|
|
Packit |
b099d7 |
arguments[i++] = value[strlen(CurrentTestString) + n];
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
else
|
|
Packit |
b099d7 |
arguments[i++] = value[strlen(CurrentTestString) + n];
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
arguments[i] = '\0';
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
BuildTestString(False);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void SaveToListCB(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
char save_string[1024];
|
|
Packit |
b099d7 |
Arg args[1];
|
|
Packit |
b099d7 |
XmString tcs[1];
|
|
Packit |
b099d7 |
int n;
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
strcpy(save_string, CurrentTestString);
|
|
Packit |
b099d7 |
strcat(save_string, " ");
|
|
Packit |
b099d7 |
strcat(save_string, arguments);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs[0] = XmStringCreateSimple(save_string);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmListReplaceItemsPos(List1, tcs, 1, list_pos);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs[0]);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
tcs[0] = XmStringCreateSimple("Current Test String:: None");
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
n = 0;
|
|
Packit |
b099d7 |
XtSetArg(args[n], XmNlabelString, tcs[0]); n++;
|
|
Packit |
b099d7 |
XtSetValues(Label1, args, n);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmStringFree(tcs[0]);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
CurrentTestString[0] = '\0';
|
|
Packit |
b099d7 |
arguments[0] = '\0';
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
XmListSetHorizPos(List1, 200);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
static void QuitCB(w, client_data, call_data)
|
|
Packit |
b099d7 |
Widget w;
|
|
Packit |
b099d7 |
XtPointer client_data, call_data;
|
|
Packit |
b099d7 |
{
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
printf("xmAuto: Exiting...\n");
|
|
Packit |
b099d7 |
exit(0);
|
|
Packit |
b099d7 |
|
|
Packit |
b099d7 |
}
|