home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Photo CD Demo 1
/
Demo.bin
/
gle
/
gle
/
nulledt.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-11-29
|
5KB
|
238 lines
#include "all.h"
#include <errno.h>
#include <math.h>
#ifdef __TURBOC__
#define HLINECHAR 205
#include "bios.h"
#include "conio.h"
#else
#define ENOFILE 999
#define HLINECHAR '-'
#include "vaxconio.h"
#endif
#include "edt.h"
int vax_edt(char *s);
int delay(int i);
extern int gle_debug;
int gle_speed;
int gle_nspeed;
int trace_on;
#define true (!false)
#define false 0
#define dbg if (gle_debug>0)
long mem_total(void);
int pick_file(char *r, char *w);
typedef char (*TEXT)[];
int scr_blackwhite;
int scr_left(int i);
int scr_right(int i);
int scr_norm(void);
int scr_inv(void);
int scr_grey(void);
int text_search(void);
int text_deleol(void);
int text_undeleol(void);
int scr_savexy(void);
int scr_restorexy(void);
int scr_gets(char *s);
int text_showerror(void);
int text_findnext(void);
int text_changed(void);
int read_command(char *ans, char *ques);
int read_str(char *s);
int text_load(char *fname);
int text_free(void);
int do_help(char *s);
int int_edt(char *fname);
int vinsert(int y, char *s);
int vdelete(int y);
int menu(void);
int gle_redraw(void);
int scrinsert(int y);
int scrdeleteline(int y);
int text_save(void);
int text_eol(void);
int text_delright(void);
int text_delete(void);
int text_undelete(void);
int text_deleteline(void);
int text_left(void);
int text_right(void);
int text_up(void);
int text_down(void);
int text_return(void);
int text_refresh();
int text_putstr(char *s);
int text_setwindow();
int text_saveas(void);
int text_move(int x,int y);
int scr_tab(char *s, int x);
int scr_negtab(char *s, int x, int *fpos, int *scrx);
int fner(char *s);
int fner_clear(void);
int text_setwindow(void);
int text_refresh(void);
int text_main(void);
int text_inkey(void);
int text_scroll(void);
int text_scroll_up(void);
int text_scroll_down(void);
int text_select(void);
int text_cut(void);
int text_paste(void);
int restofline(int y,int x);
int normal_key(int c);
int lineset(int i,char *ss);
int lineinsert(int y, char *ss);
int textinsert(int y);
char *sline(int i);
char *line(int i);
int ncpy(char *d, char *s, int n);
/*------------ GLOBAL VARIABLES --------------*/
extern long gtotalmem;
int max_ngtxt;
extern int ngtxt;
extern char *(*gtxt)[]; /* gtxt is a pointer to an array of poiter to char */
char *(*ctxt)[]; /* cut buffer */
int ncut;
int iserr;
int w_top=0,w_bot=0,w_len,w_cl,w_cx;
#define MAXLINES (max_ngtxt-10)
extern int ngtxt;
int move_pos,onmove;
int ii;
char gbuff[255];
char gbuff2[255];
int selx,sely;
extern char input_file[];
int changed;
int scr_isblackwhite(void);
extern int netxt; /* errors which occured */
extern char *(*etxt)[];
/*---------------------------------------------------------------------------*/
/* copy gtxt, ngtxt to local paramters */
int tfx,tfy;
int_edt(char *fname)
{
}
int text_expand(int n);
text_expand(int n)
{
char **a;
max_ngtxt = n;
a = myallocz(4*n);
if (gtxt!=NULL) {
memcpy(a,gtxt,ngtxt*4+4);
myfrees(gtxt,"textexpand");
}
gtxt = a;
}
text_load(char *fname)
{
static char inbuff[200];
FILE *fptr;
int i;
char emess[80];
changed = false;
strcpy(input_file,fname);
fptr = fopen(fname,"r");
if (fptr==NULL) {
if (errno == ENOFILE) {
sprintf(emess,"Input file does not exist (%s) ",fname);
fner(emess);
delay(1000);
} else {
gprint("Unable to open input file {%s} \n",fname);
perror("Reason");
fner("Press return to continue");
text_inkey();
}
} else {
for (;!feof(fptr);) {
if (fgets(inbuff,200,fptr)!=NULL) {
i = strlen(inbuff);
if (inbuff[i-1]=='\n') inbuff[i-1] = 0;
ngtxt++;
if (ngtxt>(max_ngtxt-300)) {
text_expand(2*(ngtxt+500));
}
(*gtxt)[ngtxt] = myalloc(i+1);
strcpy((*gtxt)[ngtxt],inbuff);
}
}
fclose(fptr);
}
if (ngtxt==0) {
(*gtxt)[++ngtxt] = sdup("size 24 18");
(*gtxt)[++ngtxt] = sdup("");
}
tfx = 1;
tfy = 1;
}
char errgle[90];
int dont_clear;
gle_abort(char *s)
{
d_tidyup();
delay(1000);
dont_clear = true;
window(1,1,80,25);
scr_norm();
clrscr();
printf("\n\n\n\n %s \nGle is aborting, Attempting to save file in abort.gle\n",s);
strcpy(input_file,"abort.gle");
text_save();
printf("File is now saved (hopefully)\n");
if (strstr(s,"alloc")!=NULL || strstr(s,"Init")!=NULL) {
printf("\nGLE is short of memory!!\n\n");
printf("If you are using very large datasets you should try\n");
printf("the BIGFILE option, otherwise you probably have too\n");
printf("many memory resident programs on your pc and to make GLE work\n");
printf("you should remove these from your CONFIG.SYS and AUTOEXEC.BAT\n");
printf("\n (make coppies of these files before altering them)\n");
}
exit(1);
}
char *function_bar(void);
fner_clear()
{
if (iserr==false) return;
if (dont_clear) return;
window(1,1,80,25);
gotoxy(1,25);
scr_grey();
clreol();
gotoxy(2,25);
cputs(function_bar());
scr_norm();
iserr = false;
window(2,3,79,23);
}
fner(char *s)
{
if (dont_clear) return;
scr_savexy();
iserr = true;
window(1,1,80,25);
gotoxy(1,25);
scr_inv();
clreol();
gotoxy(2,25);
cputs(s);
scr_norm();
scr_restorexy();
scr_refresh();
}
text_save()
{}
char *line(int i)
{
static char xxx[2]="";
static char eob[7]="[EOB]";
if (i>ngtxt) {
if (i==ngtxt+1) return &eob[0];
else return &xxx[0];
}
return (*gtxt)[i];
}