home *** CD-ROM | disk | FTP | other *** search
/ Big Green CD 8 / BGCD_8_Dev.iso / NEXTSTEP / Graphics / ToyViewer-2.6a / src / errmessage.m < prev    next >
Encoding:
Text File  |  1996-10-04  |  2.3 KB  |  95 lines

  1. #import  <stdio.h>
  2. #import  <libc.h>
  3. #import  <objc/objc.h>
  4. #import  <objc/NXBundle.h>    /* LocalizedString */
  5. #import  <appkit/Panel.h>    /* NXRunAlertPanel() */
  6. #import  <appkit/publicWraps.h> /* NXBeep() */
  7. #import  <appkit/graphics.h>    /* NXPing() */
  8. #import  "common.h"
  9.  
  10. static const char *err_message(int err)
  11. {
  12.     switch (err) {
  13.     case Err_OPEN:
  14.         return NXLocalizedString("Can't open file",
  15.             NULL, Err_OPEN);
  16.     case Err_FORMAT:
  17.         return NXLocalizedString("Illegal image format",
  18.             NULL, Err_FORMAT);
  19.     case Err_MEMORY:
  20.         return NXLocalizedString("Can't get working memory",
  21.             NULL, Err_MEMORY);
  22.     case Err_SHORT:
  23.         return NXLocalizedString("Encountered unexpected EOF",
  24.             NULL, Err_SHORT);
  25.     case Err_ILLG:
  26.         return NXLocalizedString("Illegal information included",
  27.             NULL, Err_ILLG);
  28.     case Err_IMPLEMENT:
  29.         return NXLocalizedString("Unsupported image format",
  30.             NULL, Err_IMPLEMENT);
  31.     case Err_SAVE:
  32.         return NXLocalizedString("Can't write into file",
  33.             NULL, Err_SAVE);
  34.     case Err_SAV_IMPL:
  35.         return NXLocalizedString("Can't save this format",
  36.             NULL, Err_SAV_IMPL);
  37.     case Err_EPS_IMPL:
  38.         return NXLocalizedString("Can't apply to EPS",
  39.             NULL, Err_EPS_IMPL);
  40.     case Err_EPS_ONLY:
  41.         return NXLocalizedString("This operation is only to EPS",
  42.             NULL, Err_EPS_ONLY);
  43.     case Err_OPR_IMPL:
  44.         return NXLocalizedString("Can't apply this operation",
  45.             NULL, Err_OPR_IMPL);
  46.     case Err_NOFILE:
  47.         return NXLocalizedString("There is no file",
  48.             NULL, Err_NOFILE);
  49.     case Err_FLT_EXEC:
  50.         return NXLocalizedString("Can't execute filter program",
  51.             NULL, Err_FLT_EXEC);
  52.     default:
  53.         break;
  54.     }
  55.     return NULL;
  56. }
  57.  
  58. static BOOL timedflag = NO;
  59.  
  60. void timedAlert(BOOL f)
  61. {
  62.     timedflag = f;
  63. }
  64.  
  65. static void runAlert(const char *title, const char *file, const char *msg)
  66. {
  67.     id panel;
  68.  
  69.     if (timedflag) {
  70.         panel = NXGetAlertPanel(title, "%s :\n%s",
  71.                 NULL, NULL, NULL, file, msg);
  72.         NXBeep();
  73.         [[panel center] makeKeyAndOrderFront: panel];
  74.         NXPing();
  75.         sleep(3);
  76.         [panel close];
  77.         NXFreeAlertPanel(panel);
  78.     }else
  79.         NXRunAlertPanel(title, "%s :\n%s", NULL, NULL, NULL, file, msg);
  80. }
  81.  
  82. void errAlert(const char *file, int err)
  83. {
  84.     const char *msg = err_message(err);
  85.     if (msg)
  86.         runAlert(NXLocalizedString("ERROR", NULL, ERROR), file, msg);
  87. }
  88.  
  89. void warnAlert(const char *file, int err)
  90. {
  91.     const char *msg = err_message(err);
  92.     if (msg)
  93.         runAlert(NXLocalizedString("WARNING", NULL, ERROR), file, msg);
  94. }
  95.