--- loncom/homework/edit.pm 2001/12/04 14:47:33 1.25 +++ loncom/homework/edit.pm 2002/01/21 16:40:57 1.28 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # edit mode helpers # -# $Id: edit.pm,v 1.25 2001/12/04 14:47:33 albertel Exp $ +# $Id: edit.pm,v 1.28 2002/01/21 16:40:57 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -26,6 +26,7 @@ # http://www.lon-capa.org/ # # 3/20 Guy +# 01/10/02 Matthew package Apache::edit; use strict; @@ -55,10 +56,8 @@ sub tag_start { &deletelist($target,$token) ." ". - &insertlist($target,$token). - " -\n"; -#". + &insertlist($target,$token).&end_row().&start_spanning_row(); +#". # &movebuttons($target,$token). # "\n"; } @@ -105,6 +104,10 @@ sub end_table { return $result; } +sub start_spanning_row { return '';} +sub start_row { return ''; } +sub end_row { return ''; } + sub movebuttons { my ($target,$token) = @_; my $result=' $maxlength) { $maxlength = length($_); } - } split ("\n", $$data); + } my $rows = $count; my $cols = $maxlength; return ($rows,$cols); @@ -317,13 +320,6 @@ sub modifiedfield { # &Apache::lonxml::debug("I want homework_edit_$Apache::lonxml::curdepth"); # &Apache::lonxml::debug($ENV{"form.homework_edit_$Apache::lonxml::curdepth"}); $result=$ENV{"form.homework_edit_$Apache::lonxml::curdepth"}; - if (defined $token) { - if (defined $token->[4]) { - $result=$token->[4].$result; - } else { - $result=$result.$token->[2]; - } - } return $result; } @@ -392,7 +388,7 @@ sub select_arg { } $result.=$description.''; + '; return $result; } @@ -414,7 +410,7 @@ sub select_or_text_arg { if ($found) { $result.=$description.''; + '; } else { $result.=&text_arg($description,$name,$token,$size); } @@ -422,3 +418,105 @@ sub select_or_text_arg { } 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 + +=back + +incomplete... + +=cut