From 299bd8f8abf422a9715227f1fd6c90ea6b073333 Mon Sep 17 00:00:00 2001 From: franck cuny Date: Sat, 21 May 2011 14:58:09 +0200 Subject: add new roles to handle all the viz elements Signed-off-by: franck cuny --- lib/Graph/GEXF/Role/Viz/Shape.pm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 lib/Graph/GEXF/Role/Viz/Shape.pm (limited to 'lib/Graph/GEXF/Role/Viz/Shape.pm') diff --git a/lib/Graph/GEXF/Role/Viz/Shape.pm b/lib/Graph/GEXF/Role/Viz/Shape.pm new file mode 100644 index 0000000..f522786 --- /dev/null +++ b/lib/Graph/GEXF/Role/Viz/Shape.pm @@ -0,0 +1,28 @@ +package Graph::GEXF::Role::Viz::Shape; + +use Moose::Util::TypeConstraints; +use MooseX::Role::Parameterized; + +enum EdgeShape => qw(solid doted dashed double); +enum NodeShape => qw(disc square triangle diamond); + +parameter for => ( + is => 'ro', + required => 1, +); + +role { + my $p = shift; + + my $type = lcfirst( $p->for ) . 'Shape'; + + has shape => ( + is => 'rw', + isa => $type, + ); +}; + +no Moose::Util::TypeConstraints; + +1; + -- cgit v1.2.3