Diff for /loncom/xml/lonplot.pm between versions 1.100 and 1.105

version 1.100, 2004/08/17 17:37:56 version 1.105, 2005/02/24 22:01:40
Line 119  my $words_test     = sub {$_[0]=~s/\s+/ Line 119  my $words_test     = sub {$_[0]=~s/\s+/
 ###################################################################  ###################################################################
 my @gnuplot_edit_order =   my @gnuplot_edit_order = 
     qw/alttag bgcolor fgcolor height width font transparent grid samples       qw/alttag bgcolor fgcolor height width font transparent grid samples 
     border align texwidth texfont plottype/;      border align texwidth texfont plotcolor plottype lmargin rmargin tmargin
       bmargin major_ticscale minor_ticscale/;
   
   my $margin_choices = ['default',0..20];
   
 my %gnuplot_defaults =   my %gnuplot_defaults = 
     (      (
Line 211  my %gnuplot_defaults = Line 214  my %gnuplot_defaults =
          edit_type   => 'choice',           edit_type   => 'choice',
          choices     => [qw/8 10 12 14 16 18 20 22 24 26 28 30 32 34 36/],           choices     => [qw/8 10 12 14 16 18 20 22 24 26 28 30 32 34 36/],
          },           },
        plotcolor   => {
            default     => 'monochrome',
            test        => sub {$_[0]=~/^(monochrome|color|colour)$/},
            description => 'Color setting for printing:',
            edit_type   => 'choice',
            choices     => [qw/monochrome color colour/],
            },
      plottype  => {       plottype  => {
  default     => 'Cartesian',   default     => 'Cartesian',
  test        => sub {$_[0]=~/^(Polar|Cartesian)$/},   test        => sub {$_[0]=~/^(Polar|Cartesian)$/},
Line 218  my %gnuplot_defaults = Line 228  my %gnuplot_defaults =
  edit_type   => 'choice',   edit_type   => 'choice',
          choices     => ['Cartesian','Polar']           choices     => ['Cartesian','Polar']
          },           },
        lmargin   => {
    default     => 'default',
    test        => sub {$_[0]=~/^(default|\d+)$/},
    description => 'Left margin width (pts):',
    edit_type   => 'choice',
            choices     => $margin_choices,
            },
        rmargin   => {
    default     => 'default',
    test        => sub {$_[0]=~/^(default|\d+)$/},
    description => 'Right margin width (pts):',
    edit_type   => 'choice',
            choices     => $margin_choices,
            },
        tmargin   => {
    default     => 'default',
    test        => sub {$_[0]=~/^(default|\d+)$/},
    description => 'Top margin width (pts):',
    edit_type   => 'choice',
            choices     => $margin_choices,
            },
        bmargin   => {
    default     => 'default',
    test        => sub {$_[0]=~/^(default|\d+)$/},
    description => 'Bottom margin width (pts):',
    edit_type   => 'choice',
            choices     => $margin_choices,
            },
        major_ticscale  => {
            default     => '1',
            test        => $real_test,
            description => 'Size of major tic marks (plot coordinates)',
            edit_type   => 'entry',
            size        => '5'
            },
        minor_ticscale  => {
            default     => '0.5',
            test        => $real_test,
            description => 'Size of minor tic mark (plot coordinates)',
            edit_type   => 'entry',
            size        => '5'
            },
      );       );
   
 my %key_defaults =   my %key_defaults = 
