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 >
C/C++ Source or Header  |  1992-06-16  |  8KB  |  201 lines

  1. /* prf_imsghandler.c */
  2. /* V1.1 9-3-92 */
  3.  
  4. #include "prf.h"
  5.  
  6. long __regargs HandleImsg(struct prf_info *info)
  7. {
  8.  struct Gadget *gp;
  9.  long rc = CMD_NEUTRAL;
  10.  switch(info->imsg->Class)
  11.  {
  12.   case IDCMP_VANILLAKEY      :
  13.        switch(info->imsg->Code)
  14.        {
  15.         case KEY_ABOUT_L     :
  16.         case KEY_ABOUT_U     : rc = CMD_ABOUT;
  17.                                break;
  18.         case KEY_HEADL_L     :
  19.         case KEY_HEADL_U     : rc = CMD_HEAD;
  20.                                break;
  21.         case KEY_FOOTL_L     :
  22.         case KEY_FOOTL_U     : rc = CMD_FOOT;
  23.                                break;
  24.         case KEY_DATE_L      :
  25.         case KEY_DATE_U      : (info->flags.date) ?
  26.                                (rc = CMD_DATE_OFF) : (rc = CMD_DATE_ON);
  27.                                break;
  28.         case KEY_TIME_L      :
  29.         case KEY_TIME_U      : (info->flags.time) ?
  30.                                (rc = CMD_TIME_OFF) : (rc = CMD_TIME_ON);
  31.                                break;
  32.         case KEY_NAME_L      :
  33.         case KEY_NAME_U      : (info->flags.file) ?
  34.                                (rc = CMD_NAME_OFF) : (rc = CMD_NAME_ON);
  35.                                break;
  36.         case KEY_PAGE_L      :
  37.         case KEY_PAGE_U      : (info->flags.page) ?
  38.                                (rc = CMD_PAGE_OFF) : (rc = CMD_PAGE_ON);
  39.                                break;
  40.         case KEY_LINE_L      :
  41.         case KEY_LINE_U      : (info->flags.line) ?
  42.                                (rc = CMD_LINE_OFF) : (rc = CMD_LINE_ON);
  43.                                break;
  44.         case KEY_FFPAGE_L    :
  45.         case KEY_FFPAGE_U    : (info->flags.ffpage) ?
  46.                                (rc = CMD_FFPAGE_OFF) : (rc = CMD_FFPAGE_ON);
  47.                                break;
  48.         case KEY_FF_L        :
  49.         case KEY_FF_U        : (info->flags.ff) ?
  50.                                (rc = CMD_FF_OFF) : (rc = CMD_FF_ON);
  51.                                break;
  52.         case KEY_PRINT_L     :
  53.         case KEY_PRINT_U     : rc = CMD_PRINT;
  54.                                break;
  55.         case KEY_PITCH6      : rc = CMD_PITCH6;
  56.                                break;
  57.         case KEY_PITCH8      : rc = CMD_PITCH8;
  58.                                break;
  59.         case KEY_CPI10       : rc = CMD_10CPI;
  60.                                break;
  61.         case KEY_CPI12       : rc = CMD_12CPI;
  62.                                break;
  63.         case KEY_CPI15       : rc = CMD_15CPI;
  64.                                break;
  65.         case KEY_OPENPWD_L   :
  66.         case KEY_OPENPWD_U   : rc = CMD_OPENPWD;
  67.                                break;
  68.         case KEY_QUIT_L      :
  69.         case KEY_QUIT_U      : rc = CMD_QUIT;
  70.                                break;
  71.         case KEY_FILEREQ_L   :
  72.         case KEY_FILEREQ_U   : rc = CMD_FILEREQ;
  73.                                break;
  74.         case KEY_REMOVE_L    :
  75.         case KEY_REMOVE_U    : rc = CMD_REMOVE;
  76.                                break;
  77.  
  78.         default              : break;
  79.        }
  80.        break;
  81.   case IDCMP_CLOSEWINDOW     : if(info->imsg->IDCMPWindow == info->Pwd)
  82.                                  rc = CMD_CLOSEPWD;
  83.                                else
  84.                                  rc = CMD_QUIT;
  85.                                break;
  86.  
  87.   case IDCMP_GADGETDOWN      :
  88.        gp = (struct Gadget *)info->imsg->IAddress;
  89.        switch(gp->GadgetID)
  90.        {
  91.         case GD_Quality      :
  92.              rc = (info->imsg->Code == 0) ? CMD_DRAFT : CMD_LQ;
  93.              break;
  94.         case GD_Pitch      :
  95.              rc = (info->imsg->Code == 0) ? CMD_PITCH6 : CMD_PITCH8;
  96.              break;
  97.         case GD_cpi      :
  98.              rc = (info->imsg->Code == 0) ? CMD_10CPI :
  99.                   (info->imsg->Code == 1) ? CMD_12CPI : CMD_15CPI;
  100.                   break;
  101.         case GD_Icons    :
  102.              rc = (info->imsg->Code == 0) ? CMD_ICONNONE :
  103.                   (info->imsg->Code == 1) ? CMD_ICONGFX :
  104.                   (info->imsg->Code == 2) ? CMD_ICONINFO  :
  105.                   CMD_ICONALL ;
  106.              break;
  107.         case GD_Progs   :
  108.              rc = (info->imsg->Code == 0) ? CMD_PROGNONE :
  109.                   (info->imsg->Code == 1) ? CMD_PROGINFO :
  110.                   (info->imsg->Code == 2) ? CMD_PROGICON :
  111.                   CMD_PROGALL ;
  112.              break;
  113.         default: break;
  114.        }
  115.        break;
  116.   case IDCMP_GADGETUP        :
  117.        gp = (struct Gadget *)info->imsg->IAddress;
  118.        switch(gp->GadgetID)
  119.        {
  120.         case GD_Saveprefs    : rc = CMD_SAVEPREFS;
  121.                                break;
  122.         case GD_Linesperpage : rc = CMD_LINES;
  123.                                break;
  124.         case GD_Rmargin      : rc = CMD_RMARGIN;
  125.                                break;
  126.         case GD_Lmargin      : rc = CMD_LMARGIN;
  127.                                break;
  128.         case GD_PwdButton    : rc = CMD_OPENPWD;
  129.                                break;
  130.         case GD_quit         : rc = CMD_QUIT;
  131.                                break;
  132.         case GD_Gadget11     : rc = CMD_STR_INSERT;
  133.                                break;
  134.         case GD_Filereq      : rc = CMD_FILEREQ;
  135.                                break;
  136.         case GD_Remove       : rc = CMD_REMOVE;
  137.                                break;
  138.         case GD_About        : rc = CMD_ABOUT ;
  139.                                break;
  140.         case GD_Headline     : rc = CMD_HEADL ;
  141.                                break;
  142.         case GD_Footline     : rc = CMD_FOOTL ;
  143.                                break;
  144.         case GD_Date         : (info->flags.date) ?
  145.                                (rc = CMD_DATE_OFF) : (rc = CMD_DATE_ON);
  146.                                break;
  147.         case GD_Time         : (info->flags.time) ?
  148.                                (rc = CMD_TIME_OFF) : (rc = CMD_TIME_ON);
  149.                                break;
  150.         case GD_Filename     : (info->flags.file) ?
  151.                                (rc = CMD_NAME_OFF) : (rc = CMD_NAME_ON);
  152.                                break;
  153.         case GD_Pagenumber   : (info->flags.page) ?
  154.                                (rc = CMD_PAGE_OFF) : (rc = CMD_PAGE_ON);
  155.                                break;
  156.         case GD_Linenumber   : (info->flags.line) ?
  157.                                (rc = CMD_LINE_OFF) : (rc = CMD_LINE_ON);
  158.                                break;
  159.         case GD_FFPAGE         : (info->flags.ffpage) ?
  160.                                (rc = CMD_FFPAGE_OFF) : (rc = CMD_FFPAGE_ON);
  161.                                break;
  162.         case GD_FF           : (info->flags.ff) ?
  163.                                (rc = CMD_FF_OFF) : (rc = CMD_FF_ON);
  164.                                break;
  165.         case GD_PPrint       :
  166.         case GD_Print        : rc = CMD_PRINT;
  167.                                break;
  168.         case GD_include_comment : (info->flags.sp_comment) ?
  169.                                   (rc = CMD_SP_COMMENT_OFF) : (rc = CMD_SP_COMMENT_ON);
  170.                                   break;
  171.         case GD_include_files   : (info->flags.sp_files) ?
  172.                                   (rc = CMD_SP_FILES_OFF) : (rc = CMD_SP_FILES_ON);
  173.                                   break;
  174.         case GD_include_print   : (info->flags.sp_print) ?
  175.                                   (rc = CMD_SP_PRINT_OFF) : (rc = CMD_SP_PRINT_ON);
  176.                                   break;
  177.         case GD_include_reset   : (info->flags.sp_reset) ?
  178.                                   (rc = CMD_SP_RESET_OFF) : (rc = CMD_SP_RESET_ON);
  179.                                   break;
  180.         case GD_include_window  : (info->flags.sp_window) ?
  181.                                   (rc = CMD_SP_WINDOW_OFF) : (rc = CMD_SP_WINDOW_ON);
  182.                                   break;
  183.         case GD_include_icon    : (info->flags.sp_icon) ?
  184.                                   (rc = CMD_SP_ICON_OFF) : (rc = CMD_SP_ICON_ON);
  185.                                   break;
  186.         case GD_include_start   : (info->flags.sp_start) ?
  187.                                   (rc = CMD_SP_START_OFF) : (rc = CMD_SP_START_ON);
  188.                                   break;
  189.         case GD_include_lines   : (info->flags.sp_lines) ?
  190.                                   (rc = CMD_SP_LINES_OFF) : (rc = CMD_SP_LINES_ON);
  191.                                   break;
  192.  
  193.         default              : break;
  194.        }
  195.        break;
  196.   default                    : break;
  197.  }
  198.  return (rc);
  199. }
  200.  
  201.