.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "Autodia::Diagram 3pm" .TH Autodia::Diagram 3pm "2022-11-02" "perl v5.36.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" Autodia::Diagram \- Class to hold a collection of objects representing parts of a Dia Diagram. .SH "SYNOPSIS" .IX Header "SYNOPSIS" use Autodia::Diagram; .PP my \f(CW$Diagram\fR = Autodia::Diagram\->new; .SS "Description" .IX Subsection "Description" Diagram is an object that contains a collection of diagram elements and the logic to generate the diagram layout as well as to output the diagram itself in Dia's \s-1XML\s0 format using template toolkit. .SH "METHODS" .IX Header "METHODS" .SS "Class Methods" .IX Subsection "Class Methods" .IP "new \- constructor method" 4 .IX Item "new - constructor method" creates and returns an unpopulated diagram object. .SS "Object methods" .IX Subsection "Object methods" To get a collection of a objects of a certain type you use the method of the same name. ie \f(CW$Diagram\fR\->\fBClasses()\fR returns an array of 'class' objects. .PP The methods available are \fBClasses()\fR, \fBComponents()\fR, \fBSuperclasses()\fR, \fBInheritances()\fR, \fBRelations()\fR, and \fBDependencies()\fR; These are all called in the template to get the collections of objects to loop through. .PP To add an object to the diagram. You call the add_ method, for example \f(CW$Diagram\fR\->add_class($class_name), passing the name of the object in the case of Class, Superclass and Component but not Inheritance or Dependency which have their names generated automagically. .PP Objects are not removed, they can only be superseded by another object; Component can be superseded by Superclass which can superseded by Class. This is handled by the object itself rather than the diagram. .SS "Accessing and manipulating the Diagram" .IX Subsection "Accessing and manipulating the Diagram" Elements are added to the Diagram through the add_ method (ie \fBadd_classes()\fR ). .PP Collections of elements are retrieved through the method (ie \fBClasses()\fR ). .PP The diagram is laid out and output to a file using the \fBexport_xml()\fR method. .SS "See Also" .IX Subsection "See Also" Autodia .PP Autodia::Diagram::Object .PP Autodia::Diagram::Class .PP Autodia::Diagram::Superclass .PP Autodia::Diagram::Component .PP Autodia::Diagram::Inheritance .PP Autodia::Diagram::Relation .PP Autodia::Diagram::Dependancy .SH "AUTHOR" .IX Header "AUTHOR" Aaron Trevena, .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyright (C) 2004 by Aaron Trevena .PP This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.1 or, at your option, any later version of Perl 5 you may have available.