--- loncom/homework/edit.pm	2008/10/24 16:22:54	1.116
+++ loncom/homework/edit.pm	2008/12/10 21:45:31	1.120
@@ -1,7 +1,7 @@
 # The LearningOnline Network with CAPA 
 # edit mode helpers
 #
-# $Id: edit.pm,v 1.116 2008/10/24 16:22:54 bisitz Exp $
+# $Id: edit.pm,v 1.120 2008/12/10 21:45:31 bisitz Exp $
 #
 # Copyright Michigan State University Board of Trustees
 #
@@ -26,6 +26,108 @@
 # http://www.lon-capa.org/
 #
 
+=head1 NAME
+
+Apache::edit - edit mode helpers
+
+=head1 SYNOPSIS
+
+Invoked by many homework and xml related modules.
+
+ &Apache::edit::SUBROUTINENAME(ARGUMENTS);
+
+=head1 INTRODUCTION
+
+This module outputs HTML syntax helpful for the rendering of edit
+mode interfaces.
+
+This is part of the LearningOnline Network with CAPA project
+described at http://www.lon-capa.org.
+
+=head1 SUBROUTINES
+
+=over 4
+
+=item initialize_edit() 
+
+initialize edit (set colordepth to zero)
+
+=item tag_start($target,$token,$description)
+
+provide deletion and insertion lists
+for the manipulation of a start tag; return a scalar string
+
+=item tag_end($target,$token,$description)
+
+ending syntax corresponding to
+&tag_start. return a scalar string.
+
+=item  start_table($token)
+
+start table; update colordepth; return scalar string.
+
+=item end_table()
+
+reduce color depth; end table; return scalar string
+
+=item start_spanning_row()
+
+start a new table row spanning the 'edit' environment.
+
+=item start_row()
+
+start a new table row and element. 
+
+=item end_row() 
+
+end current table element and row.
+
+=item movebuttons($target,$token)
+
+move-up and move-down buttons; return scalar string
+
+=item deletelist($target,$token)
+
+provide a yes option in an HTML select element; return scalar string
+
+=item handle_delete($space,$target,$token,$tagstack,$parstack,$parser,$safeeval,
+$style)
+
+respond to a user delete request by passing relevant stack
+and array information to various rendering functions; return a scalar string
+
+=item get_insert_list($token)
+
+provide an insertion list based on possibilities from lonxml; return a scalar string
+
+=item insertlist($target,$token)
+
+api that uses get_insert_list; return a scalar string
+
+=item handleinsert($token)
+
+provide an insertion list based on possibilities from lonxml; return a scalar string
+
+=item get_insert_list($token)
+
+provide an insertion list based on possibilities from lonxml; return a scalar string
+
+=item browse($elementname)
+
+provide a link which will open up the filesystem browser (lonindexer) and, once a file is selected, place the result in the form element $elementname.
+
+=item search($elementname)
+
+provide a link which will open up the filesystem searcher (lonsearchcat) and, once a file is selected, place the result in the form element $elementname.
+
+=item editline(tag,data,description,size)
+
+Provide a <input type="text" ../> for single-line text entry.  This is to be used for text enclosed by tags, not arguements/parameters associated with a tag.
+
+=back
+
+=cut
+
 package Apache::edit; 
 
 use strict;
@@ -740,15 +842,15 @@ sub checked_arg {
 	    $text=$option;
 	    $value='value="'.$option.'"';
 	}
-	$result.="<nobr><label><input type=\"checkbox\" $value name=\"".
-	    &html_element_name($name)."\"";
+	$result.='<span class="LC_nobreak"><label><input type="checkbox" '.$value.' name="'.
+	    &html_element_name($name).'"';
 	foreach my $selected (split(/,/,$allselected)) {
 	    if ( $selected eq $option ) {
-		$result.=" checked=\"checked\" ";
+		$result.=' checked="checked" ';
 		last;
 	    }
 	}
-	$result.=&element_change_detection()." />$text</label></nobr>\n";
+	$result.=&element_change_detection().' />'.$text.'</label></span>'."\n";
     }
     return $result;
 }
