home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Fred Fish Collection 1.5
/
ffcollection-1-5-1992-11.iso
/
ff_progs
/
prt_util
/
printfls.lha
/
Source.lha
/
Source
/
prf_imsghandler.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-06-16
|
8KB
|
201 lines
/* prf_imsghandler.c */
/* V1.1 9-3-92 */
#include "prf.h"
long __regargs HandleImsg(struct prf_info *info)
{
struct Gadget *gp;
long rc = CMD_NEUTRAL;
switch(info->imsg->Class)
{
case IDCMP_VANILLAKEY :
switch(info->imsg->Code)
{
case KEY_ABOUT_L :
case KEY_ABOUT_U : rc = CMD_ABOUT;
break;
case KEY_HEADL_L :
case KEY_HEADL_U : rc = CMD_HEAD;
break;
case KEY_FOOTL_L :
case KEY_FOOTL_U : rc = CMD_FOOT;
break;
case KEY_DATE_L :
case KEY_DATE_U : (info->flags.date) ?
(rc = CMD_DATE_OFF) : (rc = CMD_DATE_ON);
break;
case KEY_TIME_L :
case KEY_TIME_U : (info->flags.time) ?
(rc = CMD_TIME_OFF) : (rc = CMD_TIME_ON);
break;
case KEY_NAME_L :
case KEY_NAME_U : (info->flags.file) ?
(rc = CMD_NAME_OFF) : (rc = CMD_NAME_ON);
break;
case KEY_PAGE_L :
case KEY_PAGE_U : (info->flags.page) ?
(rc = CMD_PAGE_OFF) : (rc = CMD_PAGE_ON);
break;
case KEY_LINE_L :
case KEY_LINE_U : (info->flags.line) ?
(rc = CMD_LINE_OFF) : (rc = CMD_LINE_ON);
break;
case KEY_FFPAGE_L :
case KEY_FFPAGE_U : (info->flags.ffpage) ?
(rc = CMD_FFPAGE_OFF) : (rc = CMD_FFPAGE_ON);
break;
case KEY_FF_L :
case KEY_FF_U : (info->flags.ff) ?
(rc = CMD_FF_OFF) : (rc = CMD_FF_ON);
break;
case KEY_PRINT_L :
case KEY_PRINT_U : rc = CMD_PRINT;
break;
case KEY_PITCH6 : rc = CMD_PITCH6;
break;
case KEY_PITCH8 : rc = CMD_PITCH8;
break;
case KEY_CPI10 : rc = CMD_10CPI;
break;
case KEY_CPI12 : rc = CMD_12CPI;
break;
case KEY_CPI15 : rc = CMD_15CPI;
break;
case KEY_OPENPWD_L :
case KEY_OPENPWD_U : rc = CMD_OPENPWD;
break;
case KEY_QUIT_L :
case KEY_QUIT_U : rc = CMD_QUIT;
break;
case KEY_FILEREQ_L :
case KEY_FILEREQ_U : rc = CMD_FILEREQ;
break;
case KEY_REMOVE_L :
case KEY_REMOVE_U : rc = CMD_REMOVE;
break;
default : break;
}
break;
case IDCMP_CLOSEWINDOW : if(info->imsg->IDCMPWindow == info->Pwd)
rc = CMD_CLOSEPWD;
else
rc = CMD_QUIT;
break;
case IDCMP_GADGETDOWN :
gp = (struct Gadget *)info->imsg->IAddress;
switch(gp->GadgetID)
{
case GD_Quality :
rc = (info->imsg->Code == 0) ? CMD_DRAFT : CMD_LQ;
break;
case GD_Pitch :
rc = (info->imsg->Code == 0) ? CMD_PITCH6 : CMD_PITCH8;
break;
case GD_cpi :
rc = (info->imsg->Code == 0) ? CMD_10CPI :
(info->imsg->Code == 1) ? CMD_12CPI : CMD_15CPI;
break;
case GD_Icons :
rc = (info->imsg->Code == 0) ? CMD_ICONNONE :
(info->imsg->Code == 1) ? CMD_ICONGFX :
(info->imsg->Code == 2) ? CMD_ICONINFO :
CMD_ICONALL ;
break;
case GD_Progs :
rc = (info->imsg->Code == 0) ? CMD_PROGNONE :
(info->imsg->Code == 1) ? CMD_PROGINFO :
(info->imsg->Code == 2) ? CMD_PROGICON :
CMD_PROGALL ;
break;
default: break;
}
break;
case IDCMP_GADGETUP :
gp = (struct Gadget *)info->imsg->IAddress;
switch(gp->GadgetID)
{
case GD_Saveprefs : rc = CMD_SAVEPREFS;
break;
case GD_Linesperpage : rc = CMD_LINES;
break;
case GD_Rmargin : rc = CMD_RMARGIN;
break;
case GD_Lmargin : rc = CMD_LMARGIN;
break;
case GD_PwdButton : rc = CMD_OPENPWD;
break;
case GD_quit : rc = CMD_QUIT;
break;
case GD_Gadget11 : rc = CMD_STR_INSERT;
break;
case GD_Filereq : rc = CMD_FILEREQ;
break;
case GD_Remove : rc = CMD_REMOVE;
break;
case GD_About : rc = CMD_ABOUT ;
break;
case GD_Headline : rc = CMD_HEADL ;
break;
case GD_Footline : rc = CMD_FOOTL ;
break;
case GD_Date : (info->flags.date) ?
(rc = CMD_DATE_OFF) : (rc = CMD_DATE_ON);
break;
case GD_Time : (info->flags.time) ?
(rc = CMD_TIME_OFF) : (rc = CMD_TIME_ON);
break;
case GD_Filename : (info->flags.file) ?
(rc = CMD_NAME_OFF) : (rc = CMD_NAME_ON);
break;
case GD_Pagenumber : (info->flags.page) ?
(rc = CMD_PAGE_OFF) : (rc = CMD_PAGE_ON);
break;
case GD_Linenumber : (info->flags.line) ?
(rc = CMD_LINE_OFF) : (rc = CMD_LINE_ON);
break;
case GD_FFPAGE : (info->flags.ffpage) ?
(rc = CMD_FFPAGE_OFF) : (rc = CMD_FFPAGE_ON);
break;
case GD_FF : (info->flags.ff) ?
(rc = CMD_FF_OFF) : (rc = CMD_FF_ON);
break;
case GD_PPrint :
case GD_Print : rc = CMD_PRINT;
break;
case GD_include_comment : (info->flags.sp_comment) ?
(rc = CMD_SP_COMMENT_OFF) : (rc = CMD_SP_COMMENT_ON);
break;
case GD_include_files : (info->flags.sp_files) ?
(rc = CMD_SP_FILES_OFF) : (rc = CMD_SP_FILES_ON);
break;
case GD_include_print : (info->flags.sp_print) ?
(rc = CMD_SP_PRINT_OFF) : (rc = CMD_SP_PRINT_ON);
break;
case GD_include_reset : (info->flags.sp_reset) ?
(rc = CMD_SP_RESET_OFF) : (rc = CMD_SP_RESET_ON);
break;
case GD_include_window : (info->flags.sp_window) ?
(rc = CMD_SP_WINDOW_OFF) : (rc = CMD_SP_WINDOW_ON);
break;
case GD_include_icon : (info->flags.sp_icon) ?
(rc = CMD_SP_ICON_OFF) : (rc = CMD_SP_ICON_ON);
break;
case GD_include_start : (info->flags.sp_start) ?
(rc = CMD_SP_START_OFF) : (rc = CMD_SP_START_ON);
break;
case GD_include_lines : (info->flags.sp_lines) ?
(rc = CMD_SP_LINES_OFF) : (rc = CMD_SP_LINES_ON);
break;
default : break;
}
break;
default : break;
}
return (rc);
}