Line 984  sub write_gnuplot_file { Line 1036  sub write_gnuplot_file {
     }      }
     # set term      # set term
     if ($target eq 'web') {      if ($target eq 'web') {
  $gnuplot_input .= 'set term gif ';   $gnuplot_input .= 'set term '.$weboutputformat .' ';
  $gnuplot_input .= 'transparent ' if ($plot{'transparent'} eq 'on');   $gnuplot_input .= 'transparent ' if ($plot{'transparent'} eq 'on');
  $gnuplot_input .= $plot{'font'} . ' ';   $gnuplot_input .= $plot{'font'} . ' ';
  $gnuplot_input .= 'size '.$plot{'width'}.','.$plot{'height'}.' ';   $gnuplot_input .= 'size '.$plot{'width'}.','.$plot{'height'}.' ';
Line 992  sub write_gnuplot_file { Line 1044  sub write_gnuplot_file {
  # set output   # set output
  $gnuplot_input .= "set output\n";   $gnuplot_input .= "set output\n";
     } elsif ($target eq 'tex') {      } elsif ($target eq 'tex') {
  $gnuplot_input .= "set term postscript eps monochrome solid \"Helvetica\" $pt \n";   $gnuplot_input .= "set term postscript eps $plot{'plotcolor'} solid \"Helvetica\" $pt \n";
  $gnuplot_input .= "set output \"/home/httpd/perl/tmp/".   $gnuplot_input .= "set output \"/home/httpd/perl/tmp/".
     &Apache::lonnet::unescape($filename).".eps\"\n";      &Apache::lonnet::unescape($filename).".eps\"\n";
     }      }
Line 1002  sub write_gnuplot_file { Line 1054  sub write_gnuplot_file {
     } else {      } else {
         # Assume Cartesian          # Assume Cartesian
     }      }
       # margin
       if (lc($plot{'lmargin'}) ne 'default') {
           $gnuplot_input .= 'set lmargin '.$plot{'lmargin'}.$/;
       }
       if (lc($plot{'rmargin'}) ne 'default') {
           $gnuplot_input .= 'set rmargin '.$plot{'rmargin'}.$/;
       }
       if (lc($plot{'tmargin'}) ne 'default') {
           $gnuplot_input .= 'set tmargin '.$plot{'tmargin'}.$/;
       }
       if (lc($plot{'bmargin'}) ne 'default') {
           $gnuplot_input .= 'set bmargin '.$plot{'bmargin'}.$/;
       }
       # tic scales
       $gnuplot_input .= 'set ticscale '.
           $plot{'major_ticscale'}.' '.$plot{'minor_ticscale'}.$/;
     # grid      # grid
     $gnuplot_input .= 'set grid'.$/ if ($plot{'grid'} eq 'on');      $gnuplot_input .= 'set grid'.$/ if ($plot{'grid'} eq 'on');
     # border      # border
Line 1061  sub write_gnuplot_file { Line 1129  sub write_gnuplot_file {
     my $label;      my $label;
     foreach $label (@labels) {      foreach $label (@labels) {
  $gnuplot_input .= 'set label "'.$label->{'text'}.'" at '.   $gnuplot_input .= 'set label "'.$label->{'text'}.'" at '.
     $label->{'xpos'}.','.$label->{'ypos'}.' '.$label->{'justify'}.' font "Helvetica,'.$pt.'pt"'.$/ ;      $label->{'xpos'}.','.$label->{'ypos'}.' '.$label->{'justify'};
           if ($target eq 'tex') {
               $gnuplot_input .=' font "Helvetica,'.$pt.'pt"' ;
           }
           $gnuplot_input .= $/;
     }      }
     if ($target eq 'tex') {      if ($target eq 'tex') {
         $gnuplot_input .="set size 1,".$plot{'height'}/$plot{'width'}*1.38;          $gnuplot_input .="set size 1,".$plot{'height'}/$plot{'width'}*1.38;
Line 1172  sub edit_attributes { Line 1244  sub edit_attributes {
  ($description,$attr,$token,   ($description,$attr,$token,
  $defaults->{$attr}->{'size'});   $defaults->{$attr}->{'size'});
  } elsif ($defaults->{$attr}->{'edit_type'} eq 'choice') {   } elsif ($defaults->{$attr}->{'edit_type'} eq 'choice') {
     $result .= &Apache::edit::select_arg      $result .= &Apache::edit::select_or_text_arg
  ($description,$attr,$defaults->{$attr}->{'choices'},$token);   ($description,$attr,$defaults->{$attr}->{'choices'},$token);
  } elsif ($defaults->{$attr}->{'edit_type'} eq 'onoff') {   } elsif ($defaults->{$attr}->{'edit_type'} eq 'onoff') {
     $result .= &Apache::edit::select_arg      $result .= &Apache::edit::select_or_text_arg
  ($description,$attr,['on','off'],$token);   ($description,$attr,['on','off'],$token);
  }   }
  $result .= '<br />';   $result .= '<br />';

Removed from v.1.100  
changed lines
  Added in v.1.105


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>