version 1.70, 2011/11/18 16:39:22
|
version 1.71, 2011/11/18 17:44:07
|
Line 407 sub plotvector_script {
|
Line 407 sub plotvector_script {
|
$Apache::functionplotresponse::counter++; |
$Apache::functionplotresponse::counter++; |
$label='V'.$Apache::functionplotresponse::counter; |
$label='V'.$Apache::functionplotresponse::counter; |
} |
} |
|
my $startlabel=$label.'Start'; |
|
my $endlabel=$label.'End'; |
|
my $pointlabel=$label.'Point'; |
|
my $anglelabel=$label.'Angle'; |
return(<<ENDVECTOR); |
return(<<ENDVECTOR); |
document.ggbApplet1.evalCommand("Gravitystart=(20,0)"); |
document.ggbApplet_$id.evalCommand("$startlabel=($xs,$ys)"); |
document.ggbApplet1.setVisible("Gravitystart",false); |
document.ggbApplet_$id.setVisible("$startlabel",false); |
document.ggbApplet1.setLabelVisible("Gravitystart",false); |
document.ggbApplet_$id.setLabelVisible("$startlabel",false); |
document.ggbApplet1.evalCommand("Gravityend=(20,-5)"); |
document.ggbApplet_$id.evalCommand("$endlabel=($xe,$ye)"); |
document.ggbApplet1.setLabelVisible("Gravityend",false); |
document.ggbApplet_$id.setLabelVisible("$endlabel",false); |
document.ggbApplet1.evalCommand("Gravity=Vector[Gravitystart, Gravityend]"); |
document.ggbApplet_$id.evalCommand("$label=Vector[$startlabel,$endlabel]"); |
document.ggbApplet1.setLabelVisible("Gravity",true); |
document.ggbApplet_$id.setLabelVisible("$label",true); |
document.ggbApplet1.setLineThickness("Gravity",8); |
document.ggbApplet_$id.setLineThickness("$label",8); |
// Displays the Angle |
// Displays the Angle |
document.ggbApplet1.evalCommand("Gravitypoint=(110,y(Gravitystart))"); //The x-value for this should be 2*(xmax-xmin)+xmax; |
//document.ggbApplet1.evalCommand("Gravitypoint=(110,y(Gravitystart))"); //The x-value for this should be 2*(xmax-xmin)+xmax; |
document.ggbApplet1.evalCommand("GravityAngle=Angle[Gravitypoint,Gravitystart,Gravityend]"); |
//document.ggbApplet1.evalCommand("GravityAngle=Angle[Gravitypoint,Gravitystart,Gravityend]"); |
document.ggbApplet1.setLabelVisible("GravityAngle",true); |
//document.ggbApplet1.setLabelVisible("GravityAngle",true); |
document.ggbApplet1.setLabelStyle("GravityAngle",VALUE=2); |
//document.ggbApplet1.setLabelStyle("GravityAngle",VALUE=2); |
// Keeps track of points we care about (This should use the same listener function we use in graph problems) |
// Keeps track of points we care about (This should use the same listener function we use in graph problems) |
//document.ggbApplet1.registerObjectUpdateListener('Gravitystart','updatePointCoordinates'); |
//document.ggbApplet1.registerObjectUpdateListener('Gravitystart','updatePointCoordinates'); |
//document.ggbApplet1.registerObjectUpdateListener('Gravityend','updatePointCoordinates'); |
//document.ggbApplet1.registerObjectUpdateListener('Gravityend','updatePointCoordinates'); |
Line 526 sub end_plotobject {
|
Line 530 sub end_plotobject {
|
return $result; |
return $result; |
} |
} |
|
|
|
# |
|
# Vector |
|
# |
|
|
|
sub start_plotvector { |
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
|
my $result=''; |
|
my $internalid = $Apache::inputtags::part.'_'.$Apache::inputtags::response[-1]; |
|
my $tailx=&Apache::lonxml::get_param('tailx',$parstack,$safeeval); |
|
my $taily=&Apache::lonxml::get_param('taily',$parstack,$safeeval); |
|
my $tipx=&Apache::lonxml::get_param('tipx',$parstack,$safeeval); |
|
my $tipy=&Apache::lonxml::get_param('tipy',$parstack,$safeeval); |
|
|
|
my $label=&Apache::lonxml::get_param('label',$parstack,$safeeval); |
|
$label=~s/\W//gs; |
|
$label=ucfirst($label); |
|
unless ($label) { $label="NewVector"; } |
|
if ($target eq 'web') { |
|
my ($xmin,$xmax,$ymin,$ymax)=&boundaries($parstack,$safeeval,-3); |
|
unless (defined($tailx)) { $tailx=$xmin; } |
|
unless (defined($taily)) { $taily=$ymin; } |
|
unless (defined($tipx)) { $tipx=$xmin; } |
|
unless (defined($tipy)) { $tipy=$ymin; } |
|
$result.=&plotvector_script($internalid,$label,$tailx,$taily,$tipx,$tipy); |
|
} elsif ($target eq 'edit') { |
|
$result=&Apache::edit::tag_start($target,$token,'Plot Vector'). |
|
&Apache::edit::text_arg('Label on Plot:','label', |
|
$token,'16'). |
|
&Apache::edit::text_arg('Tail x:','tailx', |
|
$token,'8'). |
|
&Apache::edit::text_arg('Tail y:','taily', |
|
$token,'8'). |
|
&Apache::edit::text_arg('Tip x:','tipx', |
|
$token,'8'). |
|
&Apache::edit::text_arg('Tip y:','tipy', |
|
$token,'8'). |
|
|
|
&Apache::edit::end_row(); |
|
} elsif ($target eq 'modified') { |
|
my $constructtag=&Apache::edit::get_new_args($token,$parstack,$safeeval,'label','tailx','taily','tipx','tipy'); |
|
if ($constructtag) { $result=&Apache::edit::rebuild_tag($token); } |
|
} |
|
return $result; |
|
} |
|
|
|
sub end_plotvector { |
|
my ($target,$token,$tagstack,$parstack,$parser,$safeeval,$style)=@_; |
|
my $result=''; |
|
if ($target eq 'edit') { |
|
$result=&Apache::edit::end_table(); |
|
} |
|
return $result; |
|
} |
|
|
|
|
|
|
# |
# |
# <backgroundplot function="..." fixed="yes/no" /> |
# <backgroundplot function="..." fixed="yes/no" /> |