PPresenter
view release on metacpan or search on metacpan
PPresenter/Export.pm view on Meta::CPAN
map {$export->{vp}{$_} ? ("$_") : ()}
keys %{$export->{vp}};
}
sub tkSlideSelector($)
{ my ($export, $parent) = @_;
$parent->Optionmenu
( -options => [ 'selected slides', 'current slide', 'all slides' ]
, -command => sub { $export->setSelectedSlide(shift) }
);
}
sub setSelectedSlide($)
{ my ($export, $option) = @_;
$export->{-exportSlide} = $option eq 'current slide' ? 'CURRENT'
: $option eq 'selected slides' ? 'ACTIVE'
: $option eq 'all slides' ? 'ALL'
: die "Unknown export option `$option'.\n";
}
sub selectedSlides($)
{ my ($export, $show) = @_;
my $slides = $export->{-exportSlide};
return $show->current if $slides eq 'CURRENT';
return $show->activeSlides if $slides eq 'ACTIVE';
return $show->slides if $slides eq 'ALL';
die "-exportSlide shall contain CURRENT, ACTIVE, or ALL, not $slides.\n";
}
sub createDirectory($$)
{ my ($export, $parent, $directory) = @_;
return 1 if -d $directory || mkdir $directory, 0755;
$parent->Dialog
( -title => 'Export images'
, -text =>
"Directory $directory does not exist, and it can not be created either."
, -buttons => [ 'Bummer' ]
, -bitmap => 'error'
)->Show('-global');
return 0;
}
sub optionlist($$@)
{ my ($export, $parent, $flag) = splice @_, 0, 3;
my $default = $export->{$flag};
die "Cannot find default $default for flag $flag.\n"
unless grep {$default eq $_} @_;
$parent->Optionmenu
( -options => [ $default, grep {$_ ne $default} @_ ]
, -variable => \$export->{$flag}
);
}
sub popup($$)
{ my ($export, $show, $screen) = @_;
$export->popup($show, $screen)
->Popup(-popover => 'cursor');
}
1;
( run in 0.682 second using v1.01-cache-2.11-cpan-364913b4093 )