home *** CD-ROM | disk | FTP | other *** search
- /* prf_imsghandler.c */
- /* V1.1 9-3-92 */
-
- #include "prf.h"
-
- long 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 & FLAG_DATE) ?
- (rc = CMD_DATE_OFF) : (rc = CMD_DATE_ON);
- break;
- case KEY_TIME_L :
- case KEY_TIME_U : (info->flags & FLAG_TIME) ?
- (rc = CMD_TIME_OFF) : (rc = CMD_TIME_ON);
- break;
- case KEY_NAME_L :
- case KEY_NAME_U : (info->flags & FLAG_FILE) ?
- (rc = CMD_NAME_OFF) : (rc = CMD_NAME_ON);
- break;
- case KEY_PAGE_L :
- case KEY_PAGE_U : (info->flags & FLAG_PAGE) ?
- (rc = CMD_PAGE_OFF) : (rc = CMD_PAGE_ON);
- break;
- case KEY_LINE_L :
- case KEY_LINE_U : (info->flags & FLAG_LINE) ?
- (rc = CMD_LINE_OFF) : (rc = CMD_LINE_ON);
- break;
- case KEY_CRLF_L :
- case KEY_CRLF_U : (info->flags & FLAG_CRLF) ?
- (rc = CMD_CRLF_OFF) : (rc = CMD_CRLF_ON);
- break;
- case KEY_FF_L :
- case KEY_FF_U : (info->flags & FLAG_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;
- 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 & FLAG_DATE) ?
- (rc = CMD_DATE_OFF) : (rc = CMD_DATE_ON);
- break;
- case GD_Time : (info->flags & FLAG_TIME) ?
- (rc = CMD_TIME_OFF) : (rc = CMD_TIME_ON);
- break;
- case GD_Filename : (info->flags & FLAG_FILE) ?
- (rc = CMD_NAME_OFF) : (rc = CMD_NAME_ON);
- break;
- case GD_Pagenumber : (info->flags & FLAG_PAGE) ?
- (rc = CMD_PAGE_OFF) : (rc = CMD_PAGE_ON);
- break;
- case GD_Linenumber : (info->flags & FLAG_LINE) ?
- (rc = CMD_LINE_OFF) : (rc = CMD_LINE_ON);
- break;
- case GD_CRLF : (info->flags & FLAG_CRLF) ?
- (rc = CMD_CRLF_OFF) : (rc = CMD_CRLF_ON);
- break;
- case GD_FF : (info->flags & FLAG_FF) ?
- (rc = CMD_FF_OFF) : (rc = CMD_FF_ON);
- break;
- case GD_PPrint :
- case GD_Print : rc = CMD_PRINT;
- break;
- default : break;
- }
- break;
- default : break;
- }
- return (rc);
- }
-
-