ftp.nice.ch/pub/next/graphics/viewer/ToyViewer.2.6a.s.tar.gz#/ToyViewer2.6a/src/errmessage.m

This is errmessage.m in view mode; [Download] [Up]

#import  <stdio.h>
#import  <libc.h>
#import  <objc/objc.h>
#import  <objc/NXBundle.h>	/* LocalizedString */
#import  <appkit/Panel.h>	/* NXRunAlertPanel() */
#import  <appkit/publicWraps.h> /* NXBeep() */
#import  <appkit/graphics.h>	/* NXPing() */
#import  "common.h"

static const char *err_message(int err)
{
	switch (err) {
	case Err_OPEN:
		return NXLocalizedString("Can't open file",
			NULL, Err_OPEN);
	case Err_FORMAT:
		return NXLocalizedString("Illegal image format",
			NULL, Err_FORMAT);
	case Err_MEMORY:
		return NXLocalizedString("Can't get working memory",
			NULL, Err_MEMORY);
	case Err_SHORT:
		return NXLocalizedString("Encountered unexpected EOF",
			NULL, Err_SHORT);
	case Err_ILLG:
		return NXLocalizedString("Illegal information included",
			NULL, Err_ILLG);
	case Err_IMPLEMENT:
		return NXLocalizedString("Unsupported image format",
			NULL, Err_IMPLEMENT);
	case Err_SAVE:
		return NXLocalizedString("Can't write into file",
			NULL, Err_SAVE);
	case Err_SAV_IMPL:
		return NXLocalizedString("Can't save this format",
			NULL, Err_SAV_IMPL);
	case Err_EPS_IMPL:
		return NXLocalizedString("Can't apply to EPS",
			NULL, Err_EPS_IMPL);
	case Err_EPS_ONLY:
		return NXLocalizedString("This operation is only to EPS",
			NULL, Err_EPS_ONLY);
	case Err_OPR_IMPL:
		return NXLocalizedString("Can't apply this operation",
			NULL, Err_OPR_IMPL);
	case Err_NOFILE:
		return NXLocalizedString("There is no file",
			NULL, Err_NOFILE);
	case Err_FLT_EXEC:
		return NXLocalizedString("Can't execute filter program",
			NULL, Err_FLT_EXEC);
	default:
		break;
	}
	return NULL;
}

static BOOL timedflag = NO;

void timedAlert(BOOL f)
{
	timedflag = f;
}

static void runAlert(const char *title, const char *file, const char *msg)
{
	id panel;

	if (timedflag) {
		panel = NXGetAlertPanel(title, "%s :\n%s",
				NULL, NULL, NULL, file, msg);
		NXBeep();
		[[panel center] makeKeyAndOrderFront: panel];
		NXPing();
		sleep(3);
		[panel close];
		NXFreeAlertPanel(panel);
	}else
		NXRunAlertPanel(title, "%s :\n%s", NULL, NULL, NULL, file, msg);
}

void errAlert(const char *file, int err)
{
	const char *msg = err_message(err);
	if (msg)
		runAlert(NXLocalizedString("ERROR", NULL, ERROR), file, msg);
}

void warnAlert(const char *file, int err)
{
	const char *msg = err_message(err);
	if (msg)
		runAlert(NXLocalizedString("WARNING", NULL, ERROR), file, msg);
}

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.