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

foxr lon-capa-cvs-allow@mail.lon-capa.org
Fri, 06 Apr 2007 10:41:46 -0000


foxr		Fri Apr  6 06:41:46 2007 EDT

  Modified files:              
    /loncom/xml	londefdef.pm 
  Log:
  Clean up table width calculations now that I'm a bit less
  confused about what's going on here. I think this will allow
  me to mark bz 4967 fixed with a clean conscience.
  
  
Index: loncom/xml/londefdef.pm
diff -u loncom/xml/londefdef.pm:1.363 loncom/xml/londefdef.pm:1.364
--- loncom/xml/londefdef.pm:1.363	Fri Apr  6 06:33:37 2007
+++ loncom/xml/londefdef.pm	Fri Apr  6 06:41:45 2007
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA
 # Tags Default Definition Module 
 #
-# $Id: londefdef.pm,v 1.363 2007/04/06 10:33:37 foxr Exp $
+# $Id: londefdef.pm,v 1.364 2007/04/06 10:41:45 foxr Exp $
 # 
 #
 # Copyright Michigan State University Board of Trustees
@@ -1985,19 +1985,14 @@
 	    } else { 
 		$TeXwidth = $textwidth;
 	    }
-	} else {
-	    $Apache::londefdef::table[-1]{'forcedtablewidth'} = 1;
-        }
-	# This stuff looks a bit hokey..
-	# Percentage width is actually given as an absolute width..
-	# so what's the difference?
-	#
+	}
+	# if the width is specified as a % it is converted to an absolute width.
+	# otherwise.. just plugged right in the hash
+
 	if ($TeXwidth=~/%/) {
-	    $Apache::londefdef::table[-1]{'percent'}=1;
 	    $TeXwidth=~/(\d+)/;
             $Apache::londefdef::table[-1]{'width'}=$1*$textwidth/100;
 	} else {
-	    $Apache::londefdef::table[-1]{'forcedtablewidth'} = 1; #  may or may not need this?
 	    $Apache::londefdef::table[-1]{'width'}=$TeXwidth;
 	}
         #  In the end, however the table width cannot be wider than $textwidth...
@@ -2229,16 +2224,16 @@
 		}
 	    }
 	}
-        #use all available width if it is defined in % or as TeXwidth
-        if (($Apache::londefdef::table[-1]{'percent'}==1) || ($Apache::londefdef::table[-1]{'forcedtablewidth'}==1)) {
-	    my $current=0; 
-	    for (my $i=0;$i<=$#fwidth;$i++) {  
-		$current+=$fwidth[$i];
-	    }
-	    my $coef=$Apache::londefdef::table[-1]{'width'}/$current;
-	    for (my $i=0;$i<=$#fwidth;$i++) {  
-		$fwidth[$i]*=$coef;
-	    }
+        # use all available width or specified width as if not specified,
+	# the specified width gets defaulted to the available width.
+
+	my $current=0; 
+	for (my $i=0;$i<=$#fwidth;$i++) {  
+	    $current+=$fwidth[$i];
+	}
+	my $coef=$Apache::londefdef::table[-1]{'width'}/$current;
+	for (my $i=0;$i<=$#fwidth;$i++) {  
+	    $fwidth[$i]*=$coef;
 	}
         #removing of empty columns if allowed
         my $permission=&Apache::lonxml::get_param('TeXDropEmptyColumns',$parstack,$safeeval,undef,0);