ODF-lpOD
view release on metacpan or search on metacpan
lib/ODF/lpOD/Element.pm view on Meta::CPAN
sub _create { ODF::lpOD::Annotation->create(@_) }
#-----------------------------------------------------------------------------
sub create
{
my $caller = shift;
my %opt = @_;
my $a = ODF::lpOD::Element->create('office:annotation');
$a->set_date($opt{date});
$a->set_author($opt{author});
$a->set_style($opt{style});
$a->set_size($opt{size}) if defined $opt{size};
$a->set_position($opt{position}) if defined $opt{position};
$a->set_display($opt{display});
my $content = $opt{content};
unshift @$content, $opt{text} if defined $opt{text};
$a->set_content(@$content) if $content;
return $a;
}
#-----------------------------------------------------------------------------
sub set_date
{
my $self = shift;
my $date = shift;
my $elt = $self->set_child('dc:date');
unless ($date)
{
return $elt->set_text(iso_date);
}
else
{
my $d = check_odf_value($date, 'date');
unless ($d)
{
alert "Wrong date"; return undef;
}
return $elt->set_text($d);
}
}
sub get_date
{
my $self = shift;
my $elt = $self->first_child('dc:date') or return undef;
return $elt->get_text;
}
sub set_author
{
my $self = shift;
my $elt = $self->set_child('dc:creator');
return $elt->set_text
(
shift
//
(scalar getlogin())
//
(scalar getpwuid($<))
//
$<
);
}
sub get_author
{
my $self = shift;
my $elt = $self->first_child('dc:creator') or return undef;
return $elt->get_text;
}
sub get_content
{
my $self = shift;
return $self->children;
}
sub set_content
{
my $self = shift;
$self->cut_children(qr'^text');
foreach my $arg (@_)
{
if (ref $arg)
{
$arg->paste_last_child($self);
}
else
{
my $p = ODF::lpOD::Paragraph->create(
text => $arg, style => $self->{style}
);
$p->paste_last_child($self);
}
}
return $self->get_content;
}
sub set_style
{
my $self = shift;
return $self->{style} = shift;
}
sub get_style
{
my $self = shift;
return $self->{style};
}
sub set_text
{
my $self = shift;
return $self->set_content(@_);
}
sub get_text
{
my $self = shift;
( run in 1.630 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )