NAME

Graph::Easy::Group - Represents a group of nodes in a simple graph

SYNOPSIS

        use Graph::Easy;

        my $bonn = Graph::Easy::Node->new('Bonn');

        $bonn->set_attribute('border', 'solid 1px black');

        my $berlin = Graph::Easy::Node->new( name => 'Berlin' );

	my $cities = Graph::Easy::Group->new(
		name => 'Cities',
	);
        $cities->set_attribute('border', 'dashed 1px blue');

	$cities->add_nodes ($bonn);
	# $bonn will be ONCE in the group
	$cities->add_nodes ($bonn, $berlin);

DESCRIPTION

A Graph::Easy::Node represents a node in a simple graph. Each node has contents (a text, an image or another graph), and dimension plus an origin. The origin is typically determined by a graph layouter module like Graph::Easy.

METHODS

new()

my $group = Graph::Easy::Group->new( $options );

Create a new, empty group. $options are the possible options, see Graph::Easy::Node for a list.

error()

$last_error = $group->error();

$group->error($error);			# set new messags
$group->error('');			# clear error

Returns the last error message, or '' for no error.

as_ascii()

my $ascii = $group->as_ascii();

Return the group as a little box drawn in ASCII art as a string.

name()

my $name = $group->name();

Return the name of the group.

id()

my $id = $group->id();

Returns the group's unique ID number.

set_attribute()

$group->set_attribute('border-style', 'none');

Sets the specified attribute of this (and only this!) group to the specified value.

add_member()

$group->add_member($node);
$group->add_member($edge);

Add the specified node or edge to this group.

add_node()

$group->add_node($node);

Add the specified node to this group.

add_edge()

$group->add_edge($edge);

Add the specified edge to this group.

del_member()

$group->del_member($node);
$group->del_member($edge);

Delete the specified node or edge from this group.

del_node()

$group->del_node($node);

Delete the specified node from this group.

del_edge()

$group->del_edge($edge);

Delete the specified edge from this group.

add_nodes()

$group->add_nodes($node, $node2, ... );

Add all the specified nodes to this group.

add_cell()

$group->add_cell($cell);

Add a cell to the list of cells this group covers.

cells()

my @cells = $group->cells();

Returns a list of all cells that belong to this group.

nodes()

my @nodes = $group->nodes();

Returns a list of all node objects that belong to this group.

edges()

my @edges = $group->edges();

Returns a list of all edge objects that belong to this group.

clear_cells()

$group->clear_cells();

Clears the cells associated with this group.

as_txt()

my $txt = $group->as_txt();

Returns the group as Graph::Easy textual description.

EXPORT

None by default.

SEE ALSO

Graph::Easy.

AUTHOR

Copyright (C) 2004 - 2005 by Tels http://bloodgate.com

See the LICENSE file for more details.