Compare commits
No commits in common. "c48a3f39642c3aa17764e2030209ca2f0fb71bb7" and "dfb25a03d8322032c483c6582ec8874ae88bb4ed" have entirely different histories.
c48a3f3964
...
dfb25a03d8
6 changed files with 274 additions and 229 deletions
|
@ -3,9 +3,9 @@
|
|||
|
||||
# This makefile generates the following staden programs which
|
||||
# run under xterm (normal, `N') and those which run directly under X.
|
||||
NPROGS= mep nip bap sap sip splitp1 splitp2 splitp3 sethelp
|
||||
LPROGS= nipl
|
||||
XPROGS= xmep xnip xbap xsap xsip
|
||||
NPROGS= mep nip pip bap sap sip splitp1 splitp2 splitp3 sethelp convert_project
|
||||
LPROGS= nipl pip sipl
|
||||
XPROGS= xmep xnip xpip xbap xsap xsip
|
||||
PROGS= $(NPROGS) $(LPROGS) $(XPROGS)
|
||||
|
||||
|
||||
|
@ -43,7 +43,7 @@ INCLUDES= -I$(SRC) -I$(STADENSRC) -I$(TEDSRC) -I$(OSPSRC) -I$(MISCSRC)
|
|||
CC= cc
|
||||
CFLAGS= -g $(INCLUDES)
|
||||
F77= gfortran
|
||||
FFLAGS= -g -fdec -std=legacy -C
|
||||
FFLAGS= -g -C
|
||||
|
||||
#FLIBS= -lfor -lUfor -lots -lFutil
|
||||
FLIBS = -lm -lutil
|
||||
|
@ -53,7 +53,7 @@ XLFLAGS= $(XLIBS) $(FLIBS)
|
|||
|
||||
LD = gfortran
|
||||
XLD = cc
|
||||
LDFLAGS = -g -fdec -std=legacy
|
||||
LDFLAGS = -g
|
||||
|
||||
#
|
||||
# Avoid compilation of objects in remote directories
|
||||
|
@ -76,7 +76,7 @@ SEQLIB=\
|
|||
#
|
||||
CCORE=\
|
||||
$(STADENBIN)/postscript.o\
|
||||
$(TEDBIN)/Graph.o\
|
||||
$(STADENBIN)/Graph.o\
|
||||
$(STADENBIN)/plotLog.o\
|
||||
$(STADENBIN)/help.o\
|
||||
$(STADENBIN)/dialogues.o\
|
||||
|
@ -101,7 +101,7 @@ COBJS2=\
|
|||
#
|
||||
COMMONOBJSB=\
|
||||
$(STADENBIN)/fmain.o\
|
||||
$(STADENBIN)/seeme-aix.o\
|
||||
$(STADENBIN)/seeme-dec.o\
|
||||
$(STADENBIN)/nxspec.o\
|
||||
$(STADENBIN)/userface.o\
|
||||
$(STADENBIN)/userfacecom.o\
|
||||
|
@ -118,13 +118,13 @@ SCOMMONOBJS=\
|
|||
$(COMMONOBJSB)
|
||||
|
||||
XCOMMONOBJS=\
|
||||
$(STADENBIN)/seeme-aix.o\
|
||||
$(STADENBIN)/seeme-dec.o\
|
||||
$(STADENBIN)/xspec.o\
|
||||
$(STADENBIN)/subs89.a\
|
||||
$(COBJS)
|
||||
|
||||
XCOMMONOBJS2=\
|
||||
$(STADENBIN)/seeme-aix.o\
|
||||
$(STADENBIN)/seeme-dec.o\
|
||||
$(STADENBIN)/xspec.o\
|
||||
$(STADENBIN)/subs89.a\
|
||||
$(COBJS2)
|
||||
|
@ -562,9 +562,9 @@ splitp3: $(SPLITP3OBJS)
|
|||
# rm -r $$TMPDIR
|
||||
|
||||
|
||||
#%.a: $(SRC)/%.f
|
||||
# $(F77) $(FFLAGS) -c *.f;
|
||||
# ar rcv $$BINDIR/$@ *.o;
|
||||
%.a: $(SRC)/%.f
|
||||
$(F77) $(FFLAGS) -c *.f;
|
||||
ar rcv $$BINDIR/$@ *.o;
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
for fortran in $(ls *.f)
|
||||
do
|
||||
mkdir -p ${fortran%??}
|
||||
cp $fortran ${fortran%??}
|
||||
|
||||
cd ${fortran%??}
|
||||
fsplit ${fortran}
|
||||
rm ${fortran}
|
||||
|
||||
gfortran -g -fdec -std=legacy -C -c *.f
|
||||
ar rcv ${fortran%??}.a *.o
|
||||
ranlib ${fortran%??}.a
|
||||
|
||||
cd ..
|
||||
cp ${fortran%??}/*.a .
|
||||
rm -rf ${fortran%??}
|
||||
done
|
|
@ -28,11 +28,10 @@ INCLUDES= -I$(SRC) -I$(TEDSRC) -I$(MISCSRC)
|
|||
CC= cc
|
||||
CFLAGS= -g $(INCLUDES)
|
||||
F77= gfortran
|
||||
FFLAGS= -g -fdec -std=legacy -C
|
||||
FFLAGS= -g -fdec -C
|
||||
|
||||
FLIBS = -lutil -lm
|
||||
#FLIBS= -lfor -lutil -lUfor -lots -lFutil -lm
|
||||
XLIBS= -lXaw -lXt -lXmu -lXext -lX11
|
||||
FLIBS= -lfor -lutil -lUfor -lots -lFutil -lm -lfor -lutil -lUfor -lots -lFutil
|
||||
XLIBS= -lXaw -lXt -lXmu -lXext -lX11 -ldnet_stub
|
||||
LFLAGS= $(FLIBS)
|
||||
XLFLAGS= $(FLIBS) $(XLIBS)
|
||||
|
||||
|
@ -79,7 +78,7 @@ XDAPCOBJS=\
|
|||
#
|
||||
COMMONOBJSB=\
|
||||
fmain.o\
|
||||
seeme-aix.o\
|
||||
seeme-dec.o\
|
||||
nxspec.o\
|
||||
userface.o\
|
||||
userfacecom.o\
|
||||
|
@ -96,13 +95,13 @@ SCOMMONOBJS=\
|
|||
$(COMMONOBJSB)
|
||||
|
||||
XCOMMONOBJS=\
|
||||
seeme-aix.o\
|
||||
seeme-dec.o\
|
||||
xspec.o\
|
||||
subs89.a\
|
||||
$(COBJS)
|
||||
|
||||
XDAPCOMMONOBJS=\
|
||||
seeme-aix.o\
|
||||
seeme-dec.o\
|
||||
xspec.o\
|
||||
subs89.a\
|
||||
$(XDAPCOBJS)
|
||||
|
@ -550,34 +549,29 @@ vep: $(VEPOBJS)
|
|||
# avoid filling up the (small on this machine) /tmp directory
|
||||
# with compiler debugging information.
|
||||
#
|
||||
%.a: $(SRC)/%.f
|
||||
sh gen_a.sh
|
||||
|
||||
#%.a: $(SRC)/%.f
|
||||
# BINDIR=`pwd`; \
|
||||
# cd $(SRC); \
|
||||
# SRCDIR=`pwd`; \
|
||||
#
|
||||
# TMPDIR=/tmp/staden$$$$; \
|
||||
# if test ! -d $$TMPDIR; \
|
||||
# then mkdir $$TMPDIR; \
|
||||
# fi; \
|
||||
# cd $$TMPDIR; \
|
||||
# rm -f *.f *.o; \
|
||||
#
|
||||
# fsplit $$SRCDIR/`expr $< : '.*/\(.*\)' \| $<`; \
|
||||
# $(F77) $(FFLAGS) -c *.f; \
|
||||
#
|
||||
## rm *.f; \
|
||||
#
|
||||
# rm -f $@; \
|
||||
# ar rcv $@ *.o; \
|
||||
# ranlib $@; \
|
||||
##rm *.o; \
|
||||
#
|
||||
# rm *.f; \
|
||||
# rm -f $$BINDIR/$@; \
|
||||
# ar rcv $$BINDIR/$@ *.o; \
|
||||
# ranlib $$BINDIR/$@; \
|
||||
# rm *.o; \
|
||||
# cd $$BINDIR; \
|
||||
# rm -r $$TMPDIR
|
||||
|
||||
|
||||
%.a: $(SRC)/%.f
|
||||
$(F77) $(FFLAGS) -c *.f; \
|
||||
ar rcv *.o
|
||||
|
||||
#.f.a:
|
||||
# $(F77) $(FFLAGS) -c $<
|
||||
|
|
|
@ -670,7 +670,6 @@ C
|
|||
WRITE(*,*)'END IN GETRSL'
|
||||
END
|
||||
INTEGER FUNCTION SEEKRS(IDEV,IREC)
|
||||
EXTERNAL FSEEK
|
||||
C INTEGER FSEEK
|
||||
INTEGER FSEEK
|
||||
SEEKRS = FSEEK(IDEV,IREC,0)
|
||||
END
|
||||
|
|
|
@ -2,10 +2,9 @@
|
|||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#include "FtoC.h" /* IMPORT: Fstr2Cstr and Cstr2Fstr */
|
||||
#include "helpnmenu.h"
|
||||
#include "userface.h"
|
||||
#include "helpnmenu.h"
|
||||
#include "FtoC.h" /* IMPORT: Fstr2Cstr and Cstr2Fstr */
|
||||
|
||||
/*
|
||||
* Prompts the user with either one yes/no question or another.
|
||||
|
@ -17,21 +16,21 @@
|
|||
* 1 = no
|
||||
* -1 = cancel
|
||||
*/
|
||||
int yesono(int choice, char *prompt1, char *prompt2)
|
||||
{
|
||||
int a;
|
||||
int yesono(int choice, char *prompt1, char *prompt2) {
|
||||
int a;
|
||||
|
||||
switch (choice) {
|
||||
case 0:
|
||||
return yesno(prompt1);
|
||||
case 1:
|
||||
a = yesno(prompt2);
|
||||
if (a >= 0) a ^= 1;
|
||||
return a;
|
||||
default:
|
||||
fputs("yesno() called with bad 'choice'\n", stderr);
|
||||
return -1;
|
||||
}
|
||||
switch(choice) {
|
||||
case 0:
|
||||
return yesno(prompt1);
|
||||
case 1:
|
||||
a = yesno(prompt2);
|
||||
if (a>=0)
|
||||
a ^= 1;
|
||||
return a;
|
||||
default:
|
||||
fputs("yesno() called with bad 'choice'\n", stderr);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*\
|
||||
|
@ -42,33 +41,51 @@ int yesono(int choice, char *prompt1, char *prompt2)
|
|||
|* *|
|
||||
\*--------------------------------------------------------------------------*/
|
||||
|
||||
void getint_x(int_f *MININ_p, int_f *MAXIN_p, int_f *DEF_p, char *PROMPT_p,
|
||||
int_f *VALUE_p, /* out: result */
|
||||
int_f *KBIN_p, int_f *KBOUT_p, int_f *IHELPS_p, int_f *IHELPE_p,
|
||||
char *HELPF_p, int_f *IDEVH_p, int_f *IOK_p, /* out: status */
|
||||
int_fl PROMPT_l, int_fl HELPF_l)
|
||||
void getint_x(int_f *MININ_p,
|
||||
int_f *MAXIN_p,
|
||||
int_f *DEF_p,
|
||||
char *PROMPT_p,
|
||||
int_f *VALUE_p, /* out: result */
|
||||
int_f *KBIN_p,
|
||||
int_f *KBOUT_p,
|
||||
int_f *IHELPS_p,
|
||||
int_f *IHELPE_p,
|
||||
char *HELPF_p,
|
||||
int_f *IDEVH_p,
|
||||
int_f *IOK_p, /* out: status */
|
||||
int_fl PROMPT_l,
|
||||
int_fl HELPF_l)
|
||||
/*
|
||||
* Prompt for an integer in the range *MININ_p <= i <= *MAXIN_p
|
||||
* IOK=0 => OK
|
||||
* IOK=1 => Cancel
|
||||
*/
|
||||
{
|
||||
char prompt[256];
|
||||
int status;
|
||||
char prompt[256];
|
||||
int status;
|
||||
|
||||
Fstr2Cstr(PROMPT_p, PROMPT_l, prompt, (int_fl)sizeof(prompt));
|
||||
Fstr2Cstr(PROMPT_p, PROMPT_l, prompt, (int_fl)sizeof(prompt));
|
||||
|
||||
*VALUE_p =
|
||||
getint((int)*MININ_p, (int)*MAXIN_p, (int)*DEF_p, prompt, &status);
|
||||
*IOK_p = (int_f)((status < 0) ? 1 : 0);
|
||||
*VALUE_p = getint((int)*MININ_p, (int)*MAXIN_p, (int)*DEF_p,
|
||||
prompt, &status);
|
||||
*IOK_p = (int_f)((status < 0)? 1:0);
|
||||
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
void getrl_x(float *MININ_p, float *MAXIN_p, float *DEF_p, char *PROMPT_p,
|
||||
float *VALUE_p, /* out: result */
|
||||
int_f *KBIN_p, int_f *KBOUT_p, int_f *IHELPS_p, int_f *IHELPE_p,
|
||||
char *HELPF_p, int_f *IDEVH_p, int_f *IOK_p, int_fl PROMPT_l,
|
||||
void getrl_x(float *MININ_p,
|
||||
float *MAXIN_p,
|
||||
float *DEF_p,
|
||||
char *PROMPT_p,
|
||||
float *VALUE_p, /* out: result */
|
||||
int_f *KBIN_p,
|
||||
int_f *KBOUT_p,
|
||||
int_f *IHELPS_p,
|
||||
int_f *IHELPE_p,
|
||||
char *HELPF_p,
|
||||
int_f *IDEVH_p,
|
||||
int_f *IOK_p,
|
||||
int_fl PROMPT_l,
|
||||
int_fl HELPF_l)
|
||||
/*
|
||||
* Prompt for a real in the range *MININ_p <= i <= *MAXIN_p
|
||||
|
@ -77,21 +94,30 @@ void getrl_x(float *MININ_p, float *MAXIN_p, float *DEF_p, char *PROMPT_p,
|
|||
* IOK=1 => Cancel
|
||||
*/
|
||||
{
|
||||
char prompt[256];
|
||||
int status;
|
||||
char prompt[256];
|
||||
int status;
|
||||
|
||||
Fstr2Cstr(PROMPT_p, PROMPT_l, prompt, (int_fl)sizeof(prompt));
|
||||
Fstr2Cstr(PROMPT_p, PROMPT_l, prompt, (int_fl)sizeof(prompt));
|
||||
|
||||
*VALUE_p = getfloat(*MININ_p, *MAXIN_p, *DEF_p, prompt, &status, 2);
|
||||
*IOK_p = (int_f)((status < 0) ? 1 : 0);
|
||||
*VALUE_p = getfloat(*MININ_p, *MAXIN_p, *DEF_p, prompt, &status, 2);
|
||||
*IOK_p = (int_f)((status < 0)? 1:0);
|
||||
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
void getrls_x(float *MININ_p, float *MAXIN_p, float *DEF_p, char *PROMPT_p,
|
||||
float *VALUE_p, /* out: result */
|
||||
int_f *KBIN_p, int_f *KBOUT_p, int_f *IHELPS_p, int_f *IHELPE_p,
|
||||
char *HELPF_p, int_f *IDEVH_p, int_f *IOK_p, int_fl PROMPT_l,
|
||||
void getrls_x(float *MININ_p,
|
||||
float *MAXIN_p,
|
||||
float *DEF_p,
|
||||
char *PROMPT_p,
|
||||
float *VALUE_p, /* out: result */
|
||||
int_f *KBIN_p,
|
||||
int_f *KBOUT_p,
|
||||
int_f *IHELPS_p,
|
||||
int_f *IHELPE_p,
|
||||
char *HELPF_p,
|
||||
int_f *IDEVH_p,
|
||||
int_f *IOK_p,
|
||||
int_fl PROMPT_l,
|
||||
int_fl HELPF_l)
|
||||
/*
|
||||
* Prompt for a real in the range *MININ_p <= i <= *MAXIN_p
|
||||
|
@ -100,20 +126,27 @@ void getrls_x(float *MININ_p, float *MAXIN_p, float *DEF_p, char *PROMPT_p,
|
|||
* IOK=1 => Cancel
|
||||
*/
|
||||
{
|
||||
char prompt[256];
|
||||
int status;
|
||||
char prompt[256];
|
||||
int status;
|
||||
|
||||
Fstr2Cstr(PROMPT_p, PROMPT_l, prompt, (int_fl)sizeof(prompt));
|
||||
Fstr2Cstr(PROMPT_p, PROMPT_l, prompt, (int_fl)sizeof(prompt));
|
||||
|
||||
*VALUE_p = getfloat(*MININ_p, *MAXIN_p, *DEF_p, prompt, &status, 10);
|
||||
*IOK_p = (int_f)((status < 0) ? 1 : 0);
|
||||
*VALUE_p = getfloat(*MININ_p, *MAXIN_p, *DEF_p, prompt, &status, 10);
|
||||
*IOK_p = (int_f)((status < 0)? 1:0);
|
||||
|
||||
return;
|
||||
return;
|
||||
}
|
||||
|
||||
void yesno_x(int_f *ANSWER_p, char *PROMPT_p, int_f *IHELPS_p, int_f *IHELPE_p,
|
||||
char *HELPF_p, int_f *IDEVH_p, int_f *KBIN_p, int_f *KBOUT_p,
|
||||
int_fl PROMPT_l, int_fl HELPF_l)
|
||||
void yesno_x(int_f *ANSWER_p,
|
||||
char *PROMPT_p,
|
||||
int_f *IHELPS_p,
|
||||
int_f *IHELPE_p,
|
||||
char *HELPF_p,
|
||||
int_f *IDEVH_p,
|
||||
int_f *KBIN_p,
|
||||
int_f *KBOUT_p,
|
||||
int_fl PROMPT_l,
|
||||
int_fl HELPF_l)
|
||||
/*
|
||||
* Prompt the user with *PROMPT_l and get a YES or NO response.
|
||||
* ANSWER=-1 => Cancel
|
||||
|
@ -121,35 +154,48 @@ void yesno_x(int_f *ANSWER_p, char *PROMPT_p, int_f *IHELPS_p, int_f *IHELPE_p,
|
|||
* ANSWER=1 => NO
|
||||
*/
|
||||
{
|
||||
char prompt[256];
|
||||
char prompt[256];
|
||||
|
||||
Fstr2Cstr(PROMPT_p, PROMPT_l, prompt, (int_fl)sizeof(prompt));
|
||||
*ANSWER_p = (int_f)yesno(prompt);
|
||||
Fstr2Cstr(PROMPT_p, PROMPT_l, prompt, (int_fl)sizeof(prompt));
|
||||
*ANSWER_p = (int_f)yesno(prompt);
|
||||
}
|
||||
|
||||
void yesono_x(int_f *CHOICE_p, char *P1_p, char *P2_p, int_f *IHELPS_p,
|
||||
int_f *IHELPE_p, char *HELPF_p, int_f *IDEVH_p, int_f *KBIN_p,
|
||||
int_f *KBOUT_p, int_fl P1_l, int_fl P2_l, int_fl HELPF_l)
|
||||
void yesono_x(int_f *CHOICE_p,
|
||||
char *P1_p,
|
||||
char *P2_p,
|
||||
int_f *IHELPS_p,
|
||||
int_f *IHELPE_p,
|
||||
char *HELPF_p,
|
||||
int_f *IDEVH_p,
|
||||
int_f *KBIN_p,
|
||||
int_f *KBOUT_p,
|
||||
int_fl P1_l,
|
||||
int_fl P2_l,
|
||||
int_fl HELPF_l)
|
||||
/*
|
||||
* If CHOICE is 0, present a YESNO dialogue with prompt P1.
|
||||
* If CHOICE is 1, present a YESNO dialogue with prompt P2.
|
||||
*/
|
||||
{
|
||||
char prompt1[256], prompt2[256];
|
||||
char prompt1[256], prompt2[256];
|
||||
|
||||
Fstr2Cstr(P1_p, P1_l, prompt1, (int_fl)sizeof(prompt1));
|
||||
Fstr2Cstr(P2_p, P2_l, prompt2, (int_fl)sizeof(prompt2));
|
||||
Fstr2Cstr(P1_p, P1_l, prompt1, (int_fl)sizeof(prompt1));
|
||||
Fstr2Cstr(P2_p, P2_l, prompt2, (int_fl)sizeof(prompt2));
|
||||
|
||||
*CHOICE_p = (int_f)yesono(*CHOICE_p, prompt1, prompt2);
|
||||
*CHOICE_p = (int_f)yesono(*CHOICE_p, prompt1, prompt2);
|
||||
}
|
||||
|
||||
void gtstr_x(char *P_p, /* prompt */
|
||||
char *STRING_p, /* default value (if *LENGTH_p > 0) */
|
||||
char *NEW_p, /* out: dialogue result */
|
||||
void gtstr_x(char *P_p, /* prompt */
|
||||
char *STRING_p, /* default value (if *LENGTH_p > 0) */
|
||||
char *NEW_p, /* out: dialogue result */
|
||||
int_f *LENGTH_p, /* in: significant length of *STRING_p
|
||||
out: significant length of *NEW_p */
|
||||
int_f *KBOUT_p, int_f *KBIN_p, int_f *INFLAG_p, /* out: status */
|
||||
int_fl P_l, int_fl STRING_l, int_fl NEW_l)
|
||||
out: significant length of *NEW_p */
|
||||
int_f *KBOUT_p,
|
||||
int_f *KBIN_p,
|
||||
int_f *INFLAG_p, /* out: status */
|
||||
int_fl P_l,
|
||||
int_fl STRING_l,
|
||||
int_fl NEW_l)
|
||||
/*
|
||||
* Prompt with P for a string, default value STRING.
|
||||
* Return new string in NEW.
|
||||
|
@ -159,43 +205,43 @@ void gtstr_x(char *P_p, /* prompt */
|
|||
* INFLAG=3 => LENGTH=0 and NEW full of blanks (ie default)
|
||||
*/
|
||||
{
|
||||
char question[256], def[256];
|
||||
char *defptr;
|
||||
int ret;
|
||||
char question[256], def[256];
|
||||
char *defptr;
|
||||
int ret;
|
||||
|
||||
Fstr2Cstr(P_p, P_l, question, (int_fl)sizeof(question));
|
||||
if (*LENGTH_p > 0) {
|
||||
Fstr2Cstr(STRING_p, STRING_l, def, (int_fl)sizeof(def));
|
||||
defptr = def;
|
||||
}
|
||||
else
|
||||
defptr = 0;
|
||||
Fstr2Cstr(P_p, P_l, question, (int_fl)sizeof(question));
|
||||
if (*LENGTH_p > 0) {
|
||||
Fstr2Cstr(STRING_p, STRING_l, def, (int_fl)sizeof(def));
|
||||
defptr = def;
|
||||
} else
|
||||
defptr = 0;
|
||||
|
||||
ret =
|
||||
gtstr(question, defptr, NEW_p, (size_t)((NEW_l == 1) ? 40 : NEW_l));
|
||||
switch (ret) {
|
||||
case -1:
|
||||
*INFLAG_p = 2;
|
||||
*LENGTH_p = 1;
|
||||
return;
|
||||
case 0:
|
||||
*INFLAG_p = 0;
|
||||
*LENGTH_p = (int_f)strlen(NEW_p);
|
||||
Cstr2Fstr(NEW_p, NEW_p, NEW_l);
|
||||
return;
|
||||
case 1:
|
||||
*INFLAG_p = 3;
|
||||
*LENGTH_p = 0;
|
||||
}
|
||||
ret = gtstr(question, defptr, NEW_p, (size_t)((NEW_l==1)?40:NEW_l));
|
||||
switch(ret) {
|
||||
case -1:
|
||||
*INFLAG_p = 2;
|
||||
*LENGTH_p = 1;
|
||||
return;
|
||||
case 0:
|
||||
*INFLAG_p = 0;
|
||||
*LENGTH_p = (int_f)strlen(NEW_p);
|
||||
Cstr2Fstr(NEW_p, NEW_p, NEW_l);
|
||||
return;
|
||||
case 1:
|
||||
*INFLAG_p = 3;
|
||||
*LENGTH_p = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void getstr_x(char *P_p, /* prompt */
|
||||
char *STRING_p, /* default value (if *LENGTH_p > 0) */
|
||||
char *NEW_p, /* out: dialogue result */
|
||||
void getstr_x(char *P_p, /* prompt */
|
||||
char *STRING_p, /* default value (if *LENGTH_p > 0) */
|
||||
char *NEW_p, /* out: dialogue result */
|
||||
int_f *MAXSTR_p, /* array length of *STRING_p and *NEW_p */
|
||||
int_f *LENGTH_p, /* in: significant length of *STRING_p
|
||||
out: significant length of *NEW_p */
|
||||
int_f *KBOUT_p, int_f *KBIN_p, int_f *INFLAG_p, /* out: status */
|
||||
int_f *KBOUT_p,
|
||||
int_f *KBIN_p,
|
||||
int_f *INFLAG_p, /* out: status */
|
||||
int_fl P_l)
|
||||
/*
|
||||
* Present a dialogue requesting a string result with the given prompt
|
||||
|
@ -206,16 +252,31 @@ void getstr_x(char *P_p, /* prompt */
|
|||
* given *STRING_p and *NEW_p.
|
||||
*/
|
||||
{
|
||||
gtstr_x(P_p, STRING_p, NEW_p, LENGTH_p, KBOUT_p, KBIN_p, INFLAG_p, P_l,
|
||||
*MAXSTR_p, *MAXSTR_p);
|
||||
gtstr_x(P_p,
|
||||
STRING_p,
|
||||
NEW_p,
|
||||
LENGTH_p,
|
||||
KBOUT_p,
|
||||
KBIN_p,
|
||||
INFLAG_p,
|
||||
P_l,
|
||||
*MAXSTR_p,
|
||||
*MAXSTR_p);
|
||||
}
|
||||
|
||||
void radion_x(char *TITLE_p, char *PROMPT_p, /* Actually: *PROMPT_p[*NB_p] */
|
||||
int_f *NB_p, /* Number of buttons (1..NB) */
|
||||
int_f *CHOICE_p, /* in: default button
|
||||
out: selected button */
|
||||
int_f *IHELPS_p, int_f *IHELPE_p, char *HELPF_p, int_f *IDEVH_p,
|
||||
int_f *KBIN_p, int_f *KBOUT_p, int_fl TITLE_l, int_fl PROMPT_l,
|
||||
void radion_x(char *TITLE_p,
|
||||
char *PROMPT_p, /* Actually: *PROMPT_p[*NB_p] */
|
||||
int_f *NB_p, /* Number of buttons (1..NB) */
|
||||
int_f *CHOICE_p, /* in: default button
|
||||
out: selected button */
|
||||
int_f *IHELPS_p,
|
||||
int_f *IHELPE_p,
|
||||
char *HELPF_p,
|
||||
int_f *IDEVH_p,
|
||||
int_f *KBIN_p,
|
||||
int_f *KBOUT_p,
|
||||
int_fl TITLE_l,
|
||||
int_fl PROMPT_l,
|
||||
int_fl HELPF_l)
|
||||
/*
|
||||
* Present a ``radio button'' dialogue allowing the user to select
|
||||
|
@ -225,32 +286,37 @@ void radion_x(char *TITLE_p, char *PROMPT_p, /* Actually: *PROMPT_p[*NB_p] */
|
|||
* CHOICE=-1 => Cancel
|
||||
*/
|
||||
{
|
||||
char **opt, title[256];
|
||||
int i, numopts = (int)*NB_p;
|
||||
char **opt, title[256];
|
||||
int i, numopts = (int)*NB_p;
|
||||
|
||||
/* initialise options array */
|
||||
opt = (char **)malloc(numopts * sizeof(char *));
|
||||
opt[0] = (char *)malloc((unsigned int)((PROMPT_l + 1) * numopts));
|
||||
for (i = 0; i < numopts; i++) {
|
||||
opt[i] = opt[0] + (PROMPT_l + 1) * i;
|
||||
Fstr2Cstr(PROMPT_p + (i * PROMPT_l), PROMPT_l, opt[i],
|
||||
PROMPT_l + 1);
|
||||
}
|
||||
/* initialise options array */
|
||||
opt = (char **)malloc(numopts * sizeof(char *));
|
||||
opt[0] = (char *)malloc((unsigned int)((PROMPT_l+1) * numopts));
|
||||
for (i=0; i<numopts; i++) {
|
||||
opt[i] = opt[0] + (PROMPT_l+1)*i;
|
||||
Fstr2Cstr(PROMPT_p+(i*PROMPT_l), PROMPT_l, opt[i], PROMPT_l+1);
|
||||
}
|
||||
|
||||
Fstr2Cstr(TITLE_p, TITLE_l, title, (int_fl)sizeof(title));
|
||||
Fstr2Cstr(TITLE_p, TITLE_l, title, (int_fl)sizeof(title));
|
||||
|
||||
*CHOICE_p = (int_f)radion(title, opt, *NB_p, *CHOICE_p);
|
||||
|
||||
free((void *)opt[0]);
|
||||
free((void *)opt);
|
||||
return;
|
||||
*CHOICE_p = (int_f)radion(title, opt, *NB_p, *CHOICE_p);
|
||||
|
||||
free((void *)opt[0]);
|
||||
free((void *)opt);
|
||||
return;
|
||||
}
|
||||
|
||||
void check4_x(char *P1_p, char *P2_p, char *P3_p, char *P4_p, int_f *C1_p,
|
||||
int_f *C2_p, int_f *C3_p, int_f *C4_p, int_f *IHELPS_p,
|
||||
int_f *IHELPE_p, char *HELPF_p, int_f *IDEVH_p, int_f *KBIN_p,
|
||||
int_f *KBOUT_p, int_f *IOK_p, int_fl P1_l, int_fl P2_l,
|
||||
int_fl P3_l, int_fl P4_l, int_fl HELPF_l)
|
||||
void check4_x(char *P1_p, char *P2_p, char *P3_p, char *P4_p,
|
||||
int_f *C1_p, int_f *C2_p, int_f *C3_p, int_f *C4_p,
|
||||
int_f *IHELPS_p,
|
||||
int_f *IHELPE_p,
|
||||
char *HELPF_p,
|
||||
int_f *IDEVH_p,
|
||||
int_f *KBIN_p,
|
||||
int_f *KBOUT_p,
|
||||
int_f *IOK_p,
|
||||
int_fl P1_l, int_fl P2_l, int_fl P3_l, int_fl P4_l,
|
||||
int_fl HELPF_l)
|
||||
/*
|
||||
* Present a ``checkbox'' dialogue allowing the user to alter the
|
||||
* Boolean state of four items.
|
||||
|
@ -260,28 +326,25 @@ void check4_x(char *P1_p, char *P2_p, char *P3_p, char *P4_p, int_f *C1_p,
|
|||
* IOK=1 => Cancel
|
||||
*/
|
||||
{
|
||||
int ret;
|
||||
char *prompts[4];
|
||||
int *bools[4];
|
||||
int ret;
|
||||
char *prompts[4];
|
||||
int *bools[4];
|
||||
|
||||
prompts[0] = P1_p;
|
||||
bools[0] = (int *)C1_p;
|
||||
prompts[1] = P2_p;
|
||||
bools[1] = (int *)C2_p;
|
||||
prompts[2] = P3_p;
|
||||
bools[2] = (int *)C3_p;
|
||||
prompts[3] = P4_p;
|
||||
bools[3] = (int *)C4_p;
|
||||
prompts[0] = P1_p; bools[0] = (int *)C1_p;
|
||||
prompts[1] = P2_p; bools[1] = (int *)C2_p;
|
||||
prompts[2] = P3_p; bools[2] = (int *)C3_p;
|
||||
prompts[3] = P4_p; bools[3] = (int *)C4_p;
|
||||
|
||||
ret = checkn(4, prompts, bools);
|
||||
ret = checkn(4, prompts, bools);
|
||||
|
||||
if (ret == 0)
|
||||
*IOK_p = 0;
|
||||
else
|
||||
*IOK_p = 1;
|
||||
if (ret == 0)
|
||||
*IOK_p = 0;
|
||||
else
|
||||
*IOK_p = 1;
|
||||
}
|
||||
|
||||
void getopt_x(int_f *KBIN_p, int_f *KOPT_p,
|
||||
void getopt_x(int_f *KBIN_p,
|
||||
int_f *KOPT_p,
|
||||
int_f *IOPT_p) /* out: option number selected */
|
||||
/*
|
||||
* Select a function to execute
|
||||
|
@ -290,51 +353,58 @@ void getopt_x(int_f *KBIN_p, int_f *KOPT_p,
|
|||
* KOPT=3 => menu option requested
|
||||
*/
|
||||
{
|
||||
*IOPT_p = (int_f)getcopt((int *)KOPT_p);
|
||||
switch (*KOPT_p) {
|
||||
case -3:
|
||||
case -2:
|
||||
*KOPT_p = 0;
|
||||
*IOPT_p = 2;
|
||||
break;
|
||||
case -1:
|
||||
*KOPT_p = 0;
|
||||
*IOPT_p = 1;
|
||||
break;
|
||||
}
|
||||
*IOPT_p = (int_f)getcopt((int *)KOPT_p);
|
||||
switch(*KOPT_p) {
|
||||
case -3:
|
||||
case -2:
|
||||
*KOPT_p = 0;
|
||||
*IOPT_p = 2;
|
||||
break;
|
||||
case -1:
|
||||
*KOPT_p = 0;
|
||||
*IOPT_p = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void showfi_x(int_f *KBOUT_p, char *STRING_p, int_fl STRING_l)
|
||||
void showfi_x(int_f *KBOUT_p,
|
||||
char *STRING_p,
|
||||
int_fl STRING_l)
|
||||
/*
|
||||
* Display `STRING', the name of the current file(s).
|
||||
*/
|
||||
{
|
||||
char func[256];
|
||||
char func[256];
|
||||
|
||||
Fstr2Cstr(STRING_p, STRING_l, func, (int_fl)sizeof(func));
|
||||
showfi(func);
|
||||
Fstr2Cstr(STRING_p, STRING_l, func, (int_fl)sizeof(func));
|
||||
showfi(func);
|
||||
}
|
||||
|
||||
void showfu_x(int_f *KBOUT_p, char *STRING_p, int_fl STRING_l)
|
||||
|
||||
void showfu_x(int_f *KBOUT_p,
|
||||
char *STRING_p,
|
||||
int_fl STRING_l)
|
||||
/*
|
||||
* Display `STRING', the name of the current function.
|
||||
*/
|
||||
{
|
||||
char func[256];
|
||||
char func[256];
|
||||
|
||||
Fstr2Cstr(STRING_p, STRING_l, func, (int_fl)sizeof(func));
|
||||
showfu(func);
|
||||
Fstr2Cstr(STRING_p, STRING_l, func, (int_fl)sizeof(func));
|
||||
showfu(func);
|
||||
}
|
||||
|
||||
void errom_x(int_f *KBOUT_p, char *STRING_p, int_fl STRING_l)
|
||||
void errom_x(int_f *KBOUT_p,
|
||||
char *STRING_p,
|
||||
int_fl STRING_l)
|
||||
/*
|
||||
* Display the error message `STRING'.
|
||||
*/
|
||||
{
|
||||
char err[256];
|
||||
char err[256];
|
||||
|
||||
Fstr2Cstr(STRING_p, STRING_l, err, (int_fl)sizeof(err));
|
||||
errom(err);
|
||||
Fstr2Cstr(STRING_p, STRING_l, err, (int_fl)sizeof(err));
|
||||
errom(err);
|
||||
}
|
||||
|
||||
void busy_x(int_f *KBOUT_p)
|
||||
|
@ -343,7 +413,7 @@ void busy_x(int_f *KBOUT_p)
|
|||
* next dialogue function is called.
|
||||
*/
|
||||
{
|
||||
busy();
|
||||
busy();
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -351,8 +421,10 @@ void busy_x(int_f *KBOUT_p)
|
|||
* 0 for ok
|
||||
* -1 for cancel
|
||||
*/
|
||||
void bpause_x(int_f *KBIN_p, int_f *KBOUT_p, int_f *IOK_p)
|
||||
{
|
||||
*IOK_p = (int_f)bpause();
|
||||
void bpause_x(int_f *KBIN_p,
|
||||
int_f *KBOUT_p,
|
||||
int_f *IOK_p) {
|
||||
|
||||
*IOK_p = (int_f)bpause();
|
||||
}
|
||||
|
||||
|
|
|
@ -37,8 +37,7 @@ FFLAGS= -g
|
|||
LD= gfortran
|
||||
LDFLAGS= -g
|
||||
|
||||
FLAGS = -lutil -lm
|
||||
#FLIBS= -lfor -lutil -lUfor -lots -lFutil -lm -lfor -lutil -lUfor -lots -lFutil
|
||||
FLIBS= -lfor -lutil -lUfor -lots -lFutil -lm -lfor -lutil -lUfor -lots -lFutil
|
||||
XLIBS= -lXaw -lXt -lXmu -lXext -lX11
|
||||
#LFLAGS= $(FLIBS)
|
||||
XLFLAGS= $(FLIBS) $(XLIBS)
|
||||
|
@ -53,7 +52,7 @@ $(STADENBIN)/%.o : $(STADENSRC)/%.c
|
|||
# Common objects, needed by every program
|
||||
#
|
||||
COMMONOBJS=\
|
||||
$(STADENBIN)/seeme-aix.o\
|
||||
$(STADENBIN)/seeme-dec.o\
|
||||
$(STADENBIN)/nxspec.o\
|
||||
$(STADENBIN)/userface.o\
|
||||
$(STADENBIN)/userfacecom.o\
|
||||
|
|
Loading…
Reference in a new issue