[LON-CAPA-cvs] cvs: loncom /xml londefdef.pm
foxr
lon-capa-cvs@mail.lon-capa.org
Wed, 29 Dec 2004 11:39:26 -0000
foxr Wed Dec 29 06:39:26 2004 EDT
Modified files:
/loncom/xml londefdef.pm
Log:
Add support for TexWrap to edit target.
Index: loncom/xml/londefdef.pm
diff -u loncom/xml/londefdef.pm:1.248 loncom/xml/londefdef.pm:1.249
--- loncom/xml/londefdef.pm:1.248 Mon Dec 27 09:06:32 2004
+++ loncom/xml/londefdef.pm Wed Dec 29 06:39:25 2004
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Tags Default Definition Module
#
-# $Id: londefdef.pm,v 1.248 2004/12/27 14:06:32 foxr Exp $
+# $Id: londefdef.pm,v 1.249 2004/12/29 11:39:25 foxr Exp $
#
#
# Copyright Michigan State University Board of Trustees
@@ -2420,6 +2420,16 @@
}
#-- <img> tag (end tag forbidden)
+#
+# Render the <IMG> tag.
+# <IMG> has the following attributes (in addition to the
+# standard HTML ones:
+# TeXwrap - Governs how the tex target will try to wrap text around
+# horizontally aligned images.
+# TeXwidth - The width of the image when rendered for print (mm).
+# TeXheight - The height of the image when rendered for print (mm)
+# (Note there seems to also be support for this as a % of page size)
+#
sub start_img {
my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
my $src = &Apache::lonxml::get_param('src',$parstack,$safeeval,
@@ -2431,6 +2441,9 @@
$Apache::lonxml::extlinks[$#Apache::lonxml::extlinks+1]=$src;
my $currentstring = '';
my $scaling = .3;
+
+ # Render unto browsers that which are the browser's...
+
if ($target eq 'web') {
if ($ENV{'browser.imagesuppress'} ne 'on') {
$currentstring.= $token->[4];
@@ -2443,6 +2456,9 @@
}
$currentstring.='[IMAGE: '.$alttag.']';
}
+
+ # and render unto TeX that which is LaTeX
+
} elsif ($target eq 'tex') {
#
# The alignment will require some superstructure to be put around
@@ -2553,6 +2569,11 @@
#<allow> tag will care about replication
}
}
+
+ # And here's where the semi-quote breaks down: allow the user
+ # to edit the beast as well by rendering the problem for edit:
+
+
} elsif ($target eq 'edit') {
$currentstring .=&Apache::edit::tag_start($target,$token);
$currentstring .=&Apache::edit::text_arg('Image Url:','src',$token,70).
@@ -2565,11 +2586,15 @@
$currentstring .=&Apache::edit::text_arg('TeXheight (mm):','TeXheight',$token,5);
$currentstring .=&Apache::edit::select_arg('Alignment:','align',
['','bottom','middle','top','left','right'],$token,5);
+ $currentstring .=&Apache::edit::select_arg('TeXwrap:', 'TeXwrap',
+ ['', 'parbox', 'parpic'], $token, 2);
$currentstring .=&Apache::edit::end_row().&Apache::edit::start_spanning_row();
- my $src=&Apache::lonxml::get_param('src',$parstack,$safeeval);
- my $alt=&Apache::lonxml::get_param('alt',$parstack,$safeeval);
- my $width=&Apache::lonxml::get_param('width',$parstack,$safeeval);
- my $height=&Apache::lonxml::get_param('height',$parstack,$safeeval);
+ my $src= &Apache::lonxml::get_param('src',$parstack,$safeeval);
+ my $alt= &Apache::lonxml::get_param('alt',$parstack,$safeeval);
+ my $width= &Apache::lonxml::get_param('width',$parstack,$safeeval);
+ my $height= &Apache::lonxml::get_param('height',$parstack,$safeeval);
+
+
$currentstring .= '<img src="'.$src.'" alt="'.$alt.'" ';
if ($width) { $currentstring.=' width="'.$width.'" '; }
if ($height) { $currentstring.=' height="'.$height.'" '; }
@@ -2579,7 +2604,7 @@
($token->[2]{'src'},$token->[2]{'width'},$token->[2]{'height'});
my $ctag=&Apache::edit::get_new_args($token,$parstack,
$safeeval,'src','alt','align',
- 'TeXwidth','TeXheight',
+ 'TeXwidth','TeXheight', 'TeXwrap',
'width','height');
my ($nsrc,$nwidth,$nheight)=
($token->[2]{'src'},$token->[2]{'width'},$token->[2]{'height'});