--- loncom/xml/lonplot.pm 2002/01/01 19:34:25 1.29
+++ loncom/xml/lonplot.pm 2002/01/04 14:30:08 1.32
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Dynamic plot
#
-# $Id: lonplot.pm,v 1.29 2002/01/01 19:34:25 matthew Exp $
+# $Id: lonplot.pm,v 1.32 2002/01/04 14:30:08 matthew Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -26,7 +26,9 @@
# http://www.lon-capa.org/
#
# 12/15/01 Matthew
-# 12/17 12/18 12/19 12/20 12/21 12/27 12/28 12/30 Matthew
+# 12/17 12/18 12/19 12/20 12/21 12/27 12/28 12/30 12/31 Matthew
+# 01/01/02 Matthew
+# 01/02 01/03 Matthew
package Apache::lonplot;
use strict;
@@ -70,6 +72,9 @@ sub BEGIN {
## ##
###################################################################
+my $max_str_len = 50; # if a label, title, xlabel, or ylabel text
+ # is longer than this, it will be truncated.
+
my %linestyles =
(
lines => 2, # Maybe this will be used in the future
@@ -380,11 +385,14 @@ sub start_title {
my $result='';
if ($target eq 'web') {
$title = &Apache::lonxml::get_all_text("/title",$$parser[-1]);
+ if (length($title) > $max_str_len) {
+ $title = substr($title,0,$max_str_len);
+ }
} elsif ($target eq 'edit') {
$result.=&Apache::edit::tag_start($target,$token,'Plot Title');
my $text=&Apache::lonxml::get_all_text("/title",$$parser[-1]);
$result.='
'.
- &Apache::edit::editfield('',$text,'',20,1);
+ &Apache::edit::editfield('',$text,'',60,1);
} elsif ($target eq 'modified') {
my $text=$$parser[-1]->get_text("/title");
$result.=&Apache::edit::modifiedfield($token);
@@ -407,11 +415,14 @@ sub start_xlabel {
my $result='';
if ($target eq 'web') {
$xlabel = &Apache::lonxml::get_all_text("/xlabel",$$parser[-1]);
+ if (length($xlabel) > $max_str_len) {
+ $xlabel = substr($xlabel,0,$max_str_len);
+ }
} elsif ($target eq 'edit') {
$result.=&Apache::edit::tag_start($target,$token,'Plot Xlabel');
my $text=&Apache::lonxml::get_all_text("/xlabel",$$parser[-1]);
$result.=' |
'.
- &Apache::edit::editfield('',$text,'',20,1);
+ &Apache::edit::editfield('',$text,'',60,1);
} elsif ($target eq 'modified') {
my $text=$$parser[-1]->get_text("/xlabel");
$result.=&Apache::edit::modifiedfield($token);
@@ -435,11 +446,14 @@ sub start_ylabel {
my $result='';
if ($target eq 'web') {
$ylabel = &Apache::lonxml::get_all_text("/ylabel",$$parser[-1]);
+ if (length($ylabel) > $max_str_len) {
+ $ylabel = substr($ylabel,0,$max_str_len);
+ }
} elsif ($target eq 'edit') {
$result .= &Apache::edit::tag_start($target,$token,'Plot Ylabel');
my $text = &Apache::lonxml::get_all_text("/ylabel",$$parser[-1]);
$result .= ' |
'.
- &Apache::edit::editfield('',$text,'',20,1);
+ &Apache::edit::editfield('',$text,'',60,1);
} elsif ($target eq 'modified') {
my $text=$$parser[-1]->get_text("/ylabel");
$result.=&Apache::edit::modifiedfield($token);
@@ -465,18 +479,16 @@ sub start_label {
my %label;
&get_attributes(\%label,\%label_defaults,$parstack,$safeeval,
$tagstack->[-1]);
- $label{'text'} = &Apache::lonxml::get_all_text("/label",$$parser[-1]);
- if (! &$words_test($label{'text'})) {
- # I should probably warn about it, too.
- $label{'text'} = 'Illegal text';
- }
+ my $text = &Apache::lonxml::get_all_text("/label",$$parser[-1]);
+ $text = substr($text,0,$max_str_len) if (length($text) > $max_str_len);
+ $label{'text'} = $text;
push(@labels,\%label);
} elsif ($target eq 'edit') {
$result .= &Apache::edit::tag_start($target,$token,'Plot Label');
$result .= &edit_attributes($target,$token,\%label_defaults);
my $text = &Apache::lonxml::get_all_text("/label",$$parser[-1]);
$result .= ' |
'.
- &Apache::edit::editfield('',$text,'',20,1);
+ &Apache::edit::editfield('',$text,'',60,1);
} elsif ($target eq 'modified') {
my $constructtag=&Apache::edit::get_new_args
($token,$parstack,$safeeval,keys(%label_defaults));
@@ -552,7 +564,7 @@ sub start_function {
$result .= &Apache::edit::tag_start($target,$token,'Curve Function');
my $text = &Apache::lonxml::get_all_text("/function",$$parser[-1]);
$result .= ' |
'.
- &Apache::edit::editfield('',$text,'',20,1);
+ &Apache::edit::editfield('',$text,'',60,1);
} elsif ($target eq 'modified') {
# Why do I do this?
my $text=$$parser[-1]->get_text("/function");
@@ -614,7 +626,7 @@ sub start_data {
$result .= &Apache::edit::tag_start($target,$token,'Curve Data');
my $text = &Apache::lonxml::get_all_text("/data",$$parser[-1]);
$result .= ' |
'.
- &Apache::edit::editfield('',$text,'',20,1);
+ &Apache::edit::editfield('',$text,'',60,1);
} elsif ($target eq 'modified') {
my $text=$$parser[-1]->get_text("/data");
$result.=&Apache::edit::modifiedfield($token);
@@ -838,7 +850,7 @@ sub insert_plot {
my $result = '';
# plot attributes
$result .= "{'default'}\"\n";
}
$result .= ">\n";
@@ -857,7 +869,7 @@ sub insert_plot {
sub insert_key {
my $result;
$result .= " {'default'}\"\n";
}
$result .= " />\n";
@@ -867,7 +879,7 @@ sub insert_key {
sub insert_axis{
my $result;
$result .= ' {'default'}\"\n";
}
$result .= " />\n";
@@ -881,7 +893,7 @@ sub insert_ylabel { return "
sub insert_label {
my $result;
$result .= ' |