Autodia::Diagram - Class to hold a collection of objects representing parts of a Dia Diagram.
my $Diagram = Autodia::Diagram->new;
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 XML format using template toolkit.
creates and returns an unpopulated diagram object.
To get a collection of a objects of a certain type you use the method of the same name. ie $Diagram->Classes() returns an array of 'class' objects.
The methods available are Classes(), Components(), Superclasses(), Inheritances(), Relations(), and Dependancies(); These are all called in the template to get the collections of objects to loop through.
To add an object to the diagram. You call the add_<object type> method, for example $Diagram->add_class($class_name), passing the name of the object in the case of Class, Superclass and Component but not Inheritance or Dependancy which have their names generated automagically.
Objects are not removed, they can only be superceded by another object; Component can be superceded by Superclass which can superceded by Class. This is handled by the object itself rather than the diagram.
Elements are added to the Diagram through the add_<elementname> method (ie add_classes() ).
Collections of elements are retrieved through the <elementname> method (ie Classes() ).
The diagram is laid out and output to a file using the export_xml() method.
Aaron Trevena, <email@example.com>
Copyright (C) 2004 by Aaron Trevena
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.