{ Ce schema decrit la presentation d un dessin avec des relations I. Vatton Juin 1990 } PRESENTATION Draw2; VIEWS The_draw, Draw_structure; DEFAULT BEGIN HorizRef : Enclosed . HRef; VertRef : * . Left; Width : Enclosed . Width; Height : Enclosed . Height; HorizPos : Left = Enclosing . Left; VertPos : Top = Enclosing . Top; Visibility: Enclosing =; Font : Enclosing =; Style : Enclosing =; Size : Enclosing =; LineSpacing : Enclosing =; Justify : No; Adjust : Enclosing =; Indent : Enclosing =; Depth : Enclosing =; UnderLine: Enclosing =; Thickness: Enclosing =; LineStyle: Enclosing =; LineWeight: Enclosing =; FillPattern: Enclosing =; Background: Enclosing =; Foreground: Enclosing =; IN Draw_structure BEGIN Visibility: 5; VertPos : Top = Previous . Bottom; END; END; BOXES SepareDessins: BEGIN Visibility: 0; Content: Graphics 'h'; LineStyle: Solid; LineWeight: 1 pt; IN Draw_structure BEGIN Visibility: 5; VertPos : Top = Enclosing . Top; Width: Enclosing . Width; Height : 1; END; END; CadreGroupe: BEGIN Visibility: 0; Content: Graphics 'R'; LineStyle: Solid; LineWeight: 1 pt; IN Draw_structure BEGIN Visibility: 5; Size: 5; VertPos : Top = Previous . Top - 0.2 cm; HorizPos : Left = Previous . Left - 0.2 cm; Width: Previous . Width + 0.3 cm; Height : Previous . Height + 0.3 cm; END; END; CadreLien: BEGIN Visibility: 0; Content: Graphics 'R'; LineStyle: Dashed; LineWeight: 1 pt; Style: Italics; IN Draw_structure BEGIN Visibility: 5; Size: 5; VertPos : Top = Previous . Top; HorizPos : Left = Previous . Left; Width: Previous . Width; Height : Previous . Height; END; END; CadreImage: BEGIN Visibility: 0; Content: Graphics 'R'; FillPattern: gray3; LineStyle: Solid; LineWeight: 1 pt; Style: Italics; IN Draw_structure BEGIN Visibility: 5; VertPos : Top = Previous . Top; HorizPos : Left = Previous . Left; Width: Previous . Width; Height : Previous . Height; Depth: Previous + 1; END; END; BoxAlignHaut: BEGIN Visibility: 0; Content: Text 'Alignement en haut'; IN Draw_structure BEGIN Visibility: 5; Style: Italics; HorizPos : Left = Enclosing . Left + 3; Width: Enclosed . Width; END; END; BoxCentreHoriz: BEGIN Visibility: 0; Content: Text 'Alignement horizontal centr\351'; IN Draw_structure BEGIN Visibility: 5; Style: Italics; HorizPos : Left = Enclosing . Left + 3; Width: Enclosed . Width; END; END; BoxAlignBas: BEGIN Visibility: 0; Content: Text 'Alignement en bas'; IN Draw_structure BEGIN Visibility: 5; Style: Italics; HorizPos : Left = Enclosing . Left + 3; Width: Enclosed . Width; END; END; BoxAlignGauche: BEGIN Visibility: 0; Content: Text 'Alignement \340 gauche'; IN Draw_structure BEGIN Visibility: 5; Style: Italics; HorizPos : Left = Enclosing . Left + 3; Width: Enclosed . Width; END; END; BoxCentreVert: BEGIN Visibility: 0; Content: Text 'Alignement vertical centr\351'; IN Draw_structure BEGIN Visibility: 5; Style: Italics; HorizPos : Left = Enclosing . Left + 3; Width: Enclosed . Width; END; END; BoxAlignDroit: BEGIN Visibility: 0; Content: Text 'Alignement \340 droite'; IN Draw_structure BEGIN Visibility: 5; Style: Italics; HorizPos : Left = Enclosing . Left + 3; Width: Enclosed . Width; END; END; BoxLienCentre: BEGIN Visibility: 0; Content: Text 'Lien extensible du centre vers le centre'; IN Draw_structure BEGIN Visibility: 5; Style: Italics; HorizPos : Left = Enclosing . Left + 3; Width: Enclosed . Width; END; END; BoxLienHaut: BEGIN Visibility: 0; Content: Text 'Lien extensible du centre vers le haut'; IN Draw_structure BEGIN Visibility: 5; Style: Italics; HorizPos : Left = Enclosing . Left + 3; Width: Enclosed . Width; END; END; BoxLienBas: BEGIN Visibility: 0; Content: Text 'Lien extensible du centre vers le bas'; IN Draw_structure BEGIN Visibility: 5; Style: Italics; HorizPos : Left = Enclosing . Left + 3; Width: Enclosed . Width; END; END; BoxLienGauche: BEGIN Visibility: 0; Content: Text 'Lien extensible du centre vers la gauche'; IN Draw_structure BEGIN Visibility: 5; Style: Italics; HorizPos : Left = Enclosing . Left + 3; Width: Enclosed . Width; END; END; BoxLienDroite: BEGIN Visibility: 0; Content: Text 'Lien extensible du centre vers la droite'; IN Draw_structure BEGIN Visibility: 5; Style: Italics; HorizPos : Left = Enclosing . Left + 3; Width: Enclosed . Width; END; END; BoxPicture: BEGIN Visibility: 0; Content: Text 'Image'; IN Draw_structure BEGIN Visibility: 5; Style: Italics; HorizPos : VMiddle = Enclosing . VMiddle; VertPos: HMiddle = Enclosing . HMiddle; Width: Enclosed . Width; END; END; BoiteSimple: BEGIN Content : Graphics 'R'; Width: Enclosing . Width; Height: Enclosing . Height; HorizPos: Left = Enclosing . Left; VertPos: Top = Enclosing . Top; LineWeight: creator =; IN Draw_structure BEGIN VertPos: Top = Enclosing . Top; END; END; BoitePleine: BEGIN Content : Graphics 'R'; Fillpattern: backgroundcolor; Width: Enclosing . Width; Height: Enclosing . Height; HorizPos: Left = Enclosing . Left; VertPos: Top = Enclosing . Top; Background: creator =; LineWeight: creator =; Depth: creator + 1; IN Draw_structure BEGIN VertPos: Top = Enclosing . Top; END; END; BoiteAvecOmbre: BEGIN Content : Graphics 'R'; Width: Enclosing . Width; Height: Enclosing . Height; HorizPos: Left = Enclosing . Left; VertPos: Top = Enclosing . Top; Fillpattern: backgroundcolor; Background: creator =; Depth: creator + 1; LineWeight: creator =; IN Draw_structure BEGIN VertPos: Top = Enclosing . Top; END; END; BoiteOmbre: BEGIN Content : Graphics 'R'; Background : Black; Foreground : Black; Fillpattern: backgroundcolor; Depth: creator + 2; Width: Previous . Width; Height: Previous . Height; HorizPos: Left = Previous . Left + 0.4; VertPos: Top = Previous . Top + 0.4; IN Draw_structure BEGIN VertPos: Top = Previous . Top + 0.4; END; END; RULES Draw2: BEGIN HorizPos : Left = Enclosing . Left + 0.2; VertPos : Top = Previous . Bottom + 1; Style : Roman; LineSpacing : 1; Indent : 0; Depth : 0; Gather : Yes; PageBreak: No; LineBreak: No; CreateFirst(SepareDessins); IN Draw_structure BEGIN VertPos : Top = Previous . Bottom; Width: Enclosing . Width - 0.2; END; END; Objet: BEGIN Height: 0.7 cm; Width: 1 cm; HorizPos : Left = Enclosing . Left + 0.2 cm; VertPos : Top = Enclosing . Top + 0.2 cm; IN Draw_structure BEGIN Height: 3; Width: 3; HorizPos : Left = Enclosing . Left; END; END; Objet_Graphique: BEGIN HorizPos : Left = Enclosing . Left + 0.5 cm UserSpecified; VertPos : Top = Enclosing . Top + 0.5 cm UserSpecified; Height: 2 cm UserSpecified; Width: 2 cm UserSpecified; IN Draw_structure BEGIN Height: 3; Width: 3; HorizPos : Left = Enclosing . Left; VertPos : Top = Previous . Bottom + 0.2 cm; END; END; GRAPHICS_UNIT: BEGIN Height: Enclosing . Height; Width: Enclosing . Width; HorizPos : Left = Enclosing . Left; VertPos : Top = Enclosing . Top; IN Draw_structure BEGIN Height: 3 min; END; END; Commentaire: BEGIN {*** HorizPos : VMiddle = Enclosing . VMiddle;***} {*** VertPos : HMiddle = Enclosing . HMiddle;***} HorizPos : VMiddle = Previous . VMiddle; VertPos : HMiddle = Previous . HMiddle; Width: Enclosing . Width; Line; Adjust: VMiddle; IN Draw_structure Visibility: 0; END; Objet_Texte: BEGIN Line; Height: Enclosed . Height; Width: 2 cm UserSpecified; HorizPos : Left = Enclosing . Left + 0.5 cm UserSpecified; VertPos : Top = Enclosing . Top + 0.5 cm UserSpecified; IN Draw_structure BEGIN Width: Enclosing . Width - 0.2 cm; HorizPos : Left = Enclosing . Left; VertPos : Top = Previous . Bottom + 0.2 cm; END; END; Objet_Image: BEGIN CreateFirst(BoxPicture); CreateAfter(CadreImage); HorizPos : Left = Enclosing . Left + 0.5 cm UserSpecified; VertPos : Top = Enclosing . Top + 0.5 cm UserSpecified; Width : 1 cm UserSpecified; Height : 1 cm UserSpecified; IN Draw_structure BEGIN HorizPos : Left = Enclosing . Left; VertPos : Top = Previous . Bottom + 0.2 cm; Width : 5; Height : 2; END; END; PICTURE_UNIT: BEGIN Height: Enclosing . Height; Width: Enclosing . Width; HorizPos : Left = Enclosing . Left; VertPos : Top = Enclosing . Top; IN Draw_structure Visibility: 0; END; Autre: BEGIN HorizPos : Left = Enclosing . Left + 0.5 cm UserSpecified; VertPos : Top = Enclosing . Top + 0.5 cm UserSpecified; Width: 3 cm UserSpecified; Height : Enclosed . Width; IN Draw_structure BEGIN VertPos : Top = Previous . Bottom + 0.2 cm; HorizPos : Left = Enclosing . Left; END; END; Groupe: BEGIN HorizPos : Left = Enclosing . Left + 0.5 cm UserSpecified; VertPos : Top = Enclosing . Top + 0.5 cm UserSpecified; CreateAfter (CadreGroupe); IN Draw_structure BEGIN VertPos : Top = Previous NOT CadreGroupe . Bottom + 0.6 cm; HorizPos : Left = Enclosing . Left + 0.6 cm; Width : Enclosing . Width - 1.2 cm; END; END; Lien_vers_centre: BEGIN HorizPos : Left = Enclosing . Left; VertPos : Top = Enclosing . Top; Width : 2; Height : 3; Depth : Enclosing + 3; CreateAfter (CadreLien); IN Draw_structure BEGIN VertPos : Top = Previous . Bottom + 0.2 cm; HorizPos : Left = Enclosing . Left; END; END; Lien_vers_bas: BEGIN HorizPos : Left = Enclosing . Left; VertPos : Top = Enclosing . Top; Width : 2; Height : 3; Depth : Enclosing + 3; CreateAfter (CadreLien); IN Draw_structure BEGIN VertPos : Top = Previous . Bottom + 0.2 cm; HorizPos : Left = Enclosing . Left; END; END; Lien_vers_haut: BEGIN HorizPos : Left = Enclosing . Left; VertPos : Top = Enclosing . Top; Width : 2; Height : 3; Depth : Enclosing + 3; CreateAfter (CadreLien); IN Draw_structure BEGIN VertPos : Top = Previous . Bottom + 0.2 cm; HorizPos : Left = Enclosing . Left; END; END; Lien_vers_gauche: BEGIN HorizPos : Left = Enclosing . Left; VertPos : Top = Enclosing . Top; Width : 2; Height : 3; Depth : Enclosing + 3; CreateAfter (CadreLien); IN Draw_structure BEGIN VertPos : Top = Previous . Bottom + 0.2 cm; HorizPos : Left = Enclosing . Left; END; END; Lien_vers_droite: BEGIN HorizPos : Left = Enclosing . Left; VertPos : Top = Enclosing . Top; Width : 2; Height : 3; Depth : Enclosing + 3; CreateAfter (CadreLien); IN Draw_structure BEGIN VertPos : Top = Previous . Bottom + 0.2 cm; HorizPos : Left = Enclosing . Left; END; END; Boite: BEGIN HorizPos : Left = Enclosing . Left + 0.5 cm UserSpecified; VertPos : Top = Enclosing . Top + 0.5 cm UserSpecified; Width: 1.5 cm UserSpecified; Height: 0.7 cm UserSpecified; IN Draw_structure BEGIN HorizPos : Left = Enclosing . Left; VertPos : Top = Previous . Bottom + 0.2 cm; Width: Enclosed . Width; Height: Enclosed . Height; END; END; Label: BEGIN Line; Width: Enclosing . Width - 6 pt; HorizPos : Left = Enclosing . Left + 3 pt; VertPos : Top = Enclosing . Top + 3 pt; IN Draw_structure BEGIN Adjust : Left; Width: 12 cm min; END; END; ATTRIBUTES Alignement_haut: BEGIN VertPos : Top = Refered . Top; CreateAfter(BoxAlignHaut); IN Draw_structure VertPos : Top = Previous . Bottom; END; Centr\351_horiz: BEGIN VertPos : HMiddle = Refered . HMiddle; CreateAfter(BoxCentreHoriz); IN Draw_structure VertPos : Top = Previous . Bottom; END; Alignement_bas: BEGIN VertPos : Bottom = Refered . Bottom; CreateAfter(BoxAlignBas); IN Draw_structure VertPos : Top = Previous . Bottom; END; Alignement_gauche: BEGIN HorizPos : Left = Refered . Left; CreateAfter(BoxAlignGauche); IN Draw_structure HorizPos : Left = Enclosing . Left; END; Centr\351_vert: BEGIN HorizPos : VMiddle = Refered . VMiddle; CreateAfter(BoxCentreVert); IN Draw_structure HorizPos : Left = Enclosing . Left; END; Alignement_droit: BEGIN HorizPos : Right = Refered . Right; CreateAfter(BoxAlignDroit); IN Draw_structure HorizPos : Left = Enclosing . Left; END; Plan : Depth : Plan; Cadrage = Centr\351: Adjust : VMiddle; Cadrage = Justif_gauche: Adjust : Left; Cadrage = Justif_droite: Adjust : Right; Hauteur: BEGIN Height : Hauteur pt UserSpecified; IN Draw_structure Height : Enclosed . Height; END; Largeur: BEGIN Width : Largeur pt UserSpecified; IN Draw_structure Width : 6 min; END; PositionV: BEGIN VertPos: Top = Enclosing . Top + PositionV pt UserSpecified; IN Draw_structure VertPos : Top = Previous . Bottom; END; PositionH: BEGIN HorizPos: Left = Enclosing . Left + PositionH pt UserSpecified; IN Draw_structure HorizPos : Left = Enclosing . Left; END; {**** Provisoire ****} Origine_lien : BEGIN CreateAfter(BoxLienCentre); VertPos : Top = refered . HMiddle; HorizPos : Left = refered . VMiddle; IN Draw_structure BEGIN VertPos : Top = Previous . Bottom + 0.2 cm; HorizPos : Left = Enclosing . Left; END; END; Terminaison_lien : BEGIN Height : Bottom = refered . HMiddle; Width : Right = refered . VMiddle; IN Draw_structure BEGIN Width: 4; Height: 3; END; END; Org_lienVersBas: BEGIN CreateAfter(BoxLienBas); VertPos : Top = refered . HMiddle; HorizPos : Left = refered . VMiddle; IN Draw_structure BEGIN VertPos : Top = Previous . Bottom + 0.2 cm; HorizPos : Left = Enclosing . Left; END; END; Fin_lienVersBas: BEGIN Height : Bottom = refered . Bottom; Width : Right = refered . VMiddle; IN Draw_structure BEGIN Width: 4; Height: 3; END; END; Org_lienVersHaut: BEGIN CreateAfter(BoxLienHaut); VertPos : Top = refered . HMiddle; HorizPos : Left = refered . VMiddle; IN Draw_structure BEGIN VertPos : Top = Previous . Bottom + 0.2 cm; HorizPos : Left = Enclosing . Left; END; END; Fin_lienVersHaut: BEGIN Height : Bottom = refered . Top; Width : Right = refered . VMiddle; IN Draw_structure BEGIN Width: 4; Height: 3; END; END; Org_lienVersGauche: BEGIN CreateAfter(BoxLienGauche); VertPos : Top = refered . HMiddle; HorizPos : Left = refered . VMiddle; IN Draw_structure BEGIN VertPos : Top = Previous . Bottom + 0.2 cm; HorizPos : Left = Enclosing . Left; END; END; Fin_lienVersGauche: BEGIN Height : Bottom = refered . HMiddle; Width : Right = refered . Left; IN Draw_structure BEGIN Width: 4; Height: 3; END; END; Org_lienVersDroite: BEGIN CreateAfter(BoxLienDroite); VertPos : Top = refered . HMiddle; HorizPos : Left = refered . VMiddle; IN Draw_structure BEGIN VertPos : Top = Previous . Bottom + 0.2 cm; HorizPos : Left = Enclosing . Left; END; END; Fin_lienVersDroite: BEGIN Height : Bottom = refered . HMiddle; Width : Right = refered . Right; IN Draw_structure BEGIN Width: 4; Height: 3; END; END; Aspect = Boite_simple: CreateLast (BoiteSimple); Aspect = Boite_pleine: CreateLast (BoitePleine); Aspect = Boite_ombr\351e: BEGIN CreateLast (BoiteAvecOmbre); CreateAfter (BoiteOmbre); END; Position_label = Label_centr\351: BEGIN Adjust : VMiddle; VertPos : HMiddle = Enclosing . HMiddle; HorizPos : VMiddle = Enclosing . VMiddle; IN Draw_structure BEGIN Adjust : Left; VertPos : Top = Enclosing . Top; HorizPos : Left = Enclosing . Left; END; END; Position_label = Haut_gauche: Adjust : Left; END