{ Ce schema decrit la presentation d'un arbre qui pousse horizontalement ou verticalement V. Quint Mai 1994 } PRESENTATION Arbre2; DEFAULT BEGIN HorizRef: * . Bottom; 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 =; Foreground: Enclosing =; BackGround: Enclosing =; FillPattern: Enclosing =; LineWeight: Enclosing =; END; BOXES LienVert: BEGIN VertPos: Bottom = Next Sous_arbre . Top + 0.1; HorizPos: Left = Next Sous_arbre . VMiddle; Height: Top = Enclosing . Top; Width: Right = Enclosing . VMiddle; Content: Graphics '/'; END; LienHoriz: BEGIN VertPos: Bottom = Enclosing . HMiddle; HorizPos: Left = Enclosing . Left; Height: Top = Next Sous_arbre . HMiddle; Width: Right = Next Sous_arbre . Left; Content: Graphics '/'; END; TraitVertical: BEGIN Visibility: Enclosing -1 min 5; Width: 0.6; Height: Previous Descendants . Height; VertPos: Top = Previous Descendants . Top; HorizPos: Right = Previous Descendants . Left; Content: Graphics 'v'; END; BoiteRectangle: BEGIN Content: Graphics 'R'; HorizPos: Left = Previous Noeud . Left - 0.3; VertPos: Top = Previous Noeud . Top - 0.3; Width: Previous Noeud . Width + 0.6; Height: Previous Noeud . Height + 0.6; Depth: Enclosing + 1; Indent: 0; BackGround: Creator =; FillPattern: Creator =; END; RectangleAvecOmbre: BEGIN Content: Graphics 'R'; HorizPos: Left = Previous Noeud . Left - 0.3; VertPos: Top = Previous Noeud . Top - 0.3; Width: Previous Noeud . Width + 0.6; Height: Previous Noeud . Height + 0.6; Depth: Creator + 1; LineStyle: Solid; BackGround: Creator =; FillPattern: backgroundcolor; Indent: 0; END; OmbreRectangle: BEGIN Content: Graphics 'R'; Background: Black; Foreground: Black; FillPattern: backgroundcolor; HorizPos: Left = Previous Noeud . Left - 0.1; VertPos: Top = Previous Noeud . Top - 0.1; Width: Previous Noeud . Width + 0.6; Height: Previous Noeud . Height + 0.6; Depth: Creator + 3; LineStyle: Solid; END; BoiteArrondie: BEGIN Content: Graphics 'C'; HorizPos: Left = Previous Noeud . Left - 0.3; VertPos: Top = Previous Noeud . Top - 0.3; Width: Previous Noeud . Width + 0.6; Height: Previous Noeud . Height + 0.6; Depth: Enclosing + 1; Indent: 0; BackGround: Creator =; FillPattern: Creator =; END; ArrondiAvecOmbre: BEGIN Content: Graphics 'C'; HorizPos: Left = Previous Noeud . Left - 0.3; VertPos: Top = Previous Noeud . Top - 0.3; Width: Previous Noeud . Width + 0.6; Height: Previous Noeud . Height + 0.6; Depth: Creator + 1; LineStyle: Solid; BackGround: Creator =; FillPattern: backgroundcolor; Indent: 0; END; OmbreArrondi: BEGIN Content: Graphics 'C'; Background: Black; Foreground: Black; FillPattern: backgroundcolor; HorizPos: Left = Previous Noeud . Left - 0.1; VertPos: Top = Previous Noeud . Top - 0.1; Width: Previous Noeud . Width + 0.6; Height: Previous Noeud . Height + 0.6; Depth: Creator + 3; LineStyle: Solid; END; BoiteEllipse: BEGIN Content: Graphics 'c'; HorizPos: Left = Previous Noeud . Left - 0.3; VertPos: Top = Previous Noeud . Top - 0.3; Width: Previous Noeud . Width + 0.6; Height: Previous Noeud . Height + 0.6; Depth: Enclosing + 1; Indent: 0; BackGround: Creator =; FillPattern: Creator =; END; EllipseAvecOmbre: BEGIN Content: Graphics 'c'; HorizPos: Left = Previous Noeud . Left - 0.3; VertPos: Top = Previous Noeud . Top - 0.3; Width: Previous Noeud . Width + 0.6; Height: Previous Noeud . Height + 0.6; Depth: Creator + 1; LineStyle: Solid; BackGround: Creator =; FillPattern: backgroundcolor; Indent: 0; END; OmbreEllipse: BEGIN Content: Graphics 'c'; Background: Black; Foreground: Black; FillPattern: backgroundcolor; HorizPos: Left = Previous Noeud . Left - 0.1; VertPos: Top = Previous Noeud . Top - 0.1; Width: Previous Noeud . Width + 0.6; Height: Previous Noeud . Height + 0.6; Depth: Creator + 3; LineStyle: Solid; END; RULES Arbre2: BEGIN HorizPos: Left = Enclosing . Left; VertPos: Top = Previous . Bottom + 1; Adjust: VMiddle; Indent: 0; Gather: Yes; PageBreak: No; LineBreak: No; LineWeight: 1 pt; LineStyle: Solid; END; Sous_arbre: BEGIN END; Noeud: BEGIN HorizPos: nil; VertPos: Top = Enclosing . Top + 0.3; END; Descendants: BEGIN VertPos: Top = Previous . Bottom; HorizPos: VMiddle = Noeud . VMiddle; Visibility: Enclosing -1 min 5; END; ATTRIBUTES Disposition = Liste_indent\351e: BEGIN Width: Enclosing . Width; Adjust: Left; Indent: -3; END; Disposition(Sous_arbre) = Arbre_vertical: BEGIN HorizPos: Left = Previous Sous_arbre . Right + 1; VertPos: Top = Enclosing . Top + 1.1; CreateBefore(LienVert); END; Disposition(Sous_arbre) = Arbre_horizontal: BEGIN HorizPos: Left = Enclosing . Left + 2; VertPos: Top = Previous Sous_arbre . Bottom + 0.5; CreateBefore(LienHoriz); END; Disposition(Sous_arbre) = Liste_indent\351e: BEGIN HorizPos: Left = Enclosing . Left; Width: Enclosing . Width; VertPos: Top = Previous . Bottom; END; Disposition(Noeud) = Arbre_horizontal: BEGIN HorizPos: Left = Enclosing . Left + 0.3; VertPos : nil; END; Disposition(Noeud) = Liste_indent\351e: BEGIN HorizPos: Left = Enclosing . Left + 0.3; Width: Enclosing . Width - 0.6; VertPos: Top = Previous . Bottom; Line; Adjust: Left; Indent: -3; END; Disposition(Descendants) = Arbre_horizontal: BEGIN VertPos: HMiddle = Noeud . HMiddle; HorizPos : Left = Previous . Right; END; Disposition(Descendants) = Liste_indent\351e: BEGIN CreateAfter(TraitVertical); Width: Enclosing . Width - 1; VertPos: Top = Previous . Bottom; HorizPos: Left = Enclosing . Left + 1; END; Largeur_noeuds(Noeud) = Fixe: BEGIN Width: 5; Line; END; Largeur_noeuds(Noeud) = Variable: Width: Enclosed . Width; Cadre_noeuds(Noeud) = Rectangle: CreateAfter(BoiteRectangle); Cadre_noeuds(Noeud) = Rectangle_ombr\351: BEGIN CreateAfter(RectangleAvecOmbre); CreateAfter(OmbreRectangle); END; Cadre_noeuds(Noeud) = Arrondi: CreateAfter(BoiteArrondie); Cadre_noeuds(Noeud) = Arrondi_ombr\351: BEGIN CreateAfter(ArrondiAvecOmbre); CreateAfter(OmbreArrondi); END; Cadre_noeuds(Noeud) = Ellipse: CreateAfter(BoiteEllipse); Cadre_noeuds(Noeud) = Ellipse_ombr\351e: BEGIN CreateAfter(EllipseAvecOmbre); CreateAfter(OmbreEllipse); END; END