
/* ====================================================
   created by Isaac Tsai, 1999
   old score extraplolator widget
   Copyright (C) 1992-2000 Michigan State University

   The CAPA system is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License as
   published by the Free Software Foundation; either version 2 of the
   License, or (at your option) any later version.

   The CAPA system is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
   General Public License for more details.

   You should have received a copy of the GNU General Public
   License along with the CAPA system; see the file COPYING.  If not,
   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
   Boston, MA 02111-1307, USA.

   As a special exception, you have permission to link this program
   with the TtH/TtM library and distribute executables, as long as you
   follow the requirements of the GNU GPL in regard to all of the
   software in the executable aside from TtH/TtM.
*/

<CENTER>

<APPLET CODE=Tscore.class CODEBASE=JAVA/Class width=550 height=304>
<PARAM NAME="HW_W"  VALUE="0.3">  <!- Weight for Homework assignments -!>
<PARAM NAME="QZ_W"  VALUE="0.07"> <!- Weight for Quizzes -!>
<PARAM NAME="EX_W"  VALUE="0.3">  <!- Weight for examinations and makeups -!>
<PARAM NAME="FE_W"  VALUE="0.35"> <!- Weight for final examination -!>
<PARAM NAME="PC_W"  VALUE="0.3">  <!- Makeup exam discount factor -!>
<PARAM NAME="HW_S"  VALUE="">  <!- Homework scores so far -!>
<PARAM NAME="HW_C"  VALUE="">  <!- Number of sets contributed to Homework score -!>
<PARAM NAME="HW_R"  VALUE="">  <!- Number of sets to be extrapolated -!>
<PARAM NAME="QZ_S"  VALUE="">  <!- Quizz scores so far -!>
<PARAM NAME="QZ_C"  VALUE="">  <!- Number of sets contributed to Quiz score -!>
<PARAM NAME="QZ_R"  VALUE="">  <!- Number of sets to be extrapolated -!>
<PARAM NAME="EX_S"  VALUE="">  <!- Exam scores so far (exclude exam4, which is final exam) -!>
<PARAM NAME="EX_C"  VALUE="">  <!- Number of sets contributed to exam score (must be between 1 to 3) -!>
<PARAM NAME="EX_R"  VALUE="">  <!- Number of sets to be extrapolated -!>
<PARAM NAME="FE_S"  VALUE="">  <!- Final exam score -!>
<PARAM NAME="FE_X"  VALUE="">
</APPLET>

</CENTER>
<APPLET
            [CODEBASE = codebaseURL]
            CODE = appletFile 
            [ALT = alternateText]
            [NAME = appletInstanceName]
            WIDTH = pixels
            HEIGHT = pixels 
            [ALIGN = alignment]
            [VSPACE = pixels]
            [HSPACE = pixels]
        >
        [< PARAM NAME = appletParameter1 VALUE = value >]
        [< PARAM NAME = appletParameter2 VALUE = value >]
        . . .
        [alternateHTML]
        </APPLET>

*/

import java.applet.*;
import java.awt.*;
import java.lang.*;
import java.util.*;
import java.net.*;

public class Tscore extends Applet implements Runnable
{

 public float   hw_w;
 public float   qz_w;
 public float   ex_w;
 public float   fe_w;
 public float   hw_s;
 public int     hw_c;
 public int     hw_r;
 public float   qz_s;
 public int     qz_c;
 public int     qz_r;
 public float   ex_s;
 public int     ex_c;
 public int     ex_r;
 public float   fe_s;
 public float   fe_x;
 
 public float   hw_ext;
 public float   qz_ext;
 public float   ex_ext;
 public float   fe_ext;
 public float   term_score;

public void init()
 {
   String   p, q;

   
   p=getParameter("HW_W");
   hw_w=(p==null)?1:Float.valueOf(p).floatValue();
   p=getParameter("QZ_W");
   qz_w=(p==null)?1:Float.valueOf(p).floatValue();
   p=getParameter("EX_W");
   ex_w=(p==null)?1:Float.valueOf(p).floatValue();
   p=getParameter("FE_W");
   fe_w=(p==null)?1:Float.valueOf(p).floatValue();
   p=getParameter("PC_W");
   pc_w=(p==null)?1:Float.valueOf(p).floatValue();
   
   p=getParameter("HW_C");
   hw_c=(p==null)?1:Integer.valueOf(p).intValue();
   p=getParameter("HW_S");
   hw_s=(p==null)?1:Float.valueOf(p).floatValue();
   p=getParameter("HW_R");
   hw_r=(p==null)?1:Integer.valueOf(p).intValue();
   
   p=getParameter("QZ_C");
   qz_c=(p==null)?1:Integer.valueOf(p).intValue();
   p=getParameter("QZ_S");
   qz_s=(p==null)?1:Float.valueOf(p).floatValue();
   p=getParameter("QZ_R");
   qz_r=(p==null)?1:Integer.valueOf(p).intValue();
   
   p=getParameter("EX_C");
   ex_c=(p==null)?1:Integer.valueOf(p).intValue();
   p=getParameter("EX_S");
   ex_s=(p==null)?1:Float.valueOf(p).floatValue();
   p=getParameter("EX_R");
   ex_r=(p==null)?1:Integer.valueOf(p).intValue();
   
   p=getParameter("FE_S");
   fe_s=(p==null)?1:Float.valueOf(p).floatValue();
   p=getParameter("FE_X");
   fe_x=(p==null)?1:Integer.valueOf(p).intValue();

 }
 
public void paint(Graphics g)
 {
   int        idx; 
   Dimension  d = size();
   int        appw = d.width;
   int        apph = d.height;
   int        x1,y1,x2,y2;
   
    g.setFont(f16);
    if( img != null ) {
       g.drawImage(img, 0, 0, this);
    } else {
       g.setColor(Color.white);
       g.fillRect(0, 0, appw, apph);
    }
    g.setColor(Color.black);
    for(idx=0;idx<label_cnt;idx++){
      g.drawString(sLabel[idx],Xcord[idx],Ycord[idx]);
    }
    if((show_grid == 1) && (grid_ww>1)) {
      for(x1=0,y1=0,y2=apph;x1<=appw;x1=x1+grid_ww) {
        x2=x1;
        g.drawLine(x1,y1,x2,y2);
      }
      for(x1=0,y1=0,x2=appw;y1<=apph;y1=y1+grid_ww) {
        y2=y1;
        g.drawLine(x1,y1,x2,y2);
      }
    }
 }
public void run()   { }
public void start() { }
public void stop()  { }

}

