line |
stmt |
bran |
cond |
sub |
pod |
time |
code |
1
|
|
|
|
|
|
|
package Gtk2::Ex::MindMapView::ContentFactory; |
2
|
|
|
|
|
|
|
|
3
|
|
|
|
|
|
|
our $VERSION = '0.000001'; |
4
|
|
|
|
|
|
|
|
5
|
9
|
|
|
9
|
|
54
|
use warnings; |
|
9
|
|
|
|
|
16
|
|
|
9
|
|
|
|
|
312
|
|
6
|
9
|
|
|
9
|
|
50
|
use strict; |
|
9
|
|
|
|
|
14
|
|
|
9
|
|
|
|
|
1081
|
|
7
|
9
|
|
|
9
|
|
47
|
use Carp; |
|
9
|
|
|
|
|
32
|
|
|
9
|
|
|
|
|
709
|
|
8
|
|
|
|
|
|
|
|
9
|
9
|
|
|
9
|
|
6765
|
use Gtk2::Ex::MindMapView::Content::EllipsisText; |
|
0
|
|
|
|
|
|
|
|
0
|
|
|
|
|
|
|
10
|
|
|
|
|
|
|
use Gtk2::Ex::MindMapView::Content::Picture; |
11
|
|
|
|
|
|
|
use Gtk2::Ex::MindMapView::Content::Uri; |
12
|
|
|
|
|
|
|
|
13
|
|
|
|
|
|
|
use Gtk2::Ex::MindMapView::ArgUtils; |
14
|
|
|
|
|
|
|
|
15
|
|
|
|
|
|
|
use List::Util; |
16
|
|
|
|
|
|
|
|
17
|
|
|
|
|
|
|
use Glib ':constants'; |
18
|
|
|
|
|
|
|
|
19
|
|
|
|
|
|
|
sub new |
20
|
|
|
|
|
|
|
{ |
21
|
|
|
|
|
|
|
my $class = shift(@_); |
22
|
|
|
|
|
|
|
|
23
|
|
|
|
|
|
|
my @attributes = @_; |
24
|
|
|
|
|
|
|
|
25
|
|
|
|
|
|
|
my $self = {}; |
26
|
|
|
|
|
|
|
|
27
|
|
|
|
|
|
|
bless $self, $class; |
28
|
|
|
|
|
|
|
|
29
|
|
|
|
|
|
|
my %attributes = @attributes; |
30
|
|
|
|
|
|
|
|
31
|
|
|
|
|
|
|
args_valid(\%attributes, qw(view font_desc text_color_gdk)); |
32
|
|
|
|
|
|
|
|
33
|
|
|
|
|
|
|
args_required(\%attributes, qw(view)); |
34
|
|
|
|
|
|
|
|
35
|
|
|
|
|
|
|
args_store($self, \%attributes); |
36
|
|
|
|
|
|
|
|
37
|
|
|
|
|
|
|
if (!($self->{view}->isa('Gtk2::Ex::MindMapView'))) |
38
|
|
|
|
|
|
|
{ |
39
|
|
|
|
|
|
|
carp "Invalid Gtk2::Ex::MindMapView argument.\n"; |
40
|
|
|
|
|
|
|
} |
41
|
|
|
|
|
|
|
|
42
|
|
|
|
|
|
|
arg_default($self, "font_desc", Gtk2::Pango::FontDescription->from_string("Ariel Normal 10")); |
43
|
|
|
|
|
|
|
|
44
|
|
|
|
|
|
|
arg_default($self, "text_color_gdk", Gtk2::Gdk::Color->parse('black')); |
45
|
|
|
|
|
|
|
|
46
|
|
|
|
|
|
|
return $self; |
47
|
|
|
|
|
|
|
} |
48
|
|
|
|
|
|
|
|
49
|
|
|
|
|
|
|
|
50
|
|
|
|
|
|
|
sub create_content |
51
|
|
|
|
|
|
|
{ |
52
|
|
|
|
|
|
|
my ($self, @attributes) = @_; |
53
|
|
|
|
|
|
|
|
54
|
|
|
|
|
|
|
my %attributes = @attributes; |
55
|
|
|
|
|
|
|
|
56
|
|
|
|
|
|
|
args_valid(\%attributes, qw(type text uri pixbuf browser font_desc text_color_gdk)); |
57
|
|
|
|
|
|
|
|
58
|
|
|
|
|
|
|
args_required(\%attributes, qw(type)); |
59
|
|
|
|
|
|
|
|
60
|
|
|
|
|
|
|
my $type = $attributes{type}; |
61
|
|
|
|
|
|
|
|
62
|
|
|
|
|
|
|
my $text = $attributes{text}; |
63
|
|
|
|
|
|
|
|
64
|
|
|
|
|
|
|
my $uri = $attributes{uri}; |
65
|
|
|
|
|
|
|
|
66
|
|
|
|
|
|
|
my $browser = $attributes{browser}; |
67
|
|
|
|
|
|
|
|
68
|
|
|
|
|
|
|
my $pixbuf = $attributes{pixbuf}; |
69
|
|
|
|
|
|
|
|
70
|
|
|
|
|
|
|
my $font_desc = (defined $attributes{font_desc}) ? |
71
|
|
|
|
|
|
|
$attributes{font_desc} : $self->{font_desc}; |
72
|
|
|
|
|
|
|
|
73
|
|
|
|
|
|
|
my $text_color_gdk = (defined $attributes{text_color_gdk}) ? |
74
|
|
|
|
|
|
|
$attributes{text_color_gdk} : $self->{text_color_gdk}; |
75
|
|
|
|
|
|
|
|
76
|
|
|
|
|
|
|
if ($type eq 'Gtk2::Ex::MindMapView::Content::EllipsisText') |
77
|
|
|
|
|
|
|
{ |
78
|
|
|
|
|
|
|
return Gtk2::Ex::MindMapView::Content::EllipsisText->new( |
79
|
|
|
|
|
|
|
group=>$self->{view}->root, |
80
|
|
|
|
|
|
|
text=>$text, |
81
|
|
|
|
|
|
|
font_desc=>$font_desc, |
82
|
|
|
|
|
|
|
text_color_gdk=>$text_color_gdk); |
83
|
|
|
|
|
|
|
} |
84
|
|
|
|
|
|
|
|
85
|
|
|
|
|
|
|
if ($type eq 'Gtk2::Ex::MindMapView::Content::Picture') |
86
|
|
|
|
|
|
|
{ |
87
|
|
|
|
|
|
|
return Gtk2::Ex::MindMapView::Content::Picture->new( |
88
|
|
|
|
|
|
|
group=>$self->{view}->root, |
89
|
|
|
|
|
|
|
pixbuf=>$pixbuf); |
90
|
|
|
|
|
|
|
} |
91
|
|
|
|
|
|
|
|
92
|
|
|
|
|
|
|
|
93
|
|
|
|
|
|
|
if ($type eq 'Gtk2::Ex::MindMapView::Content::Uri') |
94
|
|
|
|
|
|
|
{ |
95
|
|
|
|
|
|
|
return Gtk2::Ex::MindMapView::Content::Uri->new( |
96
|
|
|
|
|
|
|
group=>$self->{view}->root, |
97
|
|
|
|
|
|
|
browser=>$browser, |
98
|
|
|
|
|
|
|
text=>$text, uri=>$uri, |
99
|
|
|
|
|
|
|
font_desc=>$font_desc, |
100
|
|
|
|
|
|
|
text_color_gdk=>$text_color_gdk); |
101
|
|
|
|
|
|
|
} |
102
|
|
|
|
|
|
|
|
103
|
|
|
|
|
|
|
croak "Unexpected content type: $type\n"; |
104
|
|
|
|
|
|
|
} |
105
|
|
|
|
|
|
|
|
106
|
|
|
|
|
|
|
|
107
|
|
|
|
|
|
|
1; # Magic true value required at end of module |
108
|
|
|
|
|
|
|
__END__ |