home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / FREI / DIGSIM.EXE / Probe.class (.txt) < prev    next >
Encoding:
Java Class File  |  1996-05-21  |  2.5 KB  |  75 lines

  1. import java.awt.Dimension;
  2. import java.awt.Graphics;
  3. import java.awt.Point;
  4. import java.io.PrintStream;
  5.  
  6. class Probe extends ElectronicComponent {
  7.    Point ChannelPos;
  8.    Dimension ChannelDim;
  9.    int[] LevelHistory;
  10.    static final int MAX_HISTORY = 100;
  11.    boolean clockup_probe = false;
  12.    boolean clockdn_probe = false;
  13.    int OldLevel;
  14.  
  15.    public Probe(Pin[][] var1, int var2, int var3) {
  16.       super(var2, var3, 4, 6, 1, 1, 2, 4, 1, 0);
  17.       this.ChannelPos = new Point(0, 0);
  18.       this.ChannelDim = new Dimension(0, 0);
  19.       this.LevelHistory = new int[100];
  20.       super.ComponentName = "Probe";
  21.       super.ClassName = "Probe";
  22.       super.IPin[0] = new InputPin("Probe", 2, 5, 0, -2, 0, -1, 0);
  23.       ((ElectronicComponent)this).RegisterPins(var1, var2, var3);
  24.    }
  25.  
  26.    public Probe(Pin[][] var1, int var2, int var3, String var4, boolean var5, boolean var6) {
  27.       super(var2, var3, 4, 6, 1, 1, 2, 4, 1, 0);
  28.       this.clockup_probe = var5;
  29.       this.clockdn_probe = var6;
  30.       this.ChannelPos = new Point(0, 0);
  31.       this.ChannelDim = new Dimension(0, 0);
  32.       this.LevelHistory = new int[100];
  33.       super.ComponentName = "Probe";
  34.       super.ClassName = "Probe";
  35.       super.IPin[0] = new InputPin(var4, 2, 5, 0, -2, 0, -1, 0);
  36.       ((ElectronicComponent)this).RegisterPins(var1, var2, var3);
  37.    }
  38.  
  39.    public Probe(ElectronicComponent var1, int var2, int var3) {
  40.       super(var1, var2, var3);
  41.       this.ChannelPos = new Point(0, 0);
  42.       this.ChannelDim = new Dimension(0, 0);
  43.       this.LevelHistory = new int[100];
  44.    }
  45.  
  46.    public ElectronicComponent Copy(int var1, int var2) {
  47.       Probe var3 = new Probe(this, var1, var2);
  48.       return var3;
  49.    }
  50.  
  51.    public void draw(Graphics var1, int var2, int var3, int var4) {
  52.       super.draw(var1, var2, var3, var4);
  53.       int var5 = super.Pos.x - var2;
  54.       int var6 = super.Pos.y - var3;
  55.       ((ElectronicComponent)this).DrawInputPins(var1, var5, var6, var4);
  56.       var1.setColor(ElectronicComponent.ComponentColor);
  57.       var1.drawOval((int)(((double)var5 + (double)1.5F) * (double)var4), (var6 + 2) * var4, var4, var4);
  58.       var1.drawLine((int)(((double)var5 + (double)1.5F) * (double)var4), (var6 + 3) * var4, (int)(((double)var5 + (double)2.5F) * (double)var4), (var6 + 2) * var4);
  59.    }
  60.  
  61.    public void Save(PrintStream var1) {
  62.       if (this.clockup_probe) {
  63.          var1.println("describe component ProbeUp");
  64.       } else if (this.clockdn_probe) {
  65.          var1.println("describe component ProbeDn");
  66.       } else {
  67.          var1.println("describe component Probe");
  68.       }
  69.  
  70.       var1.println(" pos " + super.Pos.x + " " + super.Pos.y);
  71.       var1.println(" Text " + super.IPin[0].getName());
  72.       var1.println("end describe");
  73.    }
  74. }
  75.