App-PLab
view release on metacpan or search on metacpan
lib/App/PLab/ImageApp.pm view on Meta::CPAN
$w-> menu-> FileCloseImage-> enabled( defined $w-> {file});
}
sub win_newextras
{
my $w = $_[0];
my $num = $w-> {cypherMask};
my $file = $w->{file};
return unless $file;
my ($fileNum, $fileBeg, $fileEnd, $ff);
if ( $file =~ /(.*)(\d{$num})(\.(?:tif|gif|jpg|bmp|pcx|png))$/i) {
($fileBeg,$fileNum,$fileEnd) = ($1,$2,$3);
$w-> {prevFile} = $ff
if ( $fileNum > 0) && ( -f ($ff = sprintf("%s%0${num}d%s",$fileBeg,$fileNum-1,$fileEnd)));
$w-> {nextFile} = $ff
if ( $fileNum < 10 ** $num - 1) && ( -f ($ff = sprintf("%s%0${num}d%s",$fileBeg,$fileNum+1,$fileEnd)));
$w-> {fileBeg} = $fileBeg;
$w-> {fileEnd} = $fileEnd;
$w-> {fileNum} = int($fileNum);
}
}
lib/App/PLab/ImageApp.pm view on Meta::CPAN
sub win_openfile
{
my $w = $_[0];
my $d = $w-> dlg_file(
cwd => 1,
directory => $w->{ini}->{path},
filterIndex => 0,
multiSelect => 0,
filter => [
['Images' => '*.bmp;*.pcx;*.gif;*.jpg;*.png;*.tif'],
['All files' => '*.*'],
]
);
if ( defined $w->{file} && $w-> {file} =~ /([^\\\/]*)$/) {
my $fname = $1;
my $i = 0;
my @items = @{$d-> Files-> items};
for ( @items) {
last if $fname eq $items[ $i];
$i++;
lib/App/PLab/ImageApp.pm view on Meta::CPAN
sub win_openserfile
{
my $w = $_[0];
my $dir = eval { Cwd::abs_path( $w-> {ini}-> {path})};
$dir = '.' if $@;
$dir = '' unless -d $dir;
my $d = $w->{fileserDlg} ? $w->{fileserDlg} : App::PLab::SerOpenDialog-> create(
owner => $w,
directory => $dir,
filter => [
['Images' => '*.bmp;*.pcx;*.gif;*.jpg;*.png;*.tif'],
['All files' => '*.*'],
]
);
$w-> iv_cancelmode( $w-> IV);
if ( $d-> execute) {
$w-> win_loadfile( $d-> fileName);
}
$w->{fileserDlg} = $d;
}
lib/App/PLab/ImageApp.pm view on Meta::CPAN
}
my ( $min, $max) = ( 0, 10 ** $w-> {cypherMask} - 1);
my ( $fmin, $fmax, $i) = ( $w->{fileNum}, $w->{fileNum});
my @bix = ();
my $num = $w->{cypherMask};
my $fbeg = $w->{fileBeg};
$fbeg =~ s{.*[/\\]([^/\\]*)$}{$1};
for (@d) {
next unless /(.*)(\d{$num})(\.(?:tif|gif|jpg|bmp|pcx|png))$/i;
next unless $1 eq $fbeg and $3 eq $w->{fileEnd};
$bix[ $2] = 1;
}
for ( $i = $w->{fileNum}; $i >= $min; $i--) {
last unless $bix[ $i];
$fmin = $i;
}
for ( $i = $w->{fileNum}; $i <= $max; $i++) {
( run in 1.317 second using v1.01-cache-2.11-cpan-df04353d9ac )