1
/*===========================================================================
2
Copyright (C) 1995-2009 European Southern Observatory (ESO)
4
This program is free software; you can redistribute it and/or
5
modify it under the terms of the GNU General Public License as
6
published by the Free Software Foundation; either version 2 of
7
the License, or (at your option) any later version.
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
GNU General Public License for more details.
14
You should have received a copy of the GNU General Public
15
License along with this program; if not, write to the Free
16
Software Foundation, Inc., 675 Massachusetts Ave, Cambridge,
19
Correspondence concerning ESO-MIDAS should be addressed as follows:
20
Internet e-mail: midas@eso.org
21
Postal address: European Southern Observatory
22
Data Management Division
23
Karl-Schwarzschild-Strasse 2
24
D 85748 Garching bei Muenchen
26
===========================================================================*/
29
/*******************************************************************************
35
*******************************************************************************/
49
#include "proto_xech.h"
51
/*******************************************************************************
52
Includes, Defines, and Global variables from the Declarations Editor:
53
*******************************************************************************/
55
#include <ExternResources.h>
57
/*******************************************************************************
58
The definition of the context structure:
59
If you create multiple instances of your interface, the context
60
structure ensures that your callbacks use the variables for the
63
For each swidget in the interface, each argument to the Interface
64
function, and each variable in the Instance Specific section of the
65
Declarations Editor, there is an entry in the context structure.
66
and a #define. The #define makes the variable name refer to the
67
corresponding entry in the context structure.
68
*******************************************************************************/
75
swidget Uxpb_search_search13;
76
swidget UxpushButton10;
77
swidget Uxpb_search_plot25;
78
swidget Uxpb_search_plot28;
79
swidget Uxpb_search_plot29;
80
swidget Uxshelp_search9;
81
swidget Uxseparator10;
82
swidget Uxseparator11;
85
swidget Uxpb_main_search30;
86
swidget Uxpb_main_search31;
91
swidget Uxrb_seamtd_gaus6;
92
swidget Uxrb_seamtd_grav6;
102
#define MergeShell UxMergeShellContext->UxMergeShell
103
#define form14 UxMergeShellContext->Uxform14
104
#define form15 UxMergeShellContext->Uxform15
105
#define pb_search_search13 UxMergeShellContext->Uxpb_search_search13
106
#define pushButton10 UxMergeShellContext->UxpushButton10
107
#define pb_search_plot25 UxMergeShellContext->Uxpb_search_plot25
108
#define pb_search_plot28 UxMergeShellContext->Uxpb_search_plot28
109
#define pb_search_plot29 UxMergeShellContext->Uxpb_search_plot29
110
#define shelp_search9 UxMergeShellContext->Uxshelp_search9
111
#define separator10 UxMergeShellContext->Uxseparator10
112
#define separator11 UxMergeShellContext->Uxseparator11
113
#define label38 UxMergeShellContext->Uxlabel38
114
#define tf_thres8 UxMergeShellContext->Uxtf_thres8
115
#define pb_main_search30 UxMergeShellContext->Uxpb_main_search30
116
#define pb_main_search31 UxMergeShellContext->Uxpb_main_search31
117
#define tf_thres11 UxMergeShellContext->Uxtf_thres11
118
#define label42 UxMergeShellContext->Uxlabel42
119
#define label43 UxMergeShellContext->Uxlabel43
120
#define rowColumn6 UxMergeShellContext->UxrowColumn6
121
#define rb_seamtd_gaus6 UxMergeShellContext->Uxrb_seamtd_gaus6
122
#define rb_seamtd_grav6 UxMergeShellContext->Uxrb_seamtd_grav6
123
#define label45 UxMergeShellContext->Uxlabel45
124
#define label46 UxMergeShellContext->Uxlabel46
125
#define tf_alpha31 UxMergeShellContext->Uxtf_alpha31
126
#define label47 UxMergeShellContext->Uxlabel47
127
#define tf_alpha40 UxMergeShellContext->Uxtf_alpha40
128
#define label48 UxMergeShellContext->Uxlabel48
129
#define tf_alpha42 UxMergeShellContext->Uxtf_alpha42
131
static _UxCMergeShell *UxMergeShellContext;
133
extern void DisplayShortHelp(), DisplayExtendedHelp(), SetFileList();
134
extern void MidasCommand(), PopupLong(), InitAllFields();
135
extern void WidgetLeave(), WidgetEnter();
136
extern void WriteKeyword(), GetExtendedHelp(), SelectList();
139
extern int RadioSet(), PopupList(), AppendDialogText();
141
/*******************************************************************************
142
The following are translation tables.
143
*******************************************************************************/
145
static char *transTable31 = "#override\n\
146
<Btn3Down>:ExtendedHelp()\n\
147
<EnterWindow>:HelpShort()\n\
148
<LeaveWindow>:ClearShort()\n";
150
/*******************************************************************************
151
Forward declarations of functions that are defined later in this file.
152
*******************************************************************************/
154
swidget create_MergeShell();
156
/*******************************************************************************
157
The following are Action functions.
158
*******************************************************************************/
160
static void action_WriteHelp( UxWidget, UxEvent, UxParams, p_UxNumParams )
164
Cardinal *p_UxNumParams;
166
_UxCMergeShell *UxSaveCtx, *UxContext;
167
swidget UxThisWidget;
169
UxThisWidget = UxWidgetToSwidget( UxWidget );
170
UxSaveCtx = UxMergeShellContext;
171
UxMergeShellContext = UxContext =
172
(_UxCMergeShell *) UxGetContext( UxThisWidget );
174
DisplayShortHelp(UxWidget);
176
UxMergeShellContext = UxSaveCtx;
179
static void action_ClearHelp( UxWidget, UxEvent, UxParams, p_UxNumParams )
183
Cardinal *p_UxNumParams;
185
_UxCMergeShell *UxSaveCtx, *UxContext;
186
swidget UxThisWidget;
188
UxThisWidget = UxWidgetToSwidget( UxWidget );
189
UxSaveCtx = UxMergeShellContext;
190
UxMergeShellContext = UxContext =
191
(_UxCMergeShell *) UxGetContext( UxThisWidget );
194
UxPutText(UxFindSwidget("shelp_main"), "");
195
UxPutText(UxFindSwidget("shelp_search"), "");
196
UxPutText(UxFindSwidget("shelp_calib"), "");
197
UxPutText(UxFindSwidget("shelp_rebin"), "");
198
UxPutText(UxFindSwidget("shelp_extract"), "");
199
UxPutText(UxFindSwidget("shelp_flux"), "");
202
UxMergeShellContext = UxSaveCtx;
205
static void action_UpdateDirectory( UxWidget, UxEvent, UxParams, p_UxNumParams )
209
Cardinal *p_UxNumParams;
211
_UxCMergeShell *UxSaveCtx, *UxContext;
212
swidget UxThisWidget;
214
UxThisWidget = UxWidgetToSwidget( UxWidget );
215
UxSaveCtx = UxMergeShellContext;
216
UxMergeShellContext = UxContext =
217
(_UxCMergeShell *) UxGetContext( UxThisWidget );
222
/* if (XmTextGetSelection(UxWidget) == NULL) return; */
224
XmTextGetSelection(UxWidget));
225
XmTextClearSelection(UxWidget,XtLastTimestampProcessed(UxDisplay));
227
node[strlen(node)-1] = '\0';
233
UxMergeShellContext = UxSaveCtx;
236
static void action_ClearShort( UxWidget, UxEvent, UxParams, p_UxNumParams )
240
Cardinal *p_UxNumParams;
242
_UxCMergeShell *UxSaveCtx, *UxContext;
243
swidget UxThisWidget;
245
UxThisWidget = UxWidgetToSwidget( UxWidget );
246
UxSaveCtx = UxMergeShellContext;
247
UxMergeShellContext = UxContext =
248
(_UxCMergeShell *) UxGetContext( UxThisWidget );
249
{WidgetLeave(UxWidget);}
250
UxMergeShellContext = UxSaveCtx;
253
static void action_HelpShort( UxWidget, UxEvent, UxParams, p_UxNumParams )
257
Cardinal *p_UxNumParams;
259
_UxCMergeShell *UxSaveCtx, *UxContext;
260
swidget UxThisWidget;
262
UxThisWidget = UxWidgetToSwidget( UxWidget );
263
UxSaveCtx = UxMergeShellContext;
264
UxMergeShellContext = UxContext =
265
(_UxCMergeShell *) UxGetContext( UxThisWidget );
266
{WidgetEnter(UxWidget);}
267
UxMergeShellContext = UxSaveCtx;
270
static void action_ExtendedHelp( UxWidget, UxEvent, UxParams, p_UxNumParams )
274
Cardinal *p_UxNumParams;
276
_UxCMergeShell *UxSaveCtx, *UxContext;
277
swidget UxThisWidget;
279
UxThisWidget = UxWidgetToSwidget( UxWidget );
280
UxSaveCtx = UxMergeShellContext;
281
UxMergeShellContext = UxContext =
282
(_UxCMergeShell *) UxGetContext( UxThisWidget );
284
DisplayExtendedHelp(UxWidget);
286
UxMergeShellContext = UxSaveCtx;
289
static void action_FileSelectACT( UxWidget, UxEvent, UxParams, p_UxNumParams )
293
Cardinal *p_UxNumParams;
295
_UxCMergeShell *UxSaveCtx, *UxContext;
296
swidget UxThisWidget;
298
UxThisWidget = UxWidgetToSwidget( UxWidget );
299
UxSaveCtx = UxMergeShellContext;
300
UxMergeShellContext = UxContext =
301
(_UxCMergeShell *) UxGetContext( UxThisWidget );
304
#include <spec_comm.h>
306
extern swidget FileListInterface, TextFieldSwidget;
307
extern Widget FileListWidget;
308
extern char DirSpecs[];
311
int strip = 1; /* strip off */
313
TextFieldSwidget = UxThisWidget;
315
if ( UxWidget == UxGetWidget(UxFindSwidget("tf_lincat")) ) {
316
SET_LIST_TITLE("Enter line catalog");
317
ListType = LIST_LINCAT;
319
else if ( UxWidget == UxGetWidget(UxFindSwidget("tf_guess")) ) {
320
SET_LIST_TITLE("Enter guess table");
321
ListType = LIST_GUESS;
323
else if ( UxWidget == UxGetWidget(UxFindSwidget("tf_flux_tbl")) ) {
324
SET_LIST_TITLE("Enter flux table");
325
ListType = LIST_FLUX_TBL;
327
else if ( UxWidget == UxGetWidget(UxFindSwidget("tf_extin_tbl")) ) {
328
SET_LIST_TITLE("Enter extinction table");
329
ListType = LIST_EXTIN_TBL;
332
strcpy(DirSpecs, "*.tbl");
333
SetFileList(FileListWidget, strip, DirSpecs);
334
UxPopupInterface(FileListInterface, exclusive_grab);
337
UxMergeShellContext = UxSaveCtx;
340
/*******************************************************************************
341
The following are callback functions.
342
*******************************************************************************/
344
static void activateCB_pb_search_search13( UxWidget, UxClientData, UxCallbackArg )
346
XtPointer UxClientData, UxCallbackArg;
348
_UxCMergeShell *UxSaveCtx, *UxContext;
349
swidget UxThisWidget;
351
UxThisWidget = UxWidgetToSwidget( UxWidget );
352
UxSaveCtx = UxMergeShellContext;
353
UxMergeShellContext = UxContext =
354
(_UxCMergeShell *) UxGetContext( UxThisWidget );
356
MidasCommand(UxWidget);
359
UxMergeShellContext = UxSaveCtx;
362
static void activateCB_pushButton10( UxWidget, UxClientData, UxCallbackArg )
364
XtPointer UxClientData, UxCallbackArg;
366
_UxCMergeShell *UxSaveCtx, *UxContext;
367
swidget UxThisWidget;
369
UxThisWidget = UxWidgetToSwidget( UxWidget );
370
UxSaveCtx = UxMergeShellContext;
371
UxMergeShellContext = UxContext =
372
(_UxCMergeShell *) UxGetContext( UxThisWidget );
374
UxPopdownInterface(UxFindSwidget("MergeShell"));
376
UxMergeShellContext = UxSaveCtx;
379
static void activateCB_pb_search_plot25( UxWidget, UxClientData, UxCallbackArg )
381
XtPointer UxClientData, UxCallbackArg;
383
_UxCMergeShell *UxSaveCtx, *UxContext;
384
swidget UxThisWidget;
386
UxThisWidget = UxWidgetToSwidget( UxWidget );
387
UxSaveCtx = UxMergeShellContext;
388
UxMergeShellContext = UxContext =
389
(_UxCMergeShell *) UxGetContext( UxThisWidget );
391
MidasCommand(UxWidget);
393
UxMergeShellContext = UxSaveCtx;
396
static void activateCB_pb_search_plot28( UxWidget, UxClientData, UxCallbackArg )
398
XtPointer UxClientData, UxCallbackArg;
400
_UxCMergeShell *UxSaveCtx, *UxContext;
401
swidget UxThisWidget;
403
UxThisWidget = UxWidgetToSwidget( UxWidget );
404
UxSaveCtx = UxMergeShellContext;
405
UxMergeShellContext = UxContext =
406
(_UxCMergeShell *) UxGetContext( UxThisWidget );
408
MidasCommand(UxWidget);
411
UxMergeShellContext = UxSaveCtx;
414
static void activateCB_pb_search_plot29( UxWidget, UxClientData, UxCallbackArg )
416
XtPointer UxClientData, UxCallbackArg;
418
_UxCMergeShell *UxSaveCtx, *UxContext;
419
swidget UxThisWidget;
421
UxThisWidget = UxWidgetToSwidget( UxWidget );
422
UxSaveCtx = UxMergeShellContext;
423
UxMergeShellContext = UxContext =
424
(_UxCMergeShell *) UxGetContext( UxThisWidget );
426
GetExtendedHelp(UxWidget);
428
UxMergeShellContext = UxSaveCtx;
431
static void losingFocusCB_tf_thres8( UxWidget, UxClientData, UxCallbackArg )
433
XtPointer UxClientData, UxCallbackArg;
435
_UxCMergeShell *UxSaveCtx, *UxContext;
436
swidget UxThisWidget;
438
UxThisWidget = UxWidgetToSwidget( UxWidget );
439
UxSaveCtx = UxMergeShellContext;
440
UxMergeShellContext = UxContext =
441
(_UxCMergeShell *) UxGetContext( UxThisWidget );
445
UxMergeShellContext = UxSaveCtx;
448
static void activateCB_pb_main_search30( UxWidget, UxClientData, UxCallbackArg )
450
XtPointer UxClientData, UxCallbackArg;
452
_UxCMergeShell *UxSaveCtx, *UxContext;
453
swidget UxThisWidget;
455
UxThisWidget = UxWidgetToSwidget( UxWidget );
456
UxSaveCtx = UxMergeShellContext;
457
UxMergeShellContext = UxContext =
458
(_UxCMergeShell *) UxGetContext( UxThisWidget );
460
SelectList(UxWidget);
463
UxMergeShellContext = UxSaveCtx;
466
static void activateCB_pb_main_search31( UxWidget, UxClientData, UxCallbackArg )
468
XtPointer UxClientData, UxCallbackArg;
470
_UxCMergeShell *UxSaveCtx, *UxContext;
471
swidget UxThisWidget;
473
UxThisWidget = UxWidgetToSwidget( UxWidget );
474
UxSaveCtx = UxMergeShellContext;
475
UxMergeShellContext = UxContext =
476
(_UxCMergeShell *) UxGetContext( UxThisWidget );
478
SelectList(UxWidget);
481
UxMergeShellContext = UxSaveCtx;
484
static void losingFocusCB_tf_thres11( UxWidget, UxClientData, UxCallbackArg )
486
XtPointer UxClientData, UxCallbackArg;
488
_UxCMergeShell *UxSaveCtx, *UxContext;
489
swidget UxThisWidget;
491
UxThisWidget = UxWidgetToSwidget( UxWidget );
492
UxSaveCtx = UxMergeShellContext;
493
UxMergeShellContext = UxContext =
494
(_UxCMergeShell *) UxGetContext( UxThisWidget );
498
UxMergeShellContext = UxSaveCtx;
501
static void armCB_rb_seamtd_gaus6( UxWidget, UxClientData, UxCallbackArg )
503
XtPointer UxClientData, UxCallbackArg;
505
_UxCMergeShell *UxSaveCtx, *UxContext;
506
swidget UxThisWidget;
508
UxThisWidget = UxWidgetToSwidget( UxWidget );
509
UxSaveCtx = UxMergeShellContext;
510
UxMergeShellContext = UxContext =
511
(_UxCMergeShell *) UxGetContext( UxThisWidget );
513
UxMergeShellContext = UxSaveCtx;
516
static void valueChangedCB_rb_seamtd_gaus6( UxWidget, UxClientData, UxCallbackArg )
518
XtPointer UxClientData, UxCallbackArg;
520
_UxCMergeShell *UxSaveCtx, *UxContext;
521
swidget UxThisWidget;
523
UxThisWidget = UxWidgetToSwidget( UxWidget );
524
UxSaveCtx = UxMergeShellContext;
525
UxMergeShellContext = UxContext =
526
(_UxCMergeShell *) UxGetContext( UxThisWidget );
530
UxMergeShellContext = UxSaveCtx;
533
static void armCB_rb_seamtd_grav6( UxWidget, UxClientData, UxCallbackArg )
535
XtPointer UxClientData, UxCallbackArg;
537
_UxCMergeShell *UxSaveCtx, *UxContext;
538
swidget UxThisWidget;
540
UxThisWidget = UxWidgetToSwidget( UxWidget );
541
UxSaveCtx = UxMergeShellContext;
542
UxMergeShellContext = UxContext =
543
(_UxCMergeShell *) UxGetContext( UxThisWidget );
545
UxMergeShellContext = UxSaveCtx;
548
static void valueChangedCB_rb_seamtd_grav6( UxWidget, UxClientData, UxCallbackArg )
550
XtPointer UxClientData, UxCallbackArg;
552
_UxCMergeShell *UxSaveCtx, *UxContext;
553
swidget UxThisWidget;
555
UxThisWidget = UxWidgetToSwidget( UxWidget );
556
UxSaveCtx = UxMergeShellContext;
557
UxMergeShellContext = UxContext =
558
(_UxCMergeShell *) UxGetContext( UxThisWidget );
562
UxMergeShellContext = UxSaveCtx;
565
static void losingFocusCB_tf_alpha31( UxWidget, UxClientData, UxCallbackArg )
567
XtPointer UxClientData, UxCallbackArg;
569
_UxCMergeShell *UxSaveCtx, *UxContext;
570
swidget UxThisWidget;
572
UxThisWidget = UxWidgetToSwidget( UxWidget );
573
UxSaveCtx = UxMergeShellContext;
574
UxMergeShellContext = UxContext =
575
(_UxCMergeShell *) UxGetContext( UxThisWidget );
579
UxMergeShellContext = UxSaveCtx;
582
static void losingFocusCB_tf_alpha40( UxWidget, UxClientData, UxCallbackArg )
584
XtPointer UxClientData, UxCallbackArg;
586
_UxCMergeShell *UxSaveCtx, *UxContext;
587
swidget UxThisWidget;
589
UxThisWidget = UxWidgetToSwidget( UxWidget );
590
UxSaveCtx = UxMergeShellContext;
591
UxMergeShellContext = UxContext =
592
(_UxCMergeShell *) UxGetContext( UxThisWidget );
596
UxMergeShellContext = UxSaveCtx;
599
static void losingFocusCB_tf_alpha42( UxWidget, UxClientData, UxCallbackArg )
601
XtPointer UxClientData, UxCallbackArg;
603
_UxCMergeShell *UxSaveCtx, *UxContext;
604
swidget UxThisWidget;
606
UxThisWidget = UxWidgetToSwidget( UxWidget );
607
UxSaveCtx = UxMergeShellContext;
608
UxMergeShellContext = UxContext =
609
(_UxCMergeShell *) UxGetContext( UxThisWidget );
613
UxMergeShellContext = UxSaveCtx;
616
/*******************************************************************************
617
The 'init_' function sets the private properties for all the
618
swidgets to the values specified in the Property Table.
619
Some properties need to be set after the X widgets have been
620
created and the setting of these properties is done in the
621
'build_' function after the UxCreateWidget call.
622
*******************************************************************************/
624
static void _Uxinit_MergeShell()
626
UxPutTitle( MergeShell, "XEchelle: Orders Merging" );
627
UxPutGeometry( MergeShell, "+10+60" );
628
UxPutHeight( MergeShell, 330 );
629
UxPutWidth( MergeShell, 500 );
630
UxPutY( MergeShell, 514 );
631
UxPutX( MergeShell, 454 );
633
UxPutBackground( form14, WindowBackground );
634
UxPutHeight( form14, 344 );
635
UxPutWidth( form14, 500 );
638
UxPutUnitType( form14, "pixels" );
639
UxPutResizePolicy( form14, "resize_none" );
641
UxPutBackground( form15, ButtonBackground );
642
UxPutHeight( form15, 40 );
643
UxPutWidth( form15, 490 );
644
UxPutY( form15, 282 );
646
UxPutResizePolicy( form15, "resize_none" );
648
UxPutLabelString( pb_search_search13, "Merge" );
649
UxPutForeground( pb_search_search13, ApplyForeground );
650
UxPutFontList( pb_search_search13, BoldTextFont );
651
UxPutBackground( pb_search_search13, ButtonBackground );
652
UxPutHeight( pb_search_search13, 30 );
653
UxPutWidth( pb_search_search13, 86 );
654
UxPutY( pb_search_search13, 4 );
655
UxPutX( pb_search_search13, 2 );
657
UxPutLabelString( pushButton10, "Cancel" );
658
UxPutForeground( pushButton10, CancelForeground );
659
UxPutFontList( pushButton10, BoldTextFont );
660
UxPutBackground( pushButton10, ButtonBackground );
661
UxPutHeight( pushButton10, 30 );
662
UxPutWidth( pushButton10, 86 );
663
UxPutY( pushButton10, 4 );
664
UxPutX( pushButton10, 398 );
666
UxPutLabelString( pb_search_plot25, "Plot Overlaps" );
667
UxPutForeground( pb_search_plot25, ButtonForeground );
668
UxPutFontList( pb_search_plot25, BoldTextFont );
669
UxPutBackground( pb_search_plot25, ButtonBackground );
670
UxPutHeight( pb_search_plot25, 30 );
671
UxPutWidth( pb_search_plot25, 112 );
672
UxPutY( pb_search_plot25, 4 );
673
UxPutX( pb_search_plot25, 90 );
675
UxPutLabelString( pb_search_plot28, "Plot Spectrum" );
676
UxPutForeground( pb_search_plot28, ButtonForeground );
677
UxPutFontList( pb_search_plot28, BoldTextFont );
678
UxPutBackground( pb_search_plot28, ButtonBackground );
679
UxPutHeight( pb_search_plot28, 30 );
680
UxPutWidth( pb_search_plot28, 118 );
681
UxPutY( pb_search_plot28, 4 );
682
UxPutX( pb_search_plot28, 202 );
684
UxPutLabelString( pb_search_plot29, "Help" );
685
UxPutForeground( pb_search_plot29, ButtonForeground );
686
UxPutFontList( pb_search_plot29, BoldTextFont );
687
UxPutBackground( pb_search_plot29, ButtonBackground );
688
UxPutHeight( pb_search_plot29, 30 );
689
UxPutWidth( pb_search_plot29, 74 );
690
UxPutY( pb_search_plot29, 4 );
691
UxPutX( pb_search_plot29, 324 );
693
UxPutFontList( shelp_search9, TextFont );
694
UxPutEditable( shelp_search9, "false" );
695
UxPutCursorPositionVisible( shelp_search9, "false" );
696
UxPutBackground( shelp_search9, SHelpBackground );
697
UxPutHeight( shelp_search9, 50 );
698
UxPutWidth( shelp_search9, 484 );
699
UxPutY( shelp_search9, 222 );
700
UxPutX( shelp_search9, 4 );
702
UxPutBackground( separator10, WindowBackground );
703
UxPutHeight( separator10, 10 );
704
UxPutWidth( separator10, 492 );
705
UxPutY( separator10, 212 );
706
UxPutX( separator10, 2 );
708
UxPutBackground( separator11, WindowBackground );
709
UxPutHeight( separator11, 10 );
710
UxPutWidth( separator11, 492 );
711
UxPutY( separator11, 270 );
712
UxPutX( separator11, 0 );
714
UxPutForeground( label38, TextForeground );
715
UxPutAlignment( label38, "alignment_beginning" );
716
UxPutLabelString( label38, "Input Frame:" );
717
UxPutFontList( label38, TextFont );
718
UxPutBackground( label38, LabelBackground );
719
UxPutHeight( label38, 30 );
720
UxPutWidth( label38, 130 );
721
UxPutY( label38, 14 );
722
UxPutX( label38, 20 );
724
UxPutForeground( tf_thres8, TextForeground );
725
UxPutHighlightOnEnter( tf_thres8, "true" );
726
UxPutFontList( tf_thres8, TextFont );
727
UxPutBackground( tf_thres8, TextBackground );
728
UxPutHeight( tf_thres8, 34 );
729
UxPutWidth( tf_thres8, 210 );
730
UxPutY( tf_thres8, 14 );
731
UxPutX( tf_thres8, 170 );
733
UxPutWidth( pb_main_search30, 46 );
734
UxPutRecomputeSize( pb_main_search30, "true" );
735
UxPutLabelString( pb_main_search30, "..." );
736
UxPutForeground( pb_main_search30, ButtonForeground );
737
UxPutFontList( pb_main_search30, BoldTextFont );
738
UxPutBackground( pb_main_search30, ButtonBackground );
739
UxPutHeight( pb_main_search30, 28 );
740
UxPutY( pb_main_search30, 14 );
741
UxPutX( pb_main_search30, 428 );
743
UxPutWidth( pb_main_search31, 46 );
744
UxPutRecomputeSize( pb_main_search31, "true" );
745
UxPutLabelString( pb_main_search31, "..." );
746
UxPutForeground( pb_main_search31, ButtonForeground );
747
UxPutFontList( pb_main_search31, BoldTextFont );
748
UxPutBackground( pb_main_search31, ButtonBackground );
749
UxPutHeight( pb_main_search31, 28 );
750
UxPutY( pb_main_search31, 54 );
751
UxPutX( pb_main_search31, 428 );
753
UxPutForeground( tf_thres11, TextForeground );
754
UxPutHighlightOnEnter( tf_thres11, "true" );
755
UxPutFontList( tf_thres11, TextFont );
756
UxPutBackground( tf_thres11, TextBackground );
757
UxPutHeight( tf_thres11, 34 );
758
UxPutWidth( tf_thres11, 212 );
759
UxPutY( tf_thres11, 52 );
760
UxPutX( tf_thres11, 168 );
762
UxPutForeground( label42, TextForeground );
763
UxPutAlignment( label42, "alignment_beginning" );
764
UxPutLabelString( label42, "Output Frame:" );
765
UxPutFontList( label42, TextFont );
766
UxPutBackground( label42, LabelBackground );
767
UxPutHeight( label42, 30 );
768
UxPutWidth( label42, 120 );
769
UxPutY( label42, 56 );
770
UxPutX( label42, 20 );
772
UxPutForeground( label43, TextForeground );
773
UxPutAlignment( label43, "alignment_beginning" );
774
UxPutLabelString( label43, "Method:" );
775
UxPutFontList( label43, TextFont );
776
UxPutBackground( label43, LabelBackground );
777
UxPutHeight( label43, 30 );
778
UxPutWidth( label43, 68 );
779
UxPutY( label43, 94 );
780
UxPutX( label43, 22 );
782
UxPutResizeWidth( rowColumn6, "true" );
783
UxPutOrientation( rowColumn6, "horizontal" );
784
UxPutIsAligned( rowColumn6, "true" );
785
UxPutAdjustMargin( rowColumn6, "true" );
786
UxPutAdjustLast( rowColumn6, "false" );
787
UxPutEntryAlignment( rowColumn6, "alignment_beginning" );
788
UxPutBorderWidth( rowColumn6, 0 );
789
UxPutShadowThickness( rowColumn6, 0 );
790
UxPutLabelString( rowColumn6, "" );
791
UxPutEntryBorder( rowColumn6, 0 );
792
UxPutBackground( rowColumn6, WindowBackground );
793
UxPutRadioBehavior( rowColumn6, "true" );
794
UxPutHeight( rowColumn6, 34 );
795
UxPutWidth( rowColumn6, 261 );
796
UxPutY( rowColumn6, 97 );
797
UxPutX( rowColumn6, 134 );
799
UxPutTranslations( rb_seamtd_gaus6, transTable31 );
800
UxPutForeground( rb_seamtd_gaus6, TextForeground );
801
UxPutIndicatorSize( rb_seamtd_gaus6, 16 );
802
UxPutHighlightOnEnter( rb_seamtd_gaus6, "true" );
803
UxPutSelectColor( rb_seamtd_gaus6, SelectColor );
804
UxPutSet( rb_seamtd_gaus6, "true" );
805
UxPutLabelString( rb_seamtd_gaus6, "Average Overlaps" );
806
UxPutFontList( rb_seamtd_gaus6, TextFont );
807
UxPutBackground( rb_seamtd_gaus6, WindowBackground );
808
UxPutHeight( rb_seamtd_gaus6, 28 );
809
UxPutWidth( rb_seamtd_gaus6, 84 );
810
UxPutY( rb_seamtd_gaus6, 3 );
811
UxPutX( rb_seamtd_gaus6, 2 );
813
UxPutTranslations( rb_seamtd_grav6, transTable31 );
814
UxPutForeground( rb_seamtd_grav6, TextForeground );
815
UxPutIndicatorSize( rb_seamtd_grav6, 16 );
816
UxPutHighlightOnEnter( rb_seamtd_grav6, "true" );
817
UxPutSelectColor( rb_seamtd_grav6, SelectColor );
818
UxPutLabelString( rb_seamtd_grav6, "No Append" );
819
UxPutFontList( rb_seamtd_grav6, TextFont );
820
UxPutBackground( rb_seamtd_grav6, WindowBackground );
821
UxPutHeight( rb_seamtd_grav6, 28 );
822
UxPutWidth( rb_seamtd_grav6, 84 );
823
UxPutY( rb_seamtd_grav6, 4 );
824
UxPutX( rb_seamtd_grav6, 114 );
826
UxPutForeground( label45, TextForeground );
827
UxPutAlignment( label45, "alignment_beginning" );
828
UxPutLabelString( label45, "Order Range" );
829
UxPutFontList( label45, TextFont );
830
UxPutBackground( label45, LabelBackground );
831
UxPutHeight( label45, 30 );
832
UxPutWidth( label45, 94 );
833
UxPutY( label45, 170 );
834
UxPutX( label45, 24 );
836
UxPutForeground( label46, TextForeground );
837
UxPutAlignment( label46, "alignment_beginning" );
838
UxPutLabelString( label46, "Min=" );
839
UxPutFontList( label46, TextFont );
840
UxPutBackground( label46, LabelBackground );
841
UxPutHeight( label46, 30 );
842
UxPutWidth( label46, 40 );
843
UxPutY( label46, 170 );
844
UxPutX( label46, 140 );
846
UxPutForeground( tf_alpha31, TextForeground );
847
UxPutHighlightOnEnter( tf_alpha31, "true" );
848
UxPutFontList( tf_alpha31, TextFont );
849
UxPutBackground( tf_alpha31, TextBackground );
850
UxPutHeight( tf_alpha31, 32 );
851
UxPutWidth( tf_alpha31, 96 );
852
UxPutY( tf_alpha31, 168 );
853
UxPutX( tf_alpha31, 188 );
855
UxPutForeground( label47, TextForeground );
856
UxPutAlignment( label47, "alignment_beginning" );
857
UxPutLabelString( label47, "Max=" );
858
UxPutFontList( label47, TextFont );
859
UxPutBackground( label47, LabelBackground );
860
UxPutHeight( label47, 30 );
861
UxPutWidth( label47, 50 );
862
UxPutY( label47, 168 );
863
UxPutX( label47, 302 );
865
UxPutForeground( tf_alpha40, TextForeground );
866
UxPutHighlightOnEnter( tf_alpha40, "true" );
867
UxPutFontList( tf_alpha40, TextFont );
868
UxPutBackground( tf_alpha40, TextBackground );
869
UxPutHeight( tf_alpha40, 32 );
870
UxPutWidth( tf_alpha40, 96 );
871
UxPutY( tf_alpha40, 166 );
872
UxPutX( tf_alpha40, 360 );
874
UxPutForeground( label48, TextForeground );
875
UxPutAlignment( label48, "alignment_beginning" );
876
UxPutLabelString( label48, "Ignored Interval:" );
877
UxPutFontList( label48, TextFont );
878
UxPutBackground( label48, LabelBackground );
879
UxPutHeight( label48, 30 );
880
UxPutWidth( label48, 136 );
881
UxPutY( label48, 134 );
882
UxPutX( label48, 16 );
884
UxPutForeground( tf_alpha42, TextForeground );
885
UxPutHighlightOnEnter( tf_alpha42, "true" );
886
UxPutFontList( tf_alpha42, TextFont );
887
UxPutBackground( tf_alpha42, TextBackground );
888
UxPutHeight( tf_alpha42, 32 );
889
UxPutWidth( tf_alpha42, 140 );
890
UxPutY( tf_alpha42, 134 );
891
UxPutX( tf_alpha42, 184 );
895
/*******************************************************************************
896
The 'build_' function creates all the swidgets and X widgets,
897
and sets their properties to the values specified in the
899
*******************************************************************************/
901
static swidget _Uxbuild_MergeShell()
903
/* Create the swidgets */
905
MergeShell = UxCreateTransientShell( "MergeShell", NO_PARENT );
906
UxPutContext( MergeShell, UxMergeShellContext );
908
form14 = UxCreateForm( "form14", MergeShell );
909
form15 = UxCreateForm( "form15", form14 );
910
pb_search_search13 = UxCreatePushButton( "pb_search_search13", form15 );
911
pushButton10 = UxCreatePushButton( "pushButton10", form15 );
912
pb_search_plot25 = UxCreatePushButton( "pb_search_plot25", form15 );
913
pb_search_plot28 = UxCreatePushButton( "pb_search_plot28", form15 );
914
pb_search_plot29 = UxCreatePushButton( "pb_search_plot29", form15 );
915
shelp_search9 = UxCreateText( "shelp_search9", form14 );
916
separator10 = UxCreateSeparator( "separator10", form14 );
917
separator11 = UxCreateSeparator( "separator11", form14 );
918
label38 = UxCreateLabel( "label38", form14 );
919
tf_thres8 = UxCreateTextField( "tf_thres8", form14 );
920
pb_main_search30 = UxCreatePushButton( "pb_main_search30", form14 );
921
pb_main_search31 = UxCreatePushButton( "pb_main_search31", form14 );
922
tf_thres11 = UxCreateTextField( "tf_thres11", form14 );
923
label42 = UxCreateLabel( "label42", form14 );
924
label43 = UxCreateLabel( "label43", form14 );
925
rowColumn6 = UxCreateRowColumn( "rowColumn6", form14 );
926
rb_seamtd_gaus6 = UxCreateToggleButton( "rb_seamtd_gaus6", rowColumn6 );
927
rb_seamtd_grav6 = UxCreateToggleButton( "rb_seamtd_grav6", rowColumn6 );
928
label45 = UxCreateLabel( "label45", form14 );
929
label46 = UxCreateLabel( "label46", form14 );
930
tf_alpha31 = UxCreateTextField( "tf_alpha31", form14 );
931
label47 = UxCreateLabel( "label47", form14 );
932
tf_alpha40 = UxCreateTextField( "tf_alpha40", form14 );
933
label48 = UxCreateLabel( "label48", form14 );
934
tf_alpha42 = UxCreateTextField( "tf_alpha42", form14 );
936
_Uxinit_MergeShell();
938
/* Create the X widgets */
940
UxCreateWidget( MergeShell );
941
UxCreateWidget( form14 );
942
UxCreateWidget( form15 );
943
UxCreateWidget( pb_search_search13 );
944
UxCreateWidget( pushButton10 );
945
UxCreateWidget( pb_search_plot25 );
946
UxCreateWidget( pb_search_plot28 );
947
UxCreateWidget( pb_search_plot29 );
948
UxCreateWidget( shelp_search9 );
949
UxCreateWidget( separator10 );
950
UxCreateWidget( separator11 );
951
UxCreateWidget( label38 );
952
UxCreateWidget( tf_thres8 );
953
UxCreateWidget( pb_main_search30 );
954
UxCreateWidget( pb_main_search31 );
955
UxCreateWidget( tf_thres11 );
956
UxCreateWidget( label42 );
957
UxCreateWidget( label43 );
958
UxCreateWidget( rowColumn6 );
959
UxCreateWidget( rb_seamtd_gaus6 );
960
UxCreateWidget( rb_seamtd_grav6 );
961
UxCreateWidget( label45 );
962
UxCreateWidget( label46 );
963
UxCreateWidget( tf_alpha31 );
964
UxCreateWidget( label47 );
965
UxCreateWidget( tf_alpha40 );
966
UxCreateWidget( label48 );
967
UxCreateWidget( tf_alpha42 );
969
UxAddCallback( pb_search_search13, XmNactivateCallback,
970
activateCB_pb_search_search13,
971
(XtPointer) UxMergeShellContext );
973
UxAddCallback( pushButton10, XmNactivateCallback,
974
activateCB_pushButton10,
975
(XtPointer) UxMergeShellContext );
977
UxAddCallback( pb_search_plot25, XmNactivateCallback,
978
activateCB_pb_search_plot25,
979
(XtPointer) UxMergeShellContext );
981
UxAddCallback( pb_search_plot28, XmNactivateCallback,
982
activateCB_pb_search_plot28,
983
(XtPointer) UxMergeShellContext );
985
UxAddCallback( pb_search_plot29, XmNactivateCallback,
986
activateCB_pb_search_plot29,
987
(XtPointer) UxMergeShellContext );
989
UxAddCallback( tf_thres8, XmNlosingFocusCallback,
990
losingFocusCB_tf_thres8,
991
(XtPointer) UxMergeShellContext );
993
UxAddCallback( pb_main_search30, XmNactivateCallback,
994
activateCB_pb_main_search30,
995
(XtPointer) UxMergeShellContext );
997
UxAddCallback( pb_main_search31, XmNactivateCallback,
998
activateCB_pb_main_search31,
999
(XtPointer) UxMergeShellContext );
1001
UxAddCallback( tf_thres11, XmNlosingFocusCallback,
1002
losingFocusCB_tf_thres11,
1003
(XtPointer) UxMergeShellContext );
1005
UxAddCallback( rb_seamtd_gaus6, XmNarmCallback,
1006
armCB_rb_seamtd_gaus6,
1007
(XtPointer) UxMergeShellContext );
1008
UxAddCallback( rb_seamtd_gaus6, XmNvalueChangedCallback,
1009
valueChangedCB_rb_seamtd_gaus6,
1010
(XtPointer) UxMergeShellContext );
1012
UxAddCallback( rb_seamtd_grav6, XmNarmCallback,
1013
armCB_rb_seamtd_grav6,
1014
(XtPointer) UxMergeShellContext );
1015
UxAddCallback( rb_seamtd_grav6, XmNvalueChangedCallback,
1016
valueChangedCB_rb_seamtd_grav6,
1017
(XtPointer) UxMergeShellContext );
1019
UxAddCallback( tf_alpha31, XmNlosingFocusCallback,
1020
losingFocusCB_tf_alpha31,
1021
(XtPointer) UxMergeShellContext );
1023
UxAddCallback( tf_alpha40, XmNlosingFocusCallback,
1024
losingFocusCB_tf_alpha40,
1025
(XtPointer) UxMergeShellContext );
1027
UxAddCallback( tf_alpha42, XmNlosingFocusCallback,
1028
losingFocusCB_tf_alpha42,
1029
(XtPointer) UxMergeShellContext );
1032
/* Finally, call UxRealizeInterface to create the X windows
1033
for the widgets created above. */
1035
UxRealizeInterface( MergeShell );
1037
return ( MergeShell );
1040
/*******************************************************************************
1041
The following function includes the code that was entered
1042
in the 'Initial Code' and 'Final Code' sections of the
1043
Declarations Editor. This function is called from the
1044
'Interface function' below.
1045
*******************************************************************************/
1047
static swidget _Ux_create_MergeShell()
1050
_UxCMergeShell *UxContext;
1052
UxMergeShellContext = UxContext =
1053
(_UxCMergeShell *) UxMalloc( sizeof(_UxCMergeShell) );
1055
rtrn = _Uxbuild_MergeShell();
1060
/*******************************************************************************
1061
The following is the 'Interface function' which is the
1062
external entry point for creating this interface.
1063
This function should be called from your application or from
1064
a callback function.
1065
*******************************************************************************/
1067
swidget create_MergeShell()
1070
static int _Uxinit = 0;
1074
static XtActionsRec _Uxactions[] = {
1075
{ "WriteHelp", action_WriteHelp },
1076
{ "ClearHelp", action_ClearHelp },
1077
{ "UpdateDirectory", action_UpdateDirectory },
1078
{ "ClearShort", action_ClearShort },
1079
{ "HelpShort", action_HelpShort },
1080
{ "ExtendedHelp", action_ExtendedHelp },
1081
{ "FileSelectACT", action_FileSelectACT }
1084
XtAppAddActions( UxAppContext,
1086
XtNumber(_Uxactions) );
1091
_Uxrtrn = _Ux_create_MergeShell();
1096
/*******************************************************************************
1098
*******************************************************************************/