--- loncom/homework/structuretags.pm 2011/01/07 05:14:57 1.465.2.12 +++ loncom/homework/structuretags.pm 2011/10/06 03:23:44 1.465.2.14 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # definition of tags that give a structure to a document # -# $Id: structuretags.pm,v 1.465.2.12 2011/01/07 05:14:57 raeburn Exp $ +# $Id: structuretags.pm,v 1.465.2.14 2011/10/06 03:23:44 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -129,8 +129,16 @@ sub homework_js { <<'JS'; @@ -154,10 +162,12 @@ JS sub setmode_javascript { return <<"ENDSCRIPT"; ENDSCRIPT } @@ -466,27 +476,48 @@ sub remember_problem_state { '; } +sub problem_edit_action_button { + my ($name,$action,$accesskey,$text,$flag)=@_; + my $actionscript="setmode(this.form,'$action')"; + return "\n"; +} + sub problem_edit_buttons { - return ' -
- - - -
-
- - -
'; + my ($mode)=@_; +# Buttons that do not save + my $result='
'. + &problem_edit_action_button('subdiscview','discard','d','Discard Edits and View',1); + if ($mode eq 'editxml') { + $result.=&problem_edit_action_button('subedit','edit','e','Edit',1); + $result.=&problem_edit_action_button('subundo','undoxml','u','Undo',1); + $result.=&Apache::lonhtmlcommon::dragmath_button("LC_editxmltext",1); + } else { + $result.=&problem_edit_action_button('subeditxml','editxml','x','EditXML',1); + $result.=&problem_edit_action_button('subundo','undo','u','Undo',1); + } + $result.="\n
"; +# Buttons that save + $result.='
'; + if ($mode eq 'editxml') { + $result.=&problem_edit_action_button('subsaveedit','saveeditxml','s','Save and EditXML'); + $result.=&problem_edit_action_button('subsaveview','saveviewxml','v','Save and View'); + } else { + $result.=&problem_edit_action_button('subsaveedit','saveedit','s','Save and Edit'); + $result.=&problem_edit_action_button('subsaveview','saveview','v','Save and View'); + } + $result.="\n
\n"; + return $result; } sub problem_edit_header { - return ''. - &Apache::structuretags::remember_problem_state().' + return ''. + &remember_problem_state('edit').'
'.&mt('Problem Editing').&Apache::loncommon::help_open_menu('Problem Editing','Problem_Editor_XML_Index',5,'Authoring').'
'. +''. &problem_edit_buttons().'
'.&Apache::lonxml::message_location().' @@ -1274,7 +1305,7 @@ sub end_problem { } else { $frontmatter.= $begin_doc.$toc_line; if ($Apache::lonhomework::type eq 'exam' and $allow_print_points==1) { - $frontmatter .= '\fbox{\textit{'.$weight.' pt}}'; + $frontmatter .= '\fbox{\textit{'.&mt('[quant,_1,pt,pt]',$weight ).'}}'; } } } else { @@ -1284,7 +1315,7 @@ sub end_problem { if (not $env{'request.symb'} =~ m/\.page_/) { $frontmatter .= $begin_doc.$toc_line; if (($Apache::lonhomework::type eq 'exam') and ($allow_print_points==1)) { - $frontmatter .= '\fbox{\textit{'.$weight.' pt}}'; + $frontmatter .= '\fbox{\textit{'.&mt('[quant,_1,pt,pt]',$weight ).'}}'; } } else { $frontmatter .= '\vskip 1mm \\\\\\\\'.$startminipage; @@ -1308,7 +1339,7 @@ sub end_problem { } } elsif ( ($target eq 'web' || $target eq 'tex') && $Apache::inputtags::part eq '0' && - $status ne 'UNCHECKEDOUT' && $status ne 'NOT_YET_VIEWED') { + $status ne 'UNCHECKEDOUT' && $status ne 'NOT_YET_VIEWED') { # if part is zero, no s existed, so we need show the current # grading status my $gradestatus = &Apache::inputtags::gradestatus($Apache::inputtags::part,$target); @@ -1318,8 +1349,8 @@ sub end_problem { (($target eq 'web') && ($env{'request.state'} ne 'construct')) || ($target eq 'answer') || ($target eq 'tex') ) { - if ($target ne 'tex' && - $env{'form.answer_output_mode'} ne 'tex') { + if (($target ne 'tex') && + ($env{'form.answer_output_mode'} ne 'tex')) { $result.=""; } if ($target eq 'web') { @@ -1968,7 +1999,7 @@ sub start_part { $allow_print_points=0; } if (($Apache::lonhomework::type eq 'exam') && ($allow_print_points)) { - $result .= '\vskip 10mm\fbox{\textit{'.$weight.' pt}}'; + $result .= '\vskip 10mm\fbox{\textit{'.&mt('[quant,_1,pt,pt]',$weight ).'}}'; } } elsif ($target eq 'web') { @@ -2278,11 +2309,12 @@ sub start_simpleeditbutton { # .&mt('Note: it can take up to 10 minutes for changes to take effect for all users.') # .&Apache::loncommon::help_open_topic('Caching') # .'

'; - $result.=&Apache::lonhtmlcommon::start_funclist() + $result.=&Apache::loncommon::head_subbox( + &Apache::lonhtmlcommon::start_funclist() .&Apache::lonhtmlcommon::add_item_funclist( '' .&mt('Edit').'') - .&Apache::lonhtmlcommon::end_funclist(); + .&Apache::lonhtmlcommon::end_funclist()); } return $result;