[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'});