File: Tree.pm

package info (click to toggle)
libsvg-graph-perl 0.02-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid, trixie
  • size: 616 kB
  • sloc: perl: 2,793; makefile: 2
file content (130 lines) | stat: -rw-r--r-- 1,579 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
package SVG::Graph::Data::Tree;

use strict;
use SVG::Graph::File::Tree;
use SVG::Graph::Data::Node;

=head1 NAME

SVG::Graph::Data::Tree - SVG::Graph::Data::Tree object

=head1 METHODS

=head2 new

 Title   : new
 Usage   :
 Function:
 Example :
 Returns : 
 Args    :


=cut

sub new {
  my($class, @args) = @_;
  my $self = bless {}, $class;
  $self->init(@args);
  return $self;
}

=head2 init

 Title   : init
 Usage   :
 Function:
 Example :
 Returns : 
 Args    :


=cut

sub init {
  my($self, %args) = @_;

  $self->root(SVG::Graph::Data::Node->new);
  $self->root->name('root');

  foreach my $arg (keys %args) {
	$self->$arg($args{$arg});
  }
}

=head2 depth

 Title   : depth
 Usage   :
 Function:
 Example :
 Returns : 
 Args    :


=cut

sub depth{
   my ($self,@args) = @_;

   return $self->root->depth;
}

=head2 root

 Title   : root
 Usage   : $obj->root($newval)
 Function: 
 Example : 
 Returns : value of root (a scalar)
 Args    : on set, new value (a scalar or undef, optional)


=cut

sub root{
    my $self = shift;

    return $self->{'root'} = shift if @_;
    return $self->{'root'};
}

=head2 new_node

 Title   : new_node
 Usage   :
 Function:
 Example :
 Returns : 
 Args    :


=cut

sub new_node{
   my ($self,@args) = @_;

   return SVG::Graph::Data::Node->new(@args);
}

=head2 read_file

 Title   : read_file
 Usage   :
 Function:
 Example :
 Returns : 
 Args    :


=cut

sub read_file{
   my ($self,%args) = @_;
   my $tree_file = SVG::Graph::File::Tree->new;
   $tree_file->read_data(%args);
   $self->root($tree_file->get_root());
}


1;