SYNOPSIS
use Graph::Easy;
my $graph = Graph::Easy->new();
my $bonn = Graph::Easy::Node->new(
name => 'Bonn',
);
my $berlin = Graph::Easy::Node->new(
name => 'Berlin',
);
$graph->add_edge ($bonn, $berlin);
$graph->layout();
print $graph->as_ascii( );
# prints:
# +------+ +--------+
# | Bonn | --> | Berlin |
# +------+ +--------+
DESCRIPTION
"Graph::Easy::Layout::Repair" contains code that can splice in group cells into a layout, as well as repair the layout after that step.It is part of Graph::Easy and used automatically.
METHODS
"Graph::Easy::Layout" injects the following methods into the "Graph::Easy" namespace:_edges_into_groups()
Put the edges into the appropriate group and class._assign_ranks()
$graph->_assign_ranks();
_repair_nodes()
Splicing the rows/columns to add filler cells will have torn holes into multi-edges nodes, so we insert additional filler cells to repair this._splice_edges()
Splicing the rows/columns to add filler cells might have torn holes into multi-celled edges, so we splice these together again._repair_edges()
Splicing the rows/columns to add filler cells might have put ``holes'' between an edge start/end and the node cell it points to. This routine fixes this problem by extending the edge by one cell if necessary._fill_group_cells()
After doing a "layout()", we need to add the group to each cell based on what group the nearest node is in.This routine will also find the label cell for each group, and repair edge/node damage done by the splicing.
EXPORT
Exports nothing.AUTHOR
Copyright (C) 2004 - 2007 by Tels <http://bloodgate.com>See the LICENSE file for information.