[LON-CAPA-cvs] cvs: loncom /xml londefdef.pm

sakharuk lon-capa-cvs@mail.lon-capa.org
Wed, 16 Apr 2003 19:20:51 -0000


sakharuk		Wed Apr 16 15:20:51 2003 EDT

  Modified files:              
    /loncom/xml	londefdef.pm 
  Log:
   Better variant but still needs some work to put nested tables in the correct place in the parent table.
  
  
Index: loncom/xml/londefdef.pm
diff -u loncom/xml/londefdef.pm:1.126 loncom/xml/londefdef.pm:1.127
--- loncom/xml/londefdef.pm:1.126	Wed Apr 16 13:59:01 2003
+++ loncom/xml/londefdef.pm	Wed Apr 16 15:20:51 2003
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Tags Default Definition Module 
 #
-# $Id: londefdef.pm,v 1.126 2003/04/16 17:59:01 sakharuk Exp $
+# $Id: londefdef.pm,v 1.127 2003/04/16 19:20:51 sakharuk Exp $
 # 
 #
 # Copyright Michigan State University Board of Trustees
@@ -1696,9 +1696,14 @@
 #-- <table> tag
 sub start_table {
     my ($target,$token,$tagstack,$parstack,$parser,$safeeval) = @_;
-    my $textwidth=&recalc($ENV{'form.textwidth'});
-    $textwidth=~/(\d+)/;
-    $textwidth=$1;
+    my $textwidth;
+    if ($#Apache::londefdef::table==0) {
+	$textwidth=&recalc($ENV{'form.textwidth'});
+	$textwidth=~/(\d+)/;
+	$textwidth=$1;
+    } else {
+	$textwidth=&Apache::lonxml::get_param('TeXwidth',$parstack,$safeeval,undef,0);
+    }
     my $currentstring = '';
     if ($target eq 'web') {
 	$currentstring = $token->[4];     
@@ -1784,8 +1789,6 @@
 	    }
 	}
 	$needed=$#length_row_final-$needed+1;
-	$currentstring.=' SSSSS '.$needed.' EEEEE \\\\';
-	$currentstring.=' SSSSS '.$available_length.' EEEEE \\\\';
 	for (my $jn=0;$jn<=$#length_row_final;$jn++) {
 	    if ($length_row_final[$jn]==0) {
 		if ($length_raw_row[$jn]<$available_length/3) {
@@ -1800,10 +1803,6 @@
 		$length_row_final[$jn]=0.9*$available_length/$needed;
 	    }
 	}
-	for (my $jn=0;$jn<=$#length_row_final;$jn++) {
-	    $currentstring.=' SSSSS '.$length_row_final[$jn].' EEEEE \\\\';
-	    $currentstring.=' JJJJJJJ '.$length_raw_row[$jn].' HHHHHHH \\\\';
-	}
 	#fill the table
 	for (my $in=0;$in<=$Apache::londefdef::table[-1]{'row_number'};$in++) {
 	    for (my $jn=0;$jn<=$#length_row_final;$jn++) {
@@ -1815,7 +1814,15 @@
 	    $output .= ' \\\\ ';
 	}
 	$Apache::londefdef::table[-1]{'output'} .= $header_of_table.$output.$Apache::londefdef::table[-1]{'hinc'}.'\end{tabular}\vskip 0 mm ';
-	$currentstring .= $Apache::londefdef::table[-1]{'output'};
+	if ($#Apache::londefdef::table > 0) {	    
+	    my $inmemory = $Apache::londefdef::table[-1]{'output'};
+	    pop @Apache::londefdef::table;
+	    $Apache::londefdef::table[-1]{'rowdata'}[$Apache::londefdef::table[-1]{'row_number'}] .= $inmemory; ###Need to work with (wrong place to add)
+
+	} else {
+	    $currentstring .= $Apache::londefdef::table[-1]{'output'};
+	    pop @Apache::londefdef::table;
+	}
     }
     return $currentstring;
 }
@@ -1902,8 +1909,8 @@
 		$Apache::londefdef::table[-1]{'TeXlength'} .= '0,';
 	    }        
 	}                                
-	@{ $Apache::londefdef::table[-1]{'rowdata'} }[$current_row] .= '\parbox{TOBECHANGEDONNUMBER}{'.$data.'} '.
-                                                                        $Apache::londefdef::table[-1]{'vinc'};
+	$data='\parbox{TOBECHANGEDONNUMBER}{'.$data.'} '.$Apache::londefdef::table[-1]{'vinc'};
+	@{ $Apache::londefdef::table[-1]{'rowdata'} }[$current_row] .= $data;
     }
     return $currentstring;
 }