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 Massachusetss Ave, Cambridge,
19
Corresponding 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
*******************************************************************************/
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
*******************************************************************************/
72
swidget UxStandardShell;
75
swidget UxpushButton1;
76
swidget Uxpb_standard_reduce;
77
swidget Uxshelp_standard;
81
swidget Uxrb_calib_std;
82
swidget Uxrb_calib_high;
84
swidget UxseparatorGadget1;
85
swidget UxseparatorGadget2;
86
swidget UxseparatorGadget5;
88
swidget Uxmn_unit_micron;
89
swidget Uxmn_unit_angstrom;
96
swidget Uxmn_ypos_inter;
97
swidget Uxmn_ypos_noint;
100
swidget Uxtf_std_resp;
101
swidget Uxlb_std_ref;
102
swidget Uxtf_std_ref;
103
swidget Uxtf_std_flux;
107
swidget Uxtf_std_factor;
108
swidget Uxtf_std_shift;
109
swidget Uxtf_std_deltax;
110
swidget Uxtf_std_deltay;
116
swidget Uxmn_obs_mode_double;
117
swidget Uxmn_obs_mode_single;
118
swidget Uxmn_obs_mode;
119
swidget Uxtg_std_normalize;
121
swidget Uxtf_std_sky_table;
123
swidget Uxtf_std_cuts1;
124
swidget Uxtf_std_cuts2;
125
swidget Uxtg_std_sky_zero;
126
swidget Uxtg_std_debug;
129
#define StandardShell UxStandardShellContext->UxStandardShell
130
#define form2 UxStandardShellContext->Uxform2
131
#define form4 UxStandardShellContext->Uxform4
132
#define pushButton1 UxStandardShellContext->UxpushButton1
133
#define pb_standard_reduce UxStandardShellContext->Uxpb_standard_reduce
134
#define shelp_standard UxStandardShellContext->Uxshelp_standard
135
#define separator2 UxStandardShellContext->Uxseparator2
136
#define separator3 UxStandardShellContext->Uxseparator3
137
#define rowColumn1 UxStandardShellContext->UxrowColumn1
138
#define rb_calib_std UxStandardShellContext->Uxrb_calib_std
139
#define rb_calib_high UxStandardShellContext->Uxrb_calib_high
140
#define label12 UxStandardShellContext->Uxlabel12
141
#define separatorGadget1 UxStandardShellContext->UxseparatorGadget1
142
#define separatorGadget2 UxStandardShellContext->UxseparatorGadget2
143
#define separatorGadget5 UxStandardShellContext->UxseparatorGadget5
144
#define menu2_p3 UxStandardShellContext->Uxmenu2_p3
145
#define mn_unit_micron UxStandardShellContext->Uxmn_unit_micron
146
#define mn_unit_angstrom UxStandardShellContext->Uxmn_unit_angstrom
147
#define mn_unit UxStandardShellContext->Uxmn_unit
148
#define tf_yresp2 UxStandardShellContext->Uxtf_yresp2
149
#define tf_yresp1 UxStandardShellContext->Uxtf_yresp1
150
#define tf_yresp3 UxStandardShellContext->Uxtf_yresp3
151
#define tf_yresp4 UxStandardShellContext->Uxtf_yresp4
152
#define menu2_p5 UxStandardShellContext->Uxmenu2_p5
153
#define mn_ypos_inter UxStandardShellContext->Uxmn_ypos_inter
154
#define mn_ypos_noint UxStandardShellContext->Uxmn_ypos_noint
155
#define mn_ypos UxStandardShellContext->Uxmn_ypos
156
#define label9 UxStandardShellContext->Uxlabel9
157
#define tf_std_resp UxStandardShellContext->Uxtf_std_resp
158
#define lb_std_ref UxStandardShellContext->Uxlb_std_ref
159
#define tf_std_ref UxStandardShellContext->Uxtf_std_ref
160
#define tf_std_flux UxStandardShellContext->Uxtf_std_flux
161
#define label10 UxStandardShellContext->Uxlabel10
162
#define label11 UxStandardShellContext->Uxlabel11
163
#define label22 UxStandardShellContext->Uxlabel22
164
#define tf_std_factor UxStandardShellContext->Uxtf_std_factor
165
#define tf_std_shift UxStandardShellContext->Uxtf_std_shift
166
#define tf_std_deltax UxStandardShellContext->Uxtf_std_deltax
167
#define tf_std_deltay UxStandardShellContext->Uxtf_std_deltay
168
#define label23 UxStandardShellContext->Uxlabel23
169
#define label26 UxStandardShellContext->Uxlabel26
170
#define label27 UxStandardShellContext->Uxlabel27
171
#define label39 UxStandardShellContext->Uxlabel39
172
#define menu2_p6 UxStandardShellContext->Uxmenu2_p6
173
#define mn_obs_mode_double UxStandardShellContext->Uxmn_obs_mode_double
174
#define mn_obs_mode_single UxStandardShellContext->Uxmn_obs_mode_single
175
#define mn_obs_mode UxStandardShellContext->Uxmn_obs_mode
176
#define tg_std_normalize UxStandardShellContext->Uxtg_std_normalize
177
#define label40 UxStandardShellContext->Uxlabel40
178
#define tf_std_sky_table UxStandardShellContext->Uxtf_std_sky_table
179
#define label41 UxStandardShellContext->Uxlabel41
180
#define tf_std_cuts1 UxStandardShellContext->Uxtf_std_cuts1
181
#define tf_std_cuts2 UxStandardShellContext->Uxtf_std_cuts2
182
#define tg_std_sky_zero UxStandardShellContext->Uxtg_std_sky_zero
183
#define tg_std_debug UxStandardShellContext->Uxtg_std_debug
185
static _UxCStandardShell *UxStandardShellContext;
188
extern void SetFileList(),StandardReduceCallback();
192
/*******************************************************************************
193
The following are translation tables.
194
*******************************************************************************/
196
static char *SelectFileStandard = "#override\n\
197
<Btn3Down>:FileSelectACT()\n";
199
/*******************************************************************************
200
Forward declarations of functions that are defined later in this file.
201
*******************************************************************************/
203
swidget create_StandardShell();
205
/*******************************************************************************
206
The following are Action functions.
207
*******************************************************************************/
209
static void action_FileSelectACT( UxWidget, UxEvent, UxParams, p_UxNumParams )
213
Cardinal *p_UxNumParams;
215
_UxCStandardShell *UxSaveCtx, *UxContext;
216
swidget UxThisWidget;
218
UxThisWidget = UxWidgetToSwidget( UxWidget );
219
UxSaveCtx = UxStandardShellContext;
220
UxStandardShellContext = UxContext =
221
(_UxCStandardShell *) UxGetContext( UxThisWidget );
224
#include <irspec_comm.h>
226
extern swidget FileListInterface, TextFieldSwidget;
227
extern Widget FileListWidget;
228
extern char DirSpecs[];
231
int strip = 1; /* strip off */
233
TextFieldSwidget = UxThisWidget;
234
strcpy(DirSpecs, "*.bdf");
236
if ( UxWidget == UxGetWidget(UxFindSwidget("tf_main_object")) ) {
237
SET_LIST_TITLE("Enter object frame");
238
ListType = LIST_OBJECT;
240
else if ( UxWidget == UxGetWidget(UxFindSwidget("tf_main_sky")) ) {
241
SET_LIST_TITLE("Enter sky frame");
244
else if ( UxWidget == UxGetWidget(UxFindSwidget("tf_main_ststar")) ) {
245
SET_LIST_TITLE("Enter standard star");
246
ListType = LIST_STSTAR;
248
else if ( UxWidget == UxGetWidget(UxFindSwidget("tf_main_stsky")) ) {
249
SET_LIST_TITLE("Enter standard sky");
250
ListType = LIST_STSKY;
252
else if ( UxWidget == UxGetWidget(UxFindSwidget("tf_main_dark")) ) {
253
SET_LIST_TITLE("Enter dark frame");
254
ListType = LIST_DARK;
256
else if ( UxWidget == UxGetWidget(UxFindSwidget("tf_main_flat")) ) {
257
SET_LIST_TITLE("Enter flat-field frame");
258
ListType = LIST_FLAT;
260
else if ( UxWidget == UxGetWidget(UxFindSwidget("tf_std_flux")) ) {
261
SET_LIST_TITLE("Enter flux table");
262
ListType = LIST_FLUX;
263
strcpy(DirSpecs, "*.tbl");
265
else if ( UxWidget == UxGetWidget(UxFindSwidget("tf_std_ref")) ) {
266
SET_LIST_TITLE("Enter reference frame");
267
ListType = LIST_STD_REF;
269
else if ( UxWidget == UxGetWidget(UxFindSwidget("tf_obj_ref")) ) {
270
SET_LIST_TITLE("Enter reference frame");
271
ListType = LIST_OBJ_REF;
273
else if ( UxWidget == UxGetWidget(UxFindSwidget("tf_obj_finput")) ) {
274
SET_LIST_TITLE("Enter flux input frame");
275
ListType = LIST_OBJ_FINPUT;
277
else if ( UxWidget == UxGetWidget(UxFindSwidget("tf_obj_resp")) ) {
278
SET_LIST_TITLE("Enter response frame");
279
ListType = LIST_RESP;
282
FileListWidget = UxGetWidget(UxFindSwidget("sl_file_list"));
283
SetFileList(FileListWidget, strip, DirSpecs);
284
UxPopupInterface(FileListInterface, exclusive_grab);
287
UxStandardShellContext = UxSaveCtx;
290
/*******************************************************************************
291
The following are callback functions.
292
*******************************************************************************/
294
static void activateCB_pushButton1( UxWidget, UxClientData, UxCallbackArg )
296
XtPointer UxClientData, UxCallbackArg;
298
_UxCStandardShell *UxSaveCtx, *UxContext;
299
swidget UxThisWidget;
301
UxThisWidget = UxWidgetToSwidget( UxWidget );
302
UxSaveCtx = UxStandardShellContext;
303
UxStandardShellContext = UxContext =
304
(_UxCStandardShell *) UxGetContext( UxThisWidget );
306
UxPopdownInterface(UxFindSwidget("StandardShell"));
308
UxStandardShellContext = UxSaveCtx;
311
static void activateCB_pb_standard_reduce( UxWidget, UxClientData, UxCallbackArg )
313
XtPointer UxClientData, UxCallbackArg;
315
_UxCStandardShell *UxSaveCtx, *UxContext;
316
swidget UxThisWidget;
318
UxThisWidget = UxWidgetToSwidget( UxWidget );
319
UxSaveCtx = UxStandardShellContext;
320
UxStandardShellContext = UxContext =
321
(_UxCStandardShell *) UxGetContext( UxThisWidget );
323
StandardReduceCallback();
325
UxStandardShellContext = UxSaveCtx;
328
static void valueChangedCB_rb_calib_std( UxWidget, UxClientData, UxCallbackArg )
330
XtPointer UxClientData, UxCallbackArg;
332
_UxCStandardShell *UxSaveCtx, *UxContext;
333
swidget UxThisWidget;
335
UxThisWidget = UxWidgetToSwidget( UxWidget );
336
UxSaveCtx = UxStandardShellContext;
337
UxStandardShellContext = UxContext =
338
(_UxCStandardShell *) UxGetContext( UxThisWidget );
340
if ( XmToggleButtonGetState(UxWidget) ) { /*selected */
341
XtSetSensitive(UxGetWidget(tf_std_ref), FALSE);
342
XtSetSensitive(UxGetWidget(lb_std_ref), FALSE);
345
XtSetSensitive(UxGetWidget(tf_std_ref), TRUE);
346
XtSetSensitive(UxGetWidget(lb_std_ref), TRUE);
350
UxStandardShellContext = UxSaveCtx;
353
static void activateCB_mn_unit_micron( UxWidget, UxClientData, UxCallbackArg )
355
XtPointer UxClientData, UxCallbackArg;
357
_UxCStandardShell *UxSaveCtx, *UxContext;
358
swidget UxThisWidget;
360
UxThisWidget = UxWidgetToSwidget( UxWidget );
361
UxSaveCtx = UxStandardShellContext;
362
UxStandardShellContext = UxContext =
363
(_UxCStandardShell *) UxGetContext( UxThisWidget );
366
UxStandardShellContext = UxSaveCtx;
369
static void activateCB_mn_unit_angstrom( UxWidget, UxClientData, UxCallbackArg )
371
XtPointer UxClientData, UxCallbackArg;
373
_UxCStandardShell *UxSaveCtx, *UxContext;
374
swidget UxThisWidget;
376
UxThisWidget = UxWidgetToSwidget( UxWidget );
377
UxSaveCtx = UxStandardShellContext;
378
UxStandardShellContext = UxContext =
379
(_UxCStandardShell *) UxGetContext( UxThisWidget );
382
UxStandardShellContext = UxSaveCtx;
385
static void activateCB_mn_ypos_inter( UxWidget, UxClientData, UxCallbackArg )
387
XtPointer UxClientData, UxCallbackArg;
389
_UxCStandardShell *UxSaveCtx, *UxContext;
390
swidget UxThisWidget;
392
UxThisWidget = UxWidgetToSwidget( UxWidget );
393
UxSaveCtx = UxStandardShellContext;
394
UxStandardShellContext = UxContext =
395
(_UxCStandardShell *) UxGetContext( UxThisWidget );
398
UxStandardShellContext = UxSaveCtx;
401
static void activateCB_mn_ypos_noint( UxWidget, UxClientData, UxCallbackArg )
403
XtPointer UxClientData, UxCallbackArg;
405
_UxCStandardShell *UxSaveCtx, *UxContext;
406
swidget UxThisWidget;
408
UxThisWidget = UxWidgetToSwidget( UxWidget );
409
UxSaveCtx = UxStandardShellContext;
410
UxStandardShellContext = UxContext =
411
(_UxCStandardShell *) UxGetContext( UxThisWidget );
414
UxStandardShellContext = UxSaveCtx;
417
static void activateCB_mn_obs_mode_double( UxWidget, UxClientData, UxCallbackArg )
419
XtPointer UxClientData, UxCallbackArg;
421
_UxCStandardShell *UxSaveCtx, *UxContext;
422
swidget UxThisWidget;
424
UxThisWidget = UxWidgetToSwidget( UxWidget );
425
UxSaveCtx = UxStandardShellContext;
426
UxStandardShellContext = UxContext =
427
(_UxCStandardShell *) UxGetContext( UxThisWidget );
430
UxStandardShellContext = UxSaveCtx;
433
static void activateCB_mn_obs_mode_single( UxWidget, UxClientData, UxCallbackArg )
435
XtPointer UxClientData, UxCallbackArg;
437
_UxCStandardShell *UxSaveCtx, *UxContext;
438
swidget UxThisWidget;
440
UxThisWidget = UxWidgetToSwidget( UxWidget );
441
UxSaveCtx = UxStandardShellContext;
442
UxStandardShellContext = UxContext =
443
(_UxCStandardShell *) UxGetContext( UxThisWidget );
446
UxStandardShellContext = UxSaveCtx;
449
/*******************************************************************************
450
The 'init_' function sets the private properties for all the
451
swidgets to the values specified in the Property Table.
452
Some properties need to be set after the X widgets have been
453
created and the setting of these properties is done in the
454
'build_' function after the UxCreateWidget call.
455
*******************************************************************************/
457
static void _Uxinit_StandardShell()
459
UxPutIconName( StandardShell, "StandardShell" );
460
UxPutBackground( StandardShell, WindowBackground );
461
UxPutGeometry( StandardShell, "+10+60" );
462
UxPutKeyboardFocusPolicy( StandardShell, "pointer" );
463
UxPutTitle( StandardShell, "Standard calibration" );
464
UxPutHeight( StandardShell, 642 );
465
UxPutWidth( StandardShell, 490 );
466
UxPutY( StandardShell, 81 );
467
UxPutX( StandardShell, 12 );
469
UxPutLabelFontList( form2, TextFont );
470
UxPutButtonFontList( form2, TextFont );
471
UxPutBackground( form2, WindowBackground );
472
UxPutHeight( form2, 211 );
473
UxPutWidth( form2, 530 );
476
UxPutUnitType( form2, "pixels" );
477
UxPutResizePolicy( form2, "resize_none" );
479
UxPutBackground( form4, ButtonBackground );
480
UxPutHeight( form4, 40 );
481
UxPutWidth( form4, 490 );
482
UxPutY( form4, 600 );
484
UxPutResizePolicy( form4, "resize_none" );
486
UxPutLabelString( pushButton1, "Return" );
487
UxPutForeground( pushButton1, CancelForeground );
488
UxPutFontList( pushButton1, BoldTextFont );
489
UxPutBackground( pushButton1, ButtonBackground );
490
UxPutHeight( pushButton1, 30 );
491
UxPutWidth( pushButton1, 86 );
492
UxPutY( pushButton1, 4 );
493
UxPutX( pushButton1, 98 );
495
UxPutLabelString( pb_standard_reduce, "Reduce" );
496
UxPutForeground( pb_standard_reduce, ButtonForeground );
497
UxPutFontList( pb_standard_reduce, BoldTextFont );
498
UxPutBackground( pb_standard_reduce, ButtonBackground );
499
UxPutHeight( pb_standard_reduce, 30 );
500
UxPutWidth( pb_standard_reduce, 86 );
501
UxPutY( pb_standard_reduce, 4 );
502
UxPutX( pb_standard_reduce, 6 );
504
UxPutWordWrap( shelp_standard, "false" );
505
UxPutEditMode( shelp_standard, "single_line_edit" );
506
UxPutFontList( shelp_standard, TextFont );
507
UxPutEditable( shelp_standard, "false" );
508
UxPutCursorPositionVisible( shelp_standard, "false" );
509
UxPutBackground( shelp_standard, SHelpBackground );
510
UxPutHeight( shelp_standard, 50 );
511
UxPutWidth( shelp_standard, 490 );
512
UxPutY( shelp_standard, 542 );
513
UxPutX( shelp_standard, 0 );
515
UxPutBackground( separator2, WindowBackground );
516
UxPutHeight( separator2, 6 );
517
UxPutWidth( separator2, 492 );
518
UxPutY( separator2, 536 );
519
UxPutX( separator2, 2 );
521
UxPutBackground( separator3, WindowBackground );
522
UxPutHeight( separator3, 10 );
523
UxPutWidth( separator3, 492 );
524
UxPutY( separator3, 590 );
525
UxPutX( separator3, 0 );
527
UxPutIsAligned( rowColumn1, "true" );
528
UxPutEntryAlignment( rowColumn1, "alignment_beginning" );
529
UxPutBorderWidth( rowColumn1, 0 );
530
UxPutShadowThickness( rowColumn1, 0 );
531
UxPutLabelString( rowColumn1, "" );
532
UxPutEntryBorder( rowColumn1, 0 );
533
UxPutBackground( rowColumn1, "grey80" );
534
UxPutRadioBehavior( rowColumn1, "true" );
535
UxPutHeight( rowColumn1, 67 );
536
UxPutWidth( rowColumn1, 82 );
537
UxPutY( rowColumn1, 38 );
538
UxPutX( rowColumn1, 61 );
540
UxPutIndicatorSize( rb_calib_std, 16 );
541
UxPutHighlightOnEnter( rb_calib_std, "true" );
542
UxPutForeground( rb_calib_std, TextForeground );
543
UxPutSelectColor( rb_calib_std, SelectColor );
544
UxPutSet( rb_calib_std, "true" );
545
UxPutLabelString( rb_calib_std, "Standard" );
546
UxPutFontList( rb_calib_std, TextFont );
547
UxPutBackground( rb_calib_std, WindowBackground );
548
UxPutHeight( rb_calib_std, 20 );
549
UxPutWidth( rb_calib_std, 76 );
550
UxPutY( rb_calib_std, 0 );
551
UxPutX( rb_calib_std, -12 );
553
UxPutIndicatorSize( rb_calib_high, 16 );
554
UxPutHighlightOnEnter( rb_calib_high, "true" );
555
UxPutSet( rb_calib_high, "false" );
556
UxPutForeground( rb_calib_high, TextForeground );
557
UxPutSelectColor( rb_calib_high, SelectColor );
558
UxPutLabelString( rb_calib_high, "High accuracy" );
559
UxPutFontList( rb_calib_high, TextFont );
560
UxPutBackground( rb_calib_high, WindowBackground );
561
UxPutHeight( rb_calib_high, 66 );
562
UxPutWidth( rb_calib_high, 76 );
563
UxPutY( rb_calib_high, 34 );
564
UxPutX( rb_calib_high, 3 );
566
UxPutForeground( label12, TextForeground );
567
UxPutAlignment( label12, "alignment_beginning" );
568
UxPutLabelString( label12, "Wavelength calibration" );
569
UxPutFontList( label12, TextFont );
570
UxPutBackground( label12, WindowBackground );
571
UxPutHeight( label12, 22 );
572
UxPutWidth( label12, 162 );
573
UxPutY( label12, 14 );
574
UxPutX( label12, 48 );
576
UxPutOrientation( separatorGadget1, "vertical" );
577
UxPutHeight( separatorGadget1, 84 );
578
UxPutWidth( separatorGadget1, 12 );
579
UxPutY( separatorGadget1, 26 );
580
UxPutX( separatorGadget1, 32 );
582
UxPutOrientation( separatorGadget2, "vertical" );
583
UxPutHeight( separatorGadget2, 84 );
584
UxPutWidth( separatorGadget2, 12 );
585
UxPutY( separatorGadget2, 26 );
586
UxPutX( separatorGadget2, 207 );
588
UxPutHeight( separatorGadget5, 8 );
589
UxPutWidth( separatorGadget5, 178 );
590
UxPutY( separatorGadget5, 106 );
591
UxPutX( separatorGadget5, 37 );
593
UxPutForeground( menu2_p3, TextForeground );
594
UxPutBackground( menu2_p3, WindowBackground );
595
UxPutRowColumnType( menu2_p3, "menu_pulldown" );
597
UxPutFontList( mn_unit_micron, TextFont );
598
UxPutLabelString( mn_unit_micron, "microns" );
600
UxPutFontList( mn_unit_angstrom, TextFont );
601
UxPutLabelString( mn_unit_angstrom, "angstroms" );
603
UxPutLabelString( mn_unit, "Units : " );
604
UxPutSpacing( mn_unit, 0 );
605
UxPutMarginWidth( mn_unit, 0 );
606
UxPutForeground( mn_unit, TextForeground );
607
UxPutBackground( mn_unit, WindowBackground );
608
UxPutY( mn_unit, 22 );
609
UxPutX( mn_unit, 242 );
610
UxPutRowColumnType( mn_unit, "menu_option" );
612
UxPutMaxLength( tf_yresp2, 5 );
613
UxPutForeground( tf_yresp2, TextForeground );
614
UxPutHighlightOnEnter( tf_yresp2, "true" );
615
UxPutFontList( tf_yresp2, TextFont );
616
UxPutBackground( tf_yresp2, TextBackground );
617
UxPutHeight( tf_yresp2, 34 );
618
UxPutWidth( tf_yresp2, 56 );
619
UxPutY( tf_yresp2, 287 );
620
UxPutX( tf_yresp2, 306 );
622
UxPutMaxLength( tf_yresp1, 5 );
623
UxPutForeground( tf_yresp1, TextForeground );
624
UxPutHighlightOnEnter( tf_yresp1, "true" );
625
UxPutFontList( tf_yresp1, TextFont );
626
UxPutBackground( tf_yresp1, TextBackground );
627
UxPutHeight( tf_yresp1, 34 );
628
UxPutWidth( tf_yresp1, 56 );
629
UxPutY( tf_yresp1, 287 );
630
UxPutX( tf_yresp1, 253 );
632
UxPutMaxLength( tf_yresp3, 5 );
633
UxPutForeground( tf_yresp3, TextForeground );
634
UxPutHighlightOnEnter( tf_yresp3, "true" );
635
UxPutFontList( tf_yresp3, TextFont );
636
UxPutBackground( tf_yresp3, TextBackground );
637
UxPutHeight( tf_yresp3, 34 );
638
UxPutWidth( tf_yresp3, 56 );
639
UxPutY( tf_yresp3, 287 );
640
UxPutX( tf_yresp3, 360 );
642
UxPutMaxLength( tf_yresp4, 5 );
643
UxPutForeground( tf_yresp4, TextForeground );
644
UxPutHighlightOnEnter( tf_yresp4, "true" );
645
UxPutFontList( tf_yresp4, TextFont );
646
UxPutBackground( tf_yresp4, TextBackground );
647
UxPutHeight( tf_yresp4, 34 );
648
UxPutWidth( tf_yresp4, 56 );
649
UxPutY( tf_yresp4, 287 );
650
UxPutX( tf_yresp4, 414 );
652
UxPutForeground( menu2_p5, TextForeground );
653
UxPutBackground( menu2_p5, WindowBackground );
654
UxPutRowColumnType( menu2_p5, "menu_pulldown" );
656
UxPutFontList( mn_ypos_inter, TextFont );
657
UxPutLabelString( mn_ypos_inter, "interactive" );
659
UxPutFontList( mn_ypos_noint, TextFont );
660
UxPutLabelString( mn_ypos_noint, "non-interactive" );
662
UxPutLabelString( mn_ypos, "Y-positions : " );
663
UxPutSpacing( mn_ypos, 0 );
664
UxPutMarginWidth( mn_ypos, 0 );
665
UxPutForeground( mn_ypos, TextForeground );
666
UxPutBackground( mn_ypos, WindowBackground );
667
UxPutY( mn_ypos, 287 );
668
UxPutX( mn_ypos, 16 );
669
UxPutRowColumnType( mn_ypos, "menu_option" );
671
UxPutForeground( label9, TextForeground );
672
UxPutAlignment( label9, "alignment_beginning" );
673
UxPutLabelString( label9, "Response frame :" );
674
UxPutFontList( label9, TextFont );
675
UxPutBackground( label9, LabelBackground );
676
UxPutHeight( label9, 30 );
677
UxPutWidth( label9, 118 );
678
UxPutY( label9, 250 );
679
UxPutX( label9, 16 );
681
UxPutForeground( tf_std_resp, TextForeground );
682
UxPutHighlightOnEnter( tf_std_resp, "true" );
683
UxPutFontList( tf_std_resp, TextFont );
684
UxPutBackground( tf_std_resp, TextBackground );
685
UxPutHeight( tf_std_resp, 34 );
686
UxPutWidth( tf_std_resp, 191 );
687
UxPutY( tf_std_resp, 246 );
688
UxPutX( tf_std_resp, 140 );
690
UxPutSensitive( lb_std_ref, "false" );
691
UxPutForeground( lb_std_ref, TextForeground );
692
UxPutAlignment( lb_std_ref, "alignment_beginning" );
693
UxPutLabelString( lb_std_ref, "Reference frame :" );
694
UxPutFontList( lb_std_ref, TextFont );
695
UxPutBackground( lb_std_ref, LabelBackground );
696
UxPutHeight( lb_std_ref, 30 );
697
UxPutWidth( lb_std_ref, 122 );
698
UxPutY( lb_std_ref, 126 );
699
UxPutX( lb_std_ref, 16 );
701
UxPutSensitive( tf_std_ref, "false" );
702
UxPutTranslations( tf_std_ref, SelectFileStandard );
703
UxPutForeground( tf_std_ref, TextForeground );
704
UxPutHighlightOnEnter( tf_std_ref, "true" );
705
UxPutFontList( tf_std_ref, TextFont );
706
UxPutBackground( tf_std_ref, TextBackground );
707
UxPutHeight( tf_std_ref, 34 );
708
UxPutWidth( tf_std_ref, 189 );
709
UxPutY( tf_std_ref, 122 );
710
UxPutX( tf_std_ref, 140 );
712
UxPutTranslations( tf_std_flux, SelectFileStandard );
713
UxPutForeground( tf_std_flux, TextForeground );
714
UxPutHighlightOnEnter( tf_std_flux, "true" );
715
UxPutFontList( tf_std_flux, TextFont );
716
UxPutBackground( tf_std_flux, TextBackground );
717
UxPutHeight( tf_std_flux, 34 );
718
UxPutWidth( tf_std_flux, 192 );
719
UxPutY( tf_std_flux, 204 );
720
UxPutX( tf_std_flux, 140 );
722
UxPutForeground( label10, TextForeground );
723
UxPutAlignment( label10, "alignment_beginning" );
724
UxPutLabelString( label10, "Flux table :" );
725
UxPutFontList( label10, TextFont );
726
UxPutBackground( label10, LabelBackground );
727
UxPutHeight( label10, 30 );
728
UxPutWidth( label10, 76 );
729
UxPutY( label10, 210 );
730
UxPutX( label10, 16 );
732
UxPutForeground( label11, TextForeground );
733
UxPutAlignment( label11, "alignment_beginning" );
734
UxPutLabelString( label11, "SKY SUBTRACTION PARAMETERS" );
735
UxPutFontList( label11, TextFont );
736
UxPutBackground( label11, LabelBackground );
737
UxPutHeight( label11, 30 );
738
UxPutWidth( label11, 246 );
739
UxPutY( label11, 382 );
740
UxPutX( label11, 5 );
742
UxPutForeground( label22, TextForeground );
743
UxPutAlignment( label22, "alignment_beginning" );
744
UxPutLabelString( label22, "Factor :" );
745
UxPutFontList( label22, TextFont );
746
UxPutBackground( label22, LabelBackground );
747
UxPutHeight( label22, 30 );
748
UxPutWidth( label22, 54 );
749
UxPutY( label22, 418 );
750
UxPutX( label22, 16 );
752
UxPutText( tf_std_factor, "1" );
753
UxPutMaxLength( tf_std_factor, 5 );
754
UxPutForeground( tf_std_factor, TextForeground );
755
UxPutHighlightOnEnter( tf_std_factor, "true" );
756
UxPutFontList( tf_std_factor, TextFont );
757
UxPutBackground( tf_std_factor, TextBackground );
758
UxPutHeight( tf_std_factor, 34 );
759
UxPutWidth( tf_std_factor, 56 );
760
UxPutY( tf_std_factor, 414 );
761
UxPutX( tf_std_factor, 69 );
763
UxPutMaxLength( tf_std_shift, 5 );
764
UxPutForeground( tf_std_shift, TextForeground );
765
UxPutHighlightOnEnter( tf_std_shift, "true" );
766
UxPutFontList( tf_std_shift, TextFont );
767
UxPutBackground( tf_std_shift, TextBackground );
768
UxPutHeight( tf_std_shift, 34 );
769
UxPutWidth( tf_std_shift, 56 );
770
UxPutY( tf_std_shift, 414 );
771
UxPutX( tf_std_shift, 175 );
773
UxPutMaxLength( tf_std_deltax, 5 );
774
UxPutForeground( tf_std_deltax, TextForeground );
775
UxPutHighlightOnEnter( tf_std_deltax, "true" );
776
UxPutFontList( tf_std_deltax, TextFont );
777
UxPutBackground( tf_std_deltax, TextBackground );
778
UxPutHeight( tf_std_deltax, 34 );
779
UxPutWidth( tf_std_deltax, 56 );
780
UxPutY( tf_std_deltax, 414 );
781
UxPutX( tf_std_deltax, 297 );
783
UxPutMaxLength( tf_std_deltay, 5 );
784
UxPutForeground( tf_std_deltay, TextForeground );
785
UxPutHighlightOnEnter( tf_std_deltay, "true" );
786
UxPutFontList( tf_std_deltay, TextFont );
787
UxPutBackground( tf_std_deltay, TextBackground );
788
UxPutHeight( tf_std_deltay, 34 );
789
UxPutWidth( tf_std_deltay, 56 );
790
UxPutY( tf_std_deltay, 414 );
791
UxPutX( tf_std_deltay, 417 );
793
UxPutForeground( label23, TextForeground );
794
UxPutAlignment( label23, "alignment_beginning" );
795
UxPutLabelString( label23, "Shift :" );
796
UxPutFontList( label23, TextFont );
797
UxPutBackground( label23, LabelBackground );
798
UxPutHeight( label23, 30 );
799
UxPutWidth( label23, 46 );
800
UxPutY( label23, 418 );
801
UxPutX( label23, 133 );
803
UxPutForeground( label26, TextForeground );
804
UxPutAlignment( label26, "alignment_beginning" );
805
UxPutLabelString( label26, "Deltax :" );
806
UxPutFontList( label26, TextFont );
807
UxPutBackground( label26, LabelBackground );
808
UxPutHeight( label26, 30 );
809
UxPutWidth( label26, 58 );
810
UxPutY( label26, 418 );
811
UxPutX( label26, 239 );
813
UxPutForeground( label27, TextForeground );
814
UxPutAlignment( label27, "alignment_beginning" );
815
UxPutLabelString( label27, "Deltay :" );
816
UxPutFontList( label27, TextFont );
817
UxPutBackground( label27, LabelBackground );
818
UxPutHeight( label27, 30 );
819
UxPutWidth( label27, 58 );
820
UxPutY( label27, 418 );
821
UxPutX( label27, 359 );
823
UxPutForeground( label39, TextForeground );
824
UxPutAlignment( label39, "alignment_beginning" );
825
UxPutLabelString( label39, "RESPONSE GENERATION PARAMETERS" );
826
UxPutFontList( label39, TextFont );
827
UxPutBackground( label39, LabelBackground );
828
UxPutHeight( label39, 30 );
829
UxPutWidth( label39, 284 );
830
UxPutY( label39, 171 );
831
UxPutX( label39, 7 );
833
UxPutForeground( menu2_p6, TextForeground );
834
UxPutBackground( menu2_p6, WindowBackground );
835
UxPutRowColumnType( menu2_p6, "menu_pulldown" );
837
UxPutFontList( mn_obs_mode_double, TextFont );
838
UxPutLabelString( mn_obs_mode_double, "two frames" );
840
UxPutFontList( mn_obs_mode_single, TextFont );
841
UxPutLabelString( mn_obs_mode_single, "single frame" );
843
UxPutLabelString( mn_obs_mode, "Observing mode : " );
844
UxPutSpacing( mn_obs_mode, 0 );
845
UxPutMarginWidth( mn_obs_mode, 0 );
846
UxPutForeground( mn_obs_mode, TextForeground );
847
UxPutBackground( mn_obs_mode, WindowBackground );
848
UxPutY( mn_obs_mode, 327 );
849
UxPutX( mn_obs_mode, 16 );
850
UxPutRowColumnType( mn_obs_mode, "menu_option" );
852
UxPutIndicatorSize( tg_std_normalize, 16 );
853
UxPutSensitive( tg_std_normalize, "true" );
854
UxPutHighlightOnEnter( tg_std_normalize, "true" );
855
UxPutForeground( tg_std_normalize, TextForeground );
856
UxPutSelectColor( tg_std_normalize, SelectColor );
857
UxPutSet( tg_std_normalize, "true" );
858
UxPutLabelString( tg_std_normalize, "Automatic normalization" );
859
UxPutFontList( tg_std_normalize, TextFont );
860
UxPutBackground( tg_std_normalize, WindowBackground );
861
UxPutHeight( tg_std_normalize, 31 );
862
UxPutWidth( tg_std_normalize, 186 );
863
UxPutY( tg_std_normalize, 331 );
864
UxPutX( tg_std_normalize, 277 );
866
UxPutForeground( label40, TextForeground );
867
UxPutAlignment( label40, "alignment_beginning" );
868
UxPutLabelString( label40, "Sky table :" );
869
UxPutFontList( label40, TextFont );
870
UxPutBackground( label40, LabelBackground );
871
UxPutHeight( label40, 30 );
872
UxPutWidth( label40, 78 );
873
UxPutY( label40, 456 );
874
UxPutX( label40, 14 );
876
UxPutText( tf_std_sky_table, "cursor" );
877
UxPutTranslations( tf_std_sky_table, SelectFileStandard );
878
UxPutForeground( tf_std_sky_table, TextForeground );
879
UxPutHighlightOnEnter( tf_std_sky_table, "true" );
880
UxPutFontList( tf_std_sky_table, TextFont );
881
UxPutBackground( tf_std_sky_table, TextBackground );
882
UxPutHeight( tf_std_sky_table, 34 );
883
UxPutWidth( tf_std_sky_table, 171 );
884
UxPutY( tf_std_sky_table, 454 );
885
UxPutX( tf_std_sky_table, 91 );
887
UxPutForeground( label41, TextForeground );
888
UxPutAlignment( label41, "alignment_beginning" );
889
UxPutLabelString( label41, "Cuts :" );
890
UxPutFontList( label41, TextFont );
891
UxPutBackground( label41, LabelBackground );
892
UxPutHeight( label41, 30 );
893
UxPutWidth( label41, 48 );
894
UxPutY( label41, 456 );
895
UxPutX( label41, 273 );
897
UxPutText( tf_std_cuts1, "0" );
898
UxPutMaxLength( tf_std_cuts1, 5 );
899
UxPutForeground( tf_std_cuts1, TextForeground );
900
UxPutHighlightOnEnter( tf_std_cuts1, "true" );
901
UxPutFontList( tf_std_cuts1, TextFont );
902
UxPutBackground( tf_std_cuts1, TextBackground );
903
UxPutHeight( tf_std_cuts1, 34 );
904
UxPutWidth( tf_std_cuts1, 56 );
905
UxPutY( tf_std_cuts1, 454 );
906
UxPutX( tf_std_cuts1, 321 );
908
UxPutText( tf_std_cuts2, "0" );
909
UxPutMaxLength( tf_std_cuts2, 5 );
910
UxPutForeground( tf_std_cuts2, TextForeground );
911
UxPutHighlightOnEnter( tf_std_cuts2, "true" );
912
UxPutFontList( tf_std_cuts2, TextFont );
913
UxPutBackground( tf_std_cuts2, TextBackground );
914
UxPutHeight( tf_std_cuts2, 34 );
915
UxPutWidth( tf_std_cuts2, 56 );
916
UxPutY( tf_std_cuts2, 454 );
917
UxPutX( tf_std_cuts2, 381 );
919
UxPutIndicatorSize( tg_std_sky_zero, 16 );
920
UxPutSensitive( tg_std_sky_zero, "true" );
921
UxPutHighlightOnEnter( tg_std_sky_zero, "true" );
922
UxPutForeground( tg_std_sky_zero, TextForeground );
923
UxPutSelectColor( tg_std_sky_zero, SelectColor );
924
UxPutSet( tg_std_sky_zero, "false" );
925
UxPutLabelString( tg_std_sky_zero, "Force sky to zero" );
926
UxPutFontList( tg_std_sky_zero, TextFont );
927
UxPutBackground( tg_std_sky_zero, WindowBackground );
928
UxPutHeight( tg_std_sky_zero, 31 );
929
UxPutWidth( tg_std_sky_zero, 143 );
930
UxPutY( tg_std_sky_zero, 494 );
931
UxPutX( tg_std_sky_zero, 12 );
933
UxPutIndicatorSize( tg_std_debug, 16 );
934
UxPutSensitive( tg_std_debug, "true" );
935
UxPutHighlightOnEnter( tg_std_debug, "true" );
936
UxPutForeground( tg_std_debug, TextForeground );
937
UxPutSelectColor( tg_std_debug, SelectColor );
938
UxPutSet( tg_std_debug, "false" );
939
UxPutLabelString( tg_std_debug, "Debug mode" );
940
UxPutFontList( tg_std_debug, TextFont );
941
UxPutBackground( tg_std_debug, WindowBackground );
942
UxPutHeight( tg_std_debug, 31 );
943
UxPutWidth( tg_std_debug, 111 );
944
UxPutY( tg_std_debug, 494 );
945
UxPutX( tg_std_debug, 172 );
949
/*******************************************************************************
950
The 'build_' function creates all the swidgets and X widgets,
951
and sets their properties to the values specified in the
953
*******************************************************************************/
955
static swidget _Uxbuild_StandardShell()
957
/* Create the swidgets */
959
StandardShell = UxCreateApplicationShell( "StandardShell", NO_PARENT );
960
UxPutContext( StandardShell, UxStandardShellContext );
962
form2 = UxCreateForm( "form2", StandardShell );
963
form4 = UxCreateForm( "form4", form2 );
964
pushButton1 = UxCreatePushButton( "pushButton1", form4 );
965
pb_standard_reduce = UxCreatePushButton( "pb_standard_reduce", form4 );
966
shelp_standard = UxCreateText( "shelp_standard", form2 );
967
separator2 = UxCreateSeparator( "separator2", form2 );
968
separator3 = UxCreateSeparator( "separator3", form2 );
969
rowColumn1 = UxCreateRowColumn( "rowColumn1", form2 );
970
rb_calib_std = UxCreateToggleButton( "rb_calib_std", rowColumn1 );
971
rb_calib_high = UxCreateToggleButton( "rb_calib_high", rowColumn1 );
972
label12 = UxCreateLabel( "label12", form2 );
973
separatorGadget1 = UxCreateSeparatorGadget( "separatorGadget1", form2 );
974
separatorGadget2 = UxCreateSeparatorGadget( "separatorGadget2", form2 );
975
separatorGadget5 = UxCreateSeparatorGadget( "separatorGadget5", form2 );
976
menu2_p3 = UxCreateRowColumn( "menu2_p3", form2 );
977
mn_unit_micron = UxCreatePushButtonGadget( "mn_unit_micron", menu2_p3 );
978
mn_unit_angstrom = UxCreatePushButtonGadget( "mn_unit_angstrom", menu2_p3 );
979
mn_unit = UxCreateRowColumn( "mn_unit", form2 );
980
tf_yresp2 = UxCreateTextField( "tf_yresp2", form2 );
981
tf_yresp1 = UxCreateTextField( "tf_yresp1", form2 );
982
tf_yresp3 = UxCreateTextField( "tf_yresp3", form2 );
983
tf_yresp4 = UxCreateTextField( "tf_yresp4", form2 );
984
menu2_p5 = UxCreateRowColumn( "menu2_p5", form2 );
985
mn_ypos_inter = UxCreatePushButtonGadget( "mn_ypos_inter", menu2_p5 );
986
mn_ypos_noint = UxCreatePushButtonGadget( "mn_ypos_noint", menu2_p5 );
987
mn_ypos = UxCreateRowColumn( "mn_ypos", form2 );
988
label9 = UxCreateLabel( "label9", form2 );
989
tf_std_resp = UxCreateTextField( "tf_std_resp", form2 );
990
lb_std_ref = UxCreateLabel( "lb_std_ref", form2 );
991
tf_std_ref = UxCreateTextField( "tf_std_ref", form2 );
992
tf_std_flux = UxCreateTextField( "tf_std_flux", form2 );
993
label10 = UxCreateLabel( "label10", form2 );
994
label11 = UxCreateLabel( "label11", form2 );
995
label22 = UxCreateLabel( "label22", form2 );
996
tf_std_factor = UxCreateTextField( "tf_std_factor", form2 );
997
tf_std_shift = UxCreateTextField( "tf_std_shift", form2 );
998
tf_std_deltax = UxCreateTextField( "tf_std_deltax", form2 );
999
tf_std_deltay = UxCreateTextField( "tf_std_deltay", form2 );
1000
label23 = UxCreateLabel( "label23", form2 );
1001
label26 = UxCreateLabel( "label26", form2 );
1002
label27 = UxCreateLabel( "label27", form2 );
1003
label39 = UxCreateLabel( "label39", form2 );
1004
menu2_p6 = UxCreateRowColumn( "menu2_p6", form2 );
1005
mn_obs_mode_double = UxCreatePushButtonGadget( "mn_obs_mode_double", menu2_p6 );
1006
mn_obs_mode_single = UxCreatePushButtonGadget( "mn_obs_mode_single", menu2_p6 );
1007
mn_obs_mode = UxCreateRowColumn( "mn_obs_mode", form2 );
1008
tg_std_normalize = UxCreateToggleButton( "tg_std_normalize", form2 );
1009
label40 = UxCreateLabel( "label40", form2 );
1010
tf_std_sky_table = UxCreateTextField( "tf_std_sky_table", form2 );
1011
label41 = UxCreateLabel( "label41", form2 );
1012
tf_std_cuts1 = UxCreateTextField( "tf_std_cuts1", form2 );
1013
tf_std_cuts2 = UxCreateTextField( "tf_std_cuts2", form2 );
1014
tg_std_sky_zero = UxCreateToggleButton( "tg_std_sky_zero", form2 );
1015
tg_std_debug = UxCreateToggleButton( "tg_std_debug", form2 );
1017
_Uxinit_StandardShell();
1019
/* Create the X widgets */
1021
UxCreateWidget( StandardShell );
1022
UxCreateWidget( form2 );
1023
UxCreateWidget( form4 );
1024
UxCreateWidget( pushButton1 );
1025
UxCreateWidget( pb_standard_reduce );
1026
UxCreateWidget( shelp_standard );
1027
UxCreateWidget( separator2 );
1028
UxCreateWidget( separator3 );
1029
UxCreateWidget( rowColumn1 );
1030
UxCreateWidget( rb_calib_std );
1031
UxCreateWidget( rb_calib_high );
1032
UxCreateWidget( label12 );
1033
UxCreateWidget( separatorGadget1 );
1034
UxCreateWidget( separatorGadget2 );
1035
UxCreateWidget( separatorGadget5 );
1036
UxCreateWidget( menu2_p3 );
1037
UxCreateWidget( mn_unit_micron );
1038
UxCreateWidget( mn_unit_angstrom );
1039
UxPutSubMenuId( mn_unit, "menu2_p3" );
1040
UxCreateWidget( mn_unit );
1042
UxCreateWidget( tf_yresp2 );
1043
UxCreateWidget( tf_yresp1 );
1044
UxCreateWidget( tf_yresp3 );
1045
UxCreateWidget( tf_yresp4 );
1046
UxCreateWidget( menu2_p5 );
1047
UxCreateWidget( mn_ypos_inter );
1048
UxCreateWidget( mn_ypos_noint );
1049
UxPutSubMenuId( mn_ypos, "menu2_p5" );
1050
UxCreateWidget( mn_ypos );
1052
UxCreateWidget( label9 );
1053
UxCreateWidget( tf_std_resp );
1054
UxCreateWidget( lb_std_ref );
1055
UxCreateWidget( tf_std_ref );
1056
UxCreateWidget( tf_std_flux );
1057
UxCreateWidget( label10 );
1058
UxCreateWidget( label11 );
1059
UxCreateWidget( label22 );
1060
UxCreateWidget( tf_std_factor );
1061
UxCreateWidget( tf_std_shift );
1062
UxCreateWidget( tf_std_deltax );
1063
UxCreateWidget( tf_std_deltay );
1064
UxCreateWidget( label23 );
1065
UxCreateWidget( label26 );
1066
UxCreateWidget( label27 );
1067
UxCreateWidget( label39 );
1068
UxCreateWidget( menu2_p6 );
1069
UxCreateWidget( mn_obs_mode_double );
1070
UxCreateWidget( mn_obs_mode_single );
1071
UxPutSubMenuId( mn_obs_mode, "menu2_p6" );
1072
UxCreateWidget( mn_obs_mode );
1074
UxCreateWidget( tg_std_normalize );
1075
UxCreateWidget( label40 );
1076
UxCreateWidget( tf_std_sky_table );
1077
UxCreateWidget( label41 );
1078
UxCreateWidget( tf_std_cuts1 );
1079
UxCreateWidget( tf_std_cuts2 );
1080
UxCreateWidget( tg_std_sky_zero );
1081
UxCreateWidget( tg_std_debug );
1083
UxAddCallback( pushButton1, XmNactivateCallback,
1084
activateCB_pushButton1,
1085
(XtPointer) UxStandardShellContext );
1087
UxAddCallback( pb_standard_reduce, XmNactivateCallback,
1088
activateCB_pb_standard_reduce,
1089
(XtPointer) UxStandardShellContext );
1091
UxAddCallback( rb_calib_std, XmNvalueChangedCallback,
1092
valueChangedCB_rb_calib_std,
1093
(XtPointer) UxStandardShellContext );
1095
UxAddCallback( mn_unit_micron, XmNactivateCallback,
1096
activateCB_mn_unit_micron,
1097
(XtPointer) UxStandardShellContext );
1099
UxAddCallback( mn_unit_angstrom, XmNactivateCallback,
1100
activateCB_mn_unit_angstrom,
1101
(XtPointer) UxStandardShellContext );
1103
UxAddCallback( mn_ypos_inter, XmNactivateCallback,
1104
activateCB_mn_ypos_inter,
1105
(XtPointer) UxStandardShellContext );
1107
UxAddCallback( mn_ypos_noint, XmNactivateCallback,
1108
activateCB_mn_ypos_noint,
1109
(XtPointer) UxStandardShellContext );
1111
UxAddCallback( mn_obs_mode_double, XmNactivateCallback,
1112
activateCB_mn_obs_mode_double,
1113
(XtPointer) UxStandardShellContext );
1115
UxAddCallback( mn_obs_mode_single, XmNactivateCallback,
1116
activateCB_mn_obs_mode_single,
1117
(XtPointer) UxStandardShellContext );
1120
/* Finally, call UxRealizeInterface to create the X windows
1121
for the widgets created above. */
1123
UxRealizeInterface( StandardShell );
1125
return ( StandardShell );
1128
/*******************************************************************************
1129
The following function includes the code that was entered
1130
in the 'Initial Code' and 'Final Code' sections of the
1131
Declarations Editor. This function is called from the
1132
'Interface function' below.
1133
*******************************************************************************/
1135
static swidget _Ux_create_StandardShell()
1138
_UxCStandardShell *UxContext;
1140
UxStandardShellContext = UxContext =
1141
(_UxCStandardShell *) UxMalloc( sizeof(_UxCStandardShell) );
1143
rtrn = _Uxbuild_StandardShell();
1148
/*******************************************************************************
1149
The following is the 'Interface function' which is the
1150
external entry point for creating this interface.
1151
This function should be called from your application or from
1152
a callback function.
1153
*******************************************************************************/
1155
swidget create_StandardShell()
1158
static int _Uxinit = 0;
1162
static XtActionsRec _Uxactions[] = {
1163
{ "FileSelectACT", action_FileSelectACT }
1166
XtAppAddActions( UxAppContext,
1168
XtNumber(_Uxactions) );
1173
_Uxrtrn = _Ux_create_StandardShell();
1178
/*******************************************************************************
1180
*******************************************************************************/