Diff for /loncom/homework/functionplotresponse.pm between versions 1.70 and 1.71

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" />

Removed from v.1.70  
changed lines
  Added in v.1.71


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>