/****************************************************************
*																																*
*	 Filename : Plerror.c																					*
*																																*
*****************************************************************
*																																*
*		Comment : Diese File beinhaltet alle Funktionen für die			*
*							Fehlerbehandlung der Plotlibrary									*
*																																*
*			                    Funktionen														*
*	                        ==========														*
*																																*
*				get_ploterror()		holt die Adresse eines bestimmten			*
*													Fehlers.															*
*																																*
*				dis_ploterror()		schreibt Fehlertext nach sdterr				*
*																																*
*			                 globale Variablen												*
*	                     =================												*
*																																*
*							plerr				Fehlervariable												*
*																																*
*				Rev : V1.0																							*
*																																*
*		History : V1.0 erstellen dieses Files							14/11/89	*
*																																*
*				Doc : Plotlibrary User's Guide													*
*																																*
*			 Bugs : keine bekannten																		*
*																																*
*			Autor : Oesch Silvano																			*
*																																*
*			Datum : 14/11/89																					*
*																																*
****************************************************************/

/****************************************************************
*																																*
*	Plot Includedateien																						*
*																																*
****************************************************************/

#include "Plot.h"
#include "PlError.h"

/****************************************************************
*																																*
*	Definition der Fehlertexte																		*
*																																*
****************************************************************/

static char *errormsg[] =

{
	"keine definierter Fehlercode",											/* 0	*/
	"Plotlibrary schon geöffnet",												/* 1	*/
	"kein freier Speicher vorhanden",										/* 2	*/
	"Plotlibrary nicht geöffnet",												/* 3	*/
	"Plotlibrary nicht geöffnet oder keine Daten",			/* 4	*/
	"unkorrekte Funktionsparameterübergabe",						/* 5	*/
	"Kurve nicht gefunden",															/* 6	*/
	"Z-Achse für 2D nicht definiert",										/* 7	*/
	"Text ist zu gross",																/* 8	*/
	"kein Text zum löschen vorhanden",									/* 9	*/
	"Text ist schon gesetzt",														/* 10	*/
	"Datenfile nicht gefunden",													/* 11	*/
	"Datei ist leer",																		/* 12	*/
	"Unkorrekte Datei",																	/* 13	*/
	"Darstellungstypen stimmen nicht überein",					/* 14	*/
	"Daten in Inputdatei inkorrekt",										/* 15	*/
	"Datei ist zu gross",																/* 16	*/
	"Keine Überlagerung für diesen Typ erlaubt",				/* 17	*/
	"Nur für 2D Daten erlaubt",													/* 18	*/
	"Neuer Wert ist kleiner als der minimale Wert",			/* 19	*/
	"Neuer Wert ist grösser als der maximale Wert",			/* 20	*/
	"max. Farbanzahl erreicht",													/* 21	*/
	"undefinierter Kurventyp",													/* 22	*/
	"Funktion in dieser Version nicht verfügbar",				/* 23	*/
	"unkorrekter Graphikparameter",											/* 24	*/
	"Graphik ist nicht geöffnet",												/* 25	*/
	"Displayparameter stimmt nicht überein",						/* 26	*/
	"Negative Werte für diesen Typ nicht erlaubt",			/* 27	*/
	"keine Plotterdaten definiert",											/* 28	*/
	"kein Speicher für Hidden Algorithmus",							/* 29	*/
	"",																									/* 30	*/
	"",																									/* 31	*/
	"",																									/* 32	*/
	"",																									/* 33	*/
	"",																									/* 34	*/
	"",																									/* 35	*/
	"",																									/* 36	*/
	"",																									/* 37	*/
	"",																									/* 38	*/
	"kein Fehler gesetzt",															/* 39	*/
	"Fehler beim initialisieren der Graphik",						/* 40	*/
	"kein Speicher für den Aufbau der Graphik",					/* 41	*/
	"Fehler beim zeichnen der Niveaukurve",							/* 42	*/
	"",																									/* 43	*/
	"",																									/* 44	*/
	"Fehler beim öffnen der Plotdatei",									/* 45	*/
	"Ausgabe ist zu gross",															/* 46	*/
	"",																									/* 47	*/
	"",																									/* 48	*/
	"",																									/* 49	*/
	"",																									/* 50	*/
	"",																									/* 51	*/
	"",																									/* 52	*/
	"",																									/* 53	*/
	"",																									/* 54	*/
	"",																									/* 55	*/
	"",																									/* 56	*/
	"",																									/* 57	*/
	"",																									/* 58	*/
	""																									/* 59	*/
};

/****************************************************************
*																																*
*	Globale Variablen																							*
*																																*
****************************************************************/

int plerr;										/* globale Fehlervariable		*/

/****************************************************************
*																																*
*	externe Variablen																							*
*																																*
****************************************************************/

extern struct Plot *plot;

/****************************************************************
*																																*
*	Function : Get_PlotError()																		*
*																																*
*****************************************************************
*																																*
*		 Input : void																								*
*																																*
*		Output : char *Fehlertext																		*
*						 	Zeiger auf einen Erklärungstext										*
*																																*
*****************************************************************
*																																*
*	 Comment : Diese Funktion holt anhand der globalen Variablen	*
*						 plerr eine Adresse des entsprechenden Fehler-			*
*						 textes.																						*
*																																*
*			 Rev : V1.0																								*
*																																*
*	 History : V1.0 erstellen dieses Files							14/11/89	*
*																																*
*			 Doc : Plotlibrary User's Guide														*
*																																*
*		  Bugs : keine bekannten																		*
*																																*
*		 Autor : Oesch Silvano																			*
*																																*
*		 Datum : 14/11/89																						*
*																																*
****************************************************************/

char *get_ploterror()

{
	int temp;

	if (plerr > MAXERR)								/* Kein gültiger Fehlercode	*/
		seterror(PLERROR);							/* setzte Fehler in ploterr	*/

	temp = plerr;											/* speichern								*/
	plerr = NOERROR;									/* keine Fehler setzten			*/
	return (errormsg[temp]);					/* gib Adresse zurück				*/
}

/****************************************************************
*																																*
*	Function : dis_error()																				*
*																																*
*****************************************************************
*																																*
*		 Input : void																								*
*																																*
*		Output : void																								*
*																																*
*****************************************************************
*																																*
*	 Comment : Schreibt den Fehlercode und den entsprechenden			*
*						 Text über den stderr Kanal hinaus.									*
*																																*
*			 Rev : V1.0																								*
*																																*
*	 History : V1.0 erstellen dieses Files							14/11/89	*
*																																*
*			 Doc : Plotlibrary User's Guide														*
*																																*
*		  Bugs : keine bekannten																		*
*																																*
*		 Autor : Oesch Silvano																			*
*																																*
*		 Datum : 14/11/89																						*
*																																*
****************************************************************/

void dis_ploterror()
{
		fprintf(stderr,"%s\n",get_ploterror());
}

