Class ::xowiki::formfield::mc_exercise
::xowiki::formfield::mc_exercise
create ... \
[ -feedback (default "full") ] \
[ -inplace (default "true") ]
Class Relations
- class: ::xotcl::Class
![[i]](/resources/acs-subsite/ZoomIn16.gif)
- superclass: ::xowiki::formfield::CompoundField
![[i]](/resources/acs-subsite/ZoomIn16.gif)
::xotcl::Class create ::xowiki::formfield::mc_exercise \
-superclass ::xowiki::formfield::CompoundField
Methods (to be applied on instances)
convert_to_internal (scripted)
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
}
}
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