Diff for /loncom/xml/lonplot.pm between versions 1.35 and 1.39

version 1.35, 2002/01/09 16:51:51 version 1.39, 2002/01/11 16:34:06
Line 119  my $words_test     = sub {$_[0]=~s/\s+/ Line 119  my $words_test     = sub {$_[0]=~s/\s+/
 ##                                                               ##  ##                                                               ##
 ###################################################################  ###################################################################
 my @plot_edit_order =   my @plot_edit_order = 
     qw/bgcolor fgcolor height width font transparent grid border/;      qw/bgcolor fgcolor height width font transparent grid border align/;
 my %plot_defaults =   my %plot_defaults = 
     (      (
      height       => {       height       => {
  default     => 200,   default     => 200,
  test        => $int_test,   test        => $int_test,
  description => 'height of image (pixels)',   description => 'height of image (pixels)',
  edit_type   => 'entry'         edit_type   => 'entry',
    size        => '10'
  },   },
      width        => {       width        => {
  default     => 200,   default     => 200,
  test        => $int_test,   test        => $int_test,
  description => 'width of image (pixels)',   description => 'width of image (pixels)',
  edit_type   => 'entry'   edit_type   => 'entry',
    size        => '10'
  },   },
      bgcolor      => {       bgcolor      => {
  default     => 'xffffff',   default     => 'xffffff',
  test        => $color_test,    test        => $color_test, 
  description => 'background color of image (xffffff)',   description => 'background color of image (xffffff)',
  edit_type   => 'entry'   edit_type   => 'entry',
    size        => '10'
  },   },
      fgcolor      => {       fgcolor      => {
  default     => 'x000000',   default     => 'x000000',
  test        => $color_test,   test        => $color_test,
  description => 'foreground color of image (x000000)',   description => 'foreground color of image (x000000)',
  edit_type   => 'entry'    edit_type   => 'entry',
    size        => '10'
  },   },
      transparent  => {       transparent  => {
  default     => 'off',   default     => 'off',
Line 186  my %key_defaults = Line 190  my %key_defaults =
  default => '',   default => '',
  test => $words_test,   test => $words_test,
  description => 'Title of key',   description => 'Title of key',
  edit_type   => 'entry'   edit_type   => 'entry',
    size        => '40'
  },   },
      box   => {        box   => { 
  default => 'off',   default => 'off',
Line 210  my %label_defaults = Line 215  my %label_defaults =
  default => 0,   default => 0,
  test => $real_test,   test => $real_test,
  description => 'x position of label (graph coordinates)',   description => 'x position of label (graph coordinates)',
  edit_type   => 'entry'   edit_type   => 'entry',
    size        => '10'
  },   },
      ypos    => {       ypos    => {
  default => 0,    default => 0, 
  test => $real_test,   test => $real_test,
  description => 'y position of label (graph coordinates)',   description => 'y position of label (graph coordinates)',
  edit_type   => 'entry'   edit_type   => 'entry',
    size        => '10'
  },   },
      justify => {       justify => {
  default => 'left',       default => 'left',    
Line 233  my %axis_defaults = Line 240  my %axis_defaults =
  default => 'x000000',    default => 'x000000', 
  test => $color_test,   test => $color_test,
  description => 'color of axes (x000000)',   description => 'color of axes (x000000)',
  edit_type   => 'entry'   edit_type   => 'entry',
    size        => '10'
  },   },
      xmin      => {       xmin      => {
  default => '-10.0',   default => '-10.0',
  test => $real_test,   test => $real_test,
  description => 'minimum x-value shown in plot',   description => 'minimum x-value shown in plot',
  edit_type   => 'entry'   edit_type   => 'entry',
    size        => '10'
  },   },
      xmax      => {       xmax      => {
  default => ' 10.0',   default => ' 10.0',
  test => $real_test,   test => $real_test,
  description => 'maximum x-value shown in plot',     description => 'maximum x-value shown in plot',  
  edit_type   => 'entry'   edit_type   => 'entry',
    size        => '10'
  },   },
      ymin      => {       ymin      => {
  default => '-10.0',   default => '-10.0',
  test => $real_test,   test => $real_test,
  description => 'minimum y-value shown in plot',     description => 'minimum y-value shown in plot',  
  edit_type   => 'entry'   edit_type   => 'entry',
    size        => '10'
  },   },
      ymax      => {       ymax      => {
  default => ' 10.0',   default => ' 10.0',
  test => $real_test,   test => $real_test,
  description => 'maximum y-value shown in plot',     description => 'maximum y-value shown in plot',  
  edit_type   => 'entry'   edit_type   => 'entry',
    size        => '10'
  }   }
      );       );
   
Line 267  my %curve_defaults = Line 279  my %curve_defaults =
  default => 'x000000',   default => 'x000000',
  test => $color_test,   test => $color_test,
  description => 'color of curve (x000000)',   description => 'color of curve (x000000)',
  edit_type   => 'entry'   edit_type   => 'entry',
    size        => '10'
  },   },
      name      => {       name      => {
  default => '',   default => '',
  test => $words_test,   test => $words_test,
  description => 'name of curve to appear in key',   description => 'name of curve to appear in key',
  edit_type   => 'entry'   edit_type   => 'entry',
    size        => '20'
  },   },
      linestyle => {       linestyle => {
  default => 'lines',   default => 'lines',
  test => $linestyle_test,   test => $linestyle_test,
  description => 'Line style',   description => 'Line style',
  edit_type   => 'choice',   edit_type   => 'choice',
  choices     => ['lines','linespoints','dots','points','steps',   choices     => [keys(%linestyles)]
  'fsteps','histeps','errorbars','xerrorbars',  
  'yerrorbars','xyerrorbars','boxes','boxerrorbars',  
  'boxxyerrorbars','financebars','candlesticks',  
  'vector']  
  }   }
      );       );
   
