- Methods: All Methods Documented Methods Hide Methods
- Source: Display Source Hide Source
- Variables: Show Variables Hide Variables
Class ::xowiki::formfield::mc_exercise
::xowiki::formfield::mc_exercise create ... \
[ -feedback (default "full") ] \
[ -inplace (default "true") ]
Class Relations
::xotcl::Class create ::xowiki::formfield::mc_exercise \ -superclass ::xowiki::formfield::CompoundFieldMethods (to be applied on instances)
convert_to_internal (scripted)
# # Build a form from the components of the exercise on the fly. # Actually, this method computes the properties "form" and # "form_constraints" based on the components of this form field. # set form "<FORM>\n<table class='mchoice'>\n<tbody>" set fc "@categories:off @cr_fields:hidden\n" set intro_text [:get_named_sub_component_value text] append form "<tr><td class='text' colspan='2'>$intro_text</td></tr>\n" foreach input_field_name {alt-1 alt-2 alt-3 alt-4 alt-5} { foreach f {text correct feedback_correct feedback_incorrect} { set value($f) [:get_named_sub_component_value $input_field_name $f] } append form "<tr><td class='selection'><input type='checkbox' id='$input_field_name' name='$input_field_name' /></td>\n" "<td class='value'><label for='$input_field_name'>$value(text)</label></td></tr>\n" set alt_fc [list] if {$value(correct)} {lappend alt_fc "answer=on"} else {lappend alt_fc "answer="} if {$value(feedback_correct) ne ""} { lappend alt_fc "feedback_answer_correct=[::xowiki::formfield::FormField fc_encode $value(feedback_correct)]" } if {$value(feedback_incorrect) ne ""} { lappend alt_fc "feedback_answer_incorrect=[::xowiki::formfield::FormField fc_encode $value(feedback_incorrect)]" } if {[llength $alt_fc] > 0} { append fc [list $input_field_name:checkbox,[join $alt_fc ,]] \n } #:msg "$input_field_name .correct = $value(correct)" } append form "</tbody></table></FORM>\n" ${:object} set_property -new 1 form $form ${:object} set_property -new 1 form_constraints $fcfeedback (setter)
initialize (scripted)
:log "[self class] deprecated, you should switch to test-item procs" if {${:__state} ne "after_specs"} return :create_components [subst { {text {richtext,required,height=150px,label=#xowf.exercise-text#}} {alt-1 {mc_alternative,feedback=${:feedback},label=#xowf.alternative#}} {alt-2 {mc_alternative,feedback=${:feedback},label=#xowf.alternative#}} {alt-3 {mc_alternative,feedback=${:feedback},label=#xowf.alternative#}} {alt-4 {mc_alternative,feedback=${:feedback},label=#xowf.alternative#}} {alt-5 {mc_alternative,feedback=${:feedback},label=#xowf.alternative#}} }] set :__initialized 1inplace (setter)
pretty_value (scripted)
return [${:object} property form ""]render_input (scripted)
::xo::Page requireCSS /resources/xowf/myform.css next
- Methods: All Methods Documented Methods Hide Methods
- Source: Display Source Hide Source
- Variables: Show Variables Hide Variables