/* Copyright 1990-1992 Laboratoire de Recherche en Informatique (LRI)Permission to use, copy, and modify this software and its documentationfor your own purposes is hereby granted without fee, provided thatthe above copyright notice appear in all copies and that both thatcopyright notice and this permission notice appear in supportingdocumentation, and use acknowledge that the software was developedby Laboratoire de Recherche en Informatique, Universite de Paris-Sud,Orsay, France. LRI makes no representations about the suitability ofthis software for any purpose.  It is provided "as is" without expressor implied warranty.This software or modified versions of this software cannot bedistributed in source or binary form, nor included into productswithout prior written permission of the author.LRI DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALLIMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL LRIBE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGESWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTIONOF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.Author:   ___    0  Thomas Baudel                 e-mail: thomas@lri.fr  /   \  /   LRI - Bat 490 /  __/ /    Universite de Paris-Sud       voice : +33 (1) 69 41 69 10/__   \/     91 405 ORSAY Cedex - FRANCE   fax   : +33 (1) 69 41 65 86*/class FENETRE_SET ;class GEST_CLASS;class GEST_EXAMPLE;class POINT_LIST {public:	Point p;	short tc;	POINT_LIST* Precedent;	POINT_LIST* Suivant;	POINT_LIST (POINT_LIST*, POINT_LIST*, Point, short);	~POINT_LIST ();};class GEST_EXAMPLE {public:	GEST_CLASS* Parent;	POINT_LIST* Points;	GEST_EXAMPLE* Suivant;	int Length;		Boolean OnLine (Point);	void Dessine (FENETRE_SET*, Boolean);	void Enregistre (Handle);		GEST_EXAMPLE (GEST_CLASS*, Handle, int*);	~GEST_EXAMPLE ();};class GEST_CLASS {friend class FENETRE_SET;friend class GEST_EXAMPLE;protected :		GEST_EXAMPLE *Examples, *Current;		short nExamples;		Str255 Nom;		Handle Res;		GEST_EXAMPLE* TrouveExemple (FENETRE_SET*, Point);		public:				GEST_CLASS (FENETRE_SET*, Handle, Str255);		 ~GEST_CLASS ();		void Name (Str255);		int Dessine (FENETRE_SET*);		void Touche (FENETRE_SET*, EventRecord*); 		void Clique (FENETRE_SET*, EventRecord*);		void MenuEdition (FENETRE_SET*, short); 		void Enregistre ();} ;class FENETRE_SET : public FENETRE {friend class GEST_CLASS;protected :			GEST_CLASS *CurClass;		  int NbChamps, CurItem;						void ChangeChamp (Str255, short);			void Infos ();			void Analyse (int);			void RemoveCurrent ();public:						FENETRE_SET (Str255, int);			~FENETRE_SET ();					int Enregistre (int);  	void Oisif (Boolean);		int Dessine (RgnHandle); 		void Active (int); 		void Touche (EventRecord*); 		void Clique (EventRecord*); 		void Menu (int); 		void MenuEdition(short);	};	