Line 320  sub start_plot { Line 330  sub start_plot {
     ($token,$parstack,$safeeval,keys(%plot_defaults));      ($token,$parstack,$safeeval,keys(%plot_defaults));
  if ($constructtag) {   if ($constructtag) {
     $result = &Apache::edit::rebuild_tag($token);      $result = &Apache::edit::rebuild_tag($token);
 #    $result.= &Apache::edit::handle_insert();  
  }   }
     }      }
     return $result;      return $result;
Line 401  sub start_title { Line 410  sub start_title {
     } elsif ($target eq 'edit') {      } elsif ($target eq 'edit') {
  $result.=&Apache::edit::tag_start($target,$token,'Plot Title');   $result.=&Apache::edit::tag_start($target,$token,'Plot Title');
  my $text=&Apache::lonxml::get_all_text("/title",$$parser[-1]);   my $text=&Apache::lonxml::get_all_text("/title",$$parser[-1]);
  $result.='</td></tr><tr><td colspan="3">'.   $result.=&Apache::edit::end_row().
       &Apache::edit::start_spanning_row().
     &Apache::edit::editfield('',$text,'',60,1);      &Apache::edit::editfield('',$text,'',60,1);
     } elsif ($target eq 'modified') {      } elsif ($target eq 'modified') {
  my $text=$$parser[-1]->get_text("/title");   my $text=$$parser[-1]->get_text("/title");
Line 431  sub start_xlabel { Line 441  sub start_xlabel {
     } elsif ($target eq 'edit') {      } elsif ($target eq 'edit') {
  $result.=&Apache::edit::tag_start($target,$token,'Plot Xlabel');   $result.=&Apache::edit::tag_start($target,$token,'Plot Xlabel');
  my $text=&Apache::lonxml::get_all_text("/xlabel",$$parser[-1]);   my $text=&Apache::lonxml::get_all_text("/xlabel",$$parser[-1]);
  $result.='</td></tr><tr><td colspan="3">'.   $result.=&Apache::edit::end_row().
       &Apache::edit::start_spanning_row().
     &Apache::edit::editfield('',$text,'',60,1);      &Apache::edit::editfield('',$text,'',60,1);
     } elsif ($target eq 'modified') {      } elsif ($target eq 'modified') {
  my $text=$$parser[-1]->get_text("/xlabel");   my $text=$$parser[-1]->get_text("/xlabel");
Line 462  sub start_ylabel { Line 473  sub start_ylabel {
     } elsif ($target eq 'edit') {      } elsif ($target eq 'edit') {
  $result .= &Apache::edit::tag_start($target,$token,'Plot Ylabel');   $result .= &Apache::edit::tag_start($target,$token,'Plot Ylabel');
  my $text = &Apache::lonxml::get_all_text("/ylabel",$$parser[-1]);   my $text = &Apache::lonxml::get_all_text("/ylabel",$$parser[-1]);
  $result .= '</td></tr><tr><td colspan="3">'.   $result .= &Apache::edit::end_row().
       &Apache::edit::start_spanning_row().
     &Apache::edit::editfield('',$text,'',60,1);      &Apache::edit::editfield('',$text,'',60,1);
     } elsif ($target eq 'modified') {      } elsif ($target eq 'modified') {
  my $text=$$parser[-1]->get_text("/ylabel");   my $text=$$parser[-1]->get_text("/ylabel");
Line 497  sub start_label { Line 509  sub start_label {
  $result .= &Apache::edit::tag_start($target,$token,'Plot Label');   $result .= &Apache::edit::tag_start($target,$token,'Plot Label');
  $result .= &edit_attributes($target,$token,\%label_defaults);   $result .= &edit_attributes($target,$token,\%label_defaults);
  my $text = &Apache::lonxml::get_all_text("/label",$$parser[-1]);   my $text = &Apache::lonxml::get_all_text("/label",$$parser[-1]);
  $result .= '</td></tr><tr><td colspan="3">'.   $result .= &Apache::edit::end_row().
       &Apache::edit::start_spanning_row().
     &Apache::edit::editfield('',$text,'',60,1);      &Apache::edit::editfield('',$text,'',60,1);
     } elsif ($target eq 'modified') {      } elsif ($target eq 'modified') {
  my $constructtag=&Apache::edit::get_new_args   my $constructtag=&Apache::edit::get_new_args
Line 571  sub start_function { Line 584  sub start_function {
  $curves[-1]->{'function'} =    $curves[-1]->{'function'} = 
     &Apache::lonxml::get_all_text("/function",$$parser[-1]);      &Apache::lonxml::get_all_text("/function",$$parser[-1]);
     } elsif ($target eq 'edit') {      } elsif ($target eq 'edit') {
  $result .= &Apache::edit::tag_start($target,$token,'Curve Function');   $result .= &Apache::edit::tag_start($target,$token,'Gnuplot compatible curve function');
  my $text = &Apache::lonxml::get_all_text("/function",$$parser[-1]);   my $text = &Apache::lonxml::get_all_text("/function",$$parser[-1]);
  $result .= '</td></tr><tr><td colspan="3">'.   $result .= &Apache::edit::end_row().
       &Apache::edit::start_spanning_row().
     &Apache::edit::editfield('',$text,'',60,1);      &Apache::edit::editfield('',$text,'',60,1);
     } elsif ($target eq 'modified') {      } elsif ($target eq 'modified') {
  # Why do I do this?   # Why do I do this?
Line 633  sub start_data { Line 647  sub start_data {
  }   }
  # complain if the number of data points is not the same as   # complain if the number of data points is not the same as
  # in previous sets of data.   # in previous sets of data.
  if (($curves[-1]->{'data'}) && ($#data != $#{$curves[-1]->{'data'}})){   if (($curves[-1]->{'data'}) && ($#data != $#{@{$curves[-1]->{'data'}->[0]}})){
     &Apache::lonxml::warning      &Apache::lonxml::warning
  ('Number of data points is not consistent with previous '.   ('Number of data points is not consistent with previous '.
  'number of data points');   'number of data points');
  }   }
  push  @{$curves[-1]->{'data'}},\@data;   push  @{$curves[-1]->{'data'}},\@data;
     } elsif ($target eq 'edit') {      } elsif ($target eq 'edit') {
  $result .= &Apache::edit::tag_start($target,$token,'Curve Data');   $result .= &Apache::edit::tag_start($target,$token,'Comma or space deliminated curve data');
  my $text = &Apache::lonxml::get_all_text("/data",$$parser[-1]);   my $text = &Apache::lonxml::get_all_text("/data",$$parser[-1]);
  $result .= '</td></tr><tr><td colspan="3">'.   $result .= &Apache::edit::end_row().
       &Apache::edit::start_spanning_row().
     &Apache::edit::editfield('',$text,'',60,1);      &Apache::edit::editfield('',$text,'',60,1);
     } elsif ($target eq 'modified') {      } elsif ($target eq 'modified') {
  my $text=$$parser[-1]->get_text("/data");   my $text=$$parser[-1]->get_text("/data");
Line 848  sub edit_attributes { Line 863  sub edit_attributes {
  $description .= ' ' if ($description !~ / $/);   $description .= ' ' if ($description !~ / $/);
  if ($defaults->{$attr}->{'edit_type'} eq 'entry') {   if ($defaults->{$attr}->{'edit_type'} eq 'entry') {
     $result .= &Apache::edit::text_arg      $result .= &Apache::edit::text_arg
  ($description,$attr,$token);   ($description,$attr,$token,
    $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_arg
  ($description,$attr,$defaults->{$attr}->{'choices'},$token);   ($description,$attr,$defaults->{$attr}->{'choices'},$token);

Removed from v.1.35  
changed lines
  Added in v.1.39


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