@@ -761,7 +863,7 @@ sub text_arg {
     $result=&mt($description).'&nbsp;<input name="'.&html_element_name($name).
 	'" type="text" value="'.$arg.'" size="'.$size.'" '.
 	&element_change_detection().'/>';
-    return '<nobr>'.$result.'</nobr>';
+    return '<span class="LC_nobreak">'.$result.'</span>';
 }
 
 sub select_arg {
@@ -785,10 +887,10 @@ sub select_arg {
 	    $optionlist.="<option $value >".&mt($text)."</option>\n";
 	}
     }
-    $result.='<nobr>'.&mt($description).'&nbsp;<select name="'.
+    $result.='<span class="LC_nobreak">'.&mt($description).'&nbsp;<select name="'.
 	&html_element_name($name).'" '.&element_change_detection().' >
        '.$optionlist.'
-      </select></nobr>';
+      </select></span>';
     return $result;
 }
 
@@ -834,7 +936,7 @@ sub select_or_text_arg {
     $description=&mt($description);
 #
     return (<<ENDSELECTORTYPE);
-<nobr>
+<span class="LC_nobreak">
 $description
 &nbsp;<select name="$selectelement"
 onChange="if ($selectedvalue!='TYPEDINVALUE') { $hiddenvalue=$selectedvalue; $typedinvalue=''; }" >
@@ -845,7 +947,7 @@ $optionlist
 onChange="$hiddenvalue=$typedinvalue;"
 onFocus="$selectedindex=$selecttypeinindex-1;" />
 <input type="hidden" name="$element" value="$selected" $change_code />
-</nobr>
+</span>
 ENDSELECTORTYPE
 }
 
@@ -974,119 +1076,4 @@ ENDBUTTON
 1;
 __END__
 
-=head1 NAME
-
-Apache::edit - edit mode helpers
-
-=head1 SYNOPSIS
-
-Invoked by many homework and xml related modules.
-
- &Apache::edit::SUBROUTINENAME(ARGUMENTS);
-
-=head1 INTRODUCTION
-
-This module outputs HTML syntax helpful for the rendering of edit
-mode interfaces.
-
-This is part of the LearningOnline Network with CAPA project
-described at http://www.lon-capa.org.
-
-=head1 HANDLER SUBROUTINE
-
-There is no handler subroutine.
-
-=head1 OTHER SUBROUTINES
-
-=over 4
-
-=item *
-
-initialize_edit() : initialize edit (set colordepth to zero)
-
-=item *
-
-tag_start($target,$token,$description) : provide deletion and insertion lists
-for the manipulation of a start tag; return a scalar string
-
-=item *
-
-tag_end($target,$token,$description) : ending syntax corresponding to
-&tag_start. return a scalar string.
-
-=item *
 
-start_table($token) : start table; update colordepth; return scalar string.
-
-=item *
-
-end_table() : reduce color depth; end table; return scalar string
-
-=item *
-
-start_spanning_row() : start a new table row spanning the 'edit' environment.
-
-=item *
-
-start_row() : start a new table row and element. 
-
-=item *
-
-end_row() : end current table element and row.
-
-=item *
-
-movebuttons($target,$token) : move-up and move-down buttons; return scalar
-string
-
-=item *
-
-deletelist($target,$token) : provide a yes option in an HTML select element;
-return scalar string
-
-=item *
-
-handle_delete($space,$target,$token,$tagstack,$parstack,$parser,$safeeval,
-$style) : respond to a user delete request by passing relevant stack
-and array information to various rendering functions; return a scalar string
-
-=item *
-
-get_insert_list($token) : provide an insertion list based on possibilities
-from lonxml; return a scalar string
-
-=item *
-
-insertlist($target,$token) : api that uses get_insert_list;
-return a scalar string
-
-=item *
-
-handleinsert($token) : provide an insertion list based on possibilities
-from lonxml; return a scalar string
-
-=item *
-
-get_insert_list($token) : provide an insertion list based on possibilities
-from lonxml; return a scalar string
-
-=item *
-browse($elementname) : provide a link which will open up the filesystem
-browser (lonindexer) and, once a file is selected, place the result in
-the form element $elementname.
-
-=item *
-search($elementname) : provide a link which will open up the filesystem
-searcher (lonsearchcat) and, once a file is selected, place the result in
-the form element $elementname.
-
-=item *
-editline(tag,data,description,size): Provide a <input type="text" ../> for
-single-line text entry.  This is to be used for text enclosed by tags, not
-arguements/parameters associated with a tag.
-
-=back
-
-incomplete...
-
-=cut