Initial import of the ircii-pana-1.1-final source tree.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/tags/ircii-pana-1.1-final@1 13b04d17-f746-0410-82c6-800466cd88b0
This commit is contained in:
265
bx-conf/ds_cell.h
Normal file
265
bx-conf/ds_cell.h
Normal file
@@ -0,0 +1,265 @@
|
||||
/*
|
||||
* Program source is Copyright 1993 Colten Edwards.
|
||||
* Central Data Services is granted the right to use this source
|
||||
* in thier product known as Quote Menu. They are also granted the right
|
||||
* to modify this source in the advent of problems and or new features
|
||||
* which they may want to add to the program.
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <dirent.h>
|
||||
#include <ncurses.h>
|
||||
#define MAXPATH MAXNAMLEN
|
||||
/* Defines for shadows. Used in the Box rountine. */
|
||||
|
||||
#define NO_SHADOW 0
|
||||
#define SINGLER_SHADOW 1
|
||||
#define DOUBLER_SHADOW 2
|
||||
#define SINGLEL_SHADOW 3
|
||||
#define DOUBLEL_SHADOW 4
|
||||
|
||||
#define NO_LINE 0
|
||||
#define SINGLE_LINE 1
|
||||
#define DOUBLE_LINE 2
|
||||
#define SINGLE_TOP 3
|
||||
#define SINGLE_SIDE 4
|
||||
#define SOLID_LINES 5
|
||||
#define TOP_BOT_SLINE 6
|
||||
#define TOP_BOT_DLINE 7
|
||||
#define TOP_BOT_SOLID 8
|
||||
|
||||
#define NUM_KEYS 80
|
||||
/* Number of color table entries */
|
||||
#define MAXC_TABLE 6
|
||||
|
||||
/* Number of User Defined Functions */
|
||||
#define MAXU_FUNCS 10
|
||||
|
||||
#define CURCOL 24 /* Starting edit cursor column */
|
||||
|
||||
|
||||
#define WRITE_FILE 0
|
||||
#define READ_FILE 1
|
||||
|
||||
|
||||
|
||||
#define CURSOROFF 0x2000
|
||||
|
||||
/* A define used for the CONFIG entries on the max. path allowed.*/
|
||||
|
||||
#define WILDCARD 0x01
|
||||
#define EXTENSION 0x02
|
||||
#define FILENAME 0x04
|
||||
#define DIRECTORY 0x08
|
||||
#define DRIVE 0x10
|
||||
|
||||
|
||||
typedef struct {
|
||||
char letter;
|
||||
int return_answer;
|
||||
} _default;
|
||||
|
||||
|
||||
#define LOC_YN_Y 18
|
||||
#define LOC_YN_X 24
|
||||
|
||||
|
||||
extern struct _VIDEO {
|
||||
unsigned char winleft;
|
||||
unsigned char wintop;
|
||||
unsigned char winright;
|
||||
unsigned char winbottom;
|
||||
unsigned char attribute;
|
||||
unsigned char normattr;
|
||||
unsigned char currmode;
|
||||
unsigned char screenheight;
|
||||
unsigned char screenwidth;
|
||||
unsigned char graphics;
|
||||
unsigned char needcgasync;
|
||||
char *videobuffer;
|
||||
} _video;
|
||||
|
||||
typedef struct dlistmem *dlistptr;
|
||||
|
||||
struct datainforec {
|
||||
char *option;
|
||||
char *help;
|
||||
|
||||
int other;
|
||||
char *save;
|
||||
int (*func)();
|
||||
int integer;
|
||||
int type;
|
||||
#if 0
|
||||
long act_size;
|
||||
int volume;
|
||||
long pos_in_archive;
|
||||
dev_t dev;
|
||||
uid_t uid;
|
||||
gid_t gid;
|
||||
umode_t mode;
|
||||
umode_t org_mode;
|
||||
long size;
|
||||
time_t atime;
|
||||
time_t mtime;
|
||||
time_t ctime;
|
||||
time_t backup_time;
|
||||
char name_len;
|
||||
char compressed;
|
||||
long checksum;
|
||||
#endif
|
||||
int mark;
|
||||
};
|
||||
|
||||
struct dlistmem {
|
||||
struct datainforec datainfo;
|
||||
dlistptr nextlistptr;
|
||||
dlistptr prevlistptr;
|
||||
};
|
||||
|
||||
typedef struct cell
|
||||
{
|
||||
/*
|
||||
* Possible Startup and Exit Procedures to use
|
||||
*/
|
||||
int (*ListEntryProc)(struct cell *cell );
|
||||
int (*ListExitProc)(struct cell *cell);
|
||||
/*
|
||||
* What to do on a key and the screen paint routine
|
||||
* What to do on a special key
|
||||
*/
|
||||
int (*ListEventProc)(struct cell *cell);
|
||||
int (*ListPaintProc)(struct cell *cell);
|
||||
int (*OtherGetKeyProc)(struct cell *cell);
|
||||
|
||||
/* Possible actions to take with a keystroke. */
|
||||
/*
|
||||
* The current line we are at.
|
||||
*/
|
||||
int (*current_event)(struct cell *cell);
|
||||
|
||||
int (*event1)(struct cell *cell);
|
||||
int (*event2)(struct cell *cell);
|
||||
|
||||
int (*UpdateStatusProc)(struct cell *cell);
|
||||
|
||||
struct KeyTable *keytable;
|
||||
struct FuncTable *func_table;
|
||||
|
||||
/* These are what start everything off. */
|
||||
/* start is the start of the list.*/
|
||||
/* end is the end of the list. */
|
||||
/* current is the current highlighted line on the screen*/
|
||||
|
||||
dlistptr start;
|
||||
dlistptr current;
|
||||
dlistptr end;
|
||||
/*
|
||||
* Begin and end of the current display list. current should be somewhere
|
||||
* between these.
|
||||
*/
|
||||
dlistptr list_start;
|
||||
dlistptr list_end;
|
||||
|
||||
WINDOW *window; /* WINDOW from ncurses */
|
||||
|
||||
int redraw; /* screen needs attention */
|
||||
int srow; /* window start row cordinate */
|
||||
int scol; /* Window start Column */
|
||||
int erow; /* Window Ending Row */
|
||||
int ecol; /* Window ending column */
|
||||
int max_cols; /* Max Columns on the screen */
|
||||
int max_rows; /* Max Rows on the screen */
|
||||
int save_row; /* save the cursor pos row */
|
||||
int save_col; /* save the cursor pos col */
|
||||
int cur_pos; /* current cursor column when using edit*/
|
||||
int cur_row; /* current cursor row when using edit */
|
||||
int desc_start; /* Used when editing large fields. */
|
||||
|
||||
unsigned int termkey; /* this is cleared on enter, setting it to
|
||||
* any value other than zero causes the
|
||||
* function to return. Usually set to the
|
||||
* key we terminate with.
|
||||
*/
|
||||
unsigned int special; /* Holds value for the current item function
|
||||
* number
|
||||
*/
|
||||
|
||||
|
||||
unsigned int key; /* Current Keystroke */
|
||||
unsigned int other_getkey; /* set this to use other get_char routine */
|
||||
/* if supplied */
|
||||
|
||||
unsigned int normcolor; /* Normal Text Screen Color*/
|
||||
unsigned int barcolor; /* Bar text Screen Color */
|
||||
|
||||
int insert_mode; /* Insert/OverWrite Cursor Mode */
|
||||
|
||||
int menu_bar; /* Set this if a menu at the bottom
|
||||
* of the screen is needed
|
||||
*/
|
||||
int dest_src;
|
||||
char *filename;
|
||||
char **argv;
|
||||
int argc;
|
||||
} CELL;
|
||||
|
||||
|
||||
typedef struct KeyTable
|
||||
{
|
||||
int key;
|
||||
int func_num;
|
||||
char desc[40];
|
||||
} KEYTABLE;
|
||||
|
||||
typedef struct UKeyTable
|
||||
{
|
||||
int key;
|
||||
char desc[40];
|
||||
char program[MAXPATH+1];
|
||||
char params[40];
|
||||
} USERKEYTABLE;
|
||||
|
||||
typedef struct FuncTable
|
||||
{
|
||||
int key;
|
||||
int (*func)(struct cell *c);
|
||||
} FUNC_TABLE ;
|
||||
|
||||
struct COLOR {
|
||||
unsigned char dosborder ;
|
||||
unsigned char dostext ;
|
||||
unsigned char background;
|
||||
unsigned char back_text;
|
||||
unsigned char menuborder ;
|
||||
unsigned char menuback ;
|
||||
unsigned char menutext ;
|
||||
unsigned char menucursor ;
|
||||
unsigned char menushadow ;
|
||||
unsigned char fileborder;
|
||||
unsigned char filebar;
|
||||
unsigned char filetext;
|
||||
};
|
||||
|
||||
|
||||
#define LS_END 0
|
||||
#define LS_HOME 1
|
||||
#define LS_PGUP 2
|
||||
#define LS_PGDN 3
|
||||
#define CURSOR_UP 4
|
||||
#define CURSOR_DN 5
|
||||
#define LS_QUIT 6
|
||||
#define WRAP_CURSOR_DN 7
|
||||
#define WRAP_CURSOR_UP 8
|
||||
#define DO_SHELL 9
|
||||
#define LS_ENTER 10
|
||||
#define UPFUNC 11
|
||||
#define TOGGLE 12
|
||||
#define PLUS_IT 13
|
||||
#define MINUS_IT 14
|
||||
#define LS_CLEAR 15
|
||||
#define LS_TOGGLE 16
|
||||
#define RENAME_FILE 17
|
||||
#define CHANGE_SRC 18
|
||||
#define CHANGE_DEST 19
|
||||
#define LS_PLAY 20
|
||||
Reference in New Issue
Block a user