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 )