home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 1998 November / PCpro_1998_11.ISO / software / Lotus / NETOBJ / T2.Z / RotatingPictureComp.nfx (.txt) < prev    next >
Encoding:
Java Class File  |  1998-03-09  |  5.7 KB  |  347 lines

  1. public class RotatingPictureComp extends ComponentApp {
  2.    int maxWidth;
  3.    int maxHeight;
  4.    int numImages;
  5.    static final int MaxImages = 50;
  6.    DAssetManager assetMan;
  7.    DDrawJava theJavaApplet;
  8.    int pause;
  9.    int[] imageNames;
  10.    int[] imageURLs;
  11.    String versionStr = "3.0.0";
  12.  
  13.    public String PropertyListener(String var1, String var2, int var3, int var4, IDInspector var5) {
  14.       if (var3 == 1) {
  15.          if (var1.compareTo("Pause Time (Seconds)") == 0) {
  16.             return Integer.toString(this.pause);
  17.          }
  18.  
  19.          if (var1.compareTo("Number of Images") == 0) {
  20.             return Integer.toString(this.numImages);
  21.          }
  22.  
  23.          for(int var6 = 0; var6 < this.numImages; ++var6) {
  24.             if (var1.compareTo("Image " + Integer.toString(var6 + 1)) == 0) {
  25.                return Integer.toString(this.imageNames[var6]);
  26.             }
  27.  
  28.             if (var1.compareTo("URL for Image " + Integer.toString(var6 + 1)) == 0) {
  29.                return Integer.toString(this.imageURLs[var6]);
  30.             }
  31.          }
  32.       } else if (var1.compareTo("Pause Time (Seconds)") == 0) {
  33.          this.pause = Integer.parseInt(var2, 10);
  34.          if (this.pause < 1) {
  35.             this.pause = 1;
  36.          }
  37.  
  38.          this.theJavaApplet.AddParam("Pause Time", "String\u0000", Integer.toString(this.pause));
  39.       } else if (var1.compareTo("Number of Images") == 0) {
  40.          int var12 = Integer.parseInt(var2, 10);
  41.          if (var12 < 1) {
  42.             return "";
  43.          }
  44.  
  45.          if (var12 > 50) {
  46.             var12 = 50;
  47.          }
  48.  
  49.          if (var12 < this.numImages) {
  50.             for(int var7 = var12; var7 < this.numImages; ++var7) {
  51.                this.imageURLs[var7] = 0;
  52.             }
  53.  
  54.             DImage var14 = new DImage();
  55.             this.maxHeight = this.maxWidth = 0;
  56.  
  57.             for(int var8 = 0; var8 < var12; ++var8) {
  58.                String var9 = this.assetMan.GetAssetLocation(this.imageNames[var8], 1, 1);
  59.                var14.setImageFile(var9);
  60.                IDSize var10 = var14.getSize();
  61.                if (var10.getHeight() > this.maxHeight) {
  62.                   this.maxHeight = var10.getHeight();
  63.                }
  64.  
  65.                if (var10.getWidth() > this.maxWidth) {
  66.                   this.maxWidth = var10.getWidth();
  67.                }
  68.             }
  69.  
  70.             this.theJavaApplet.SetSize(this.maxWidth, this.maxHeight);
  71.          }
  72.  
  73.          boolean var15 = false;
  74.          if (this.numImages != var12) {
  75.             var15 = true;
  76.          }
  77.  
  78.          while(var12 < this.numImages) {
  79.             this.assetMan.RemoveAsset(this.imageNames[this.numImages += -1]);
  80.          }
  81.  
  82.          this.numImages = var12;
  83.          if (var15) {
  84.             this.theJavaApplet.RemoveParam(var1);
  85.             this.theJavaApplet.AddParam(var1, "String\u0000", var2);
  86.          }
  87.       } else {
  88.          for(int var13 = 0; var13 < this.numImages; ++var13) {
  89.             if (var1.compareTo("Image " + Integer.toString(var13 + 1)) == 0) {
  90.                if (this.imageNames[var13] != 0) {
  91.                   this.assetMan.RemoveAsset(this.imageNames[var13]);
  92.                }
  93.  
  94.                this.imageNames[var13] = Integer.parseInt(var2, 10);
  95.                String var16 = this.assetMan.GetAssetLocation(this.imageNames[var13], 1, 1);
  96.                this.theJavaApplet.setImageFile(var16);
  97.                DImage var18 = new DImage();
  98.                this.maxHeight = this.maxWidth = 0;
  99.  
  100.                for(int var19 = 0; var19 < this.numImages; ++var19) {
  101.                   var16 = this.assetMan.GetAssetLocation(this.imageNames[var19], 1, 1);
  102.                   var18.setImageFile(var16);
  103.                   IDSize var20 = var18.getSize();
  104.                   if (var20.getHeight() > this.maxHeight) {
  105.                      this.maxHeight = var20.getHeight();
  106.                   }
  107.  
  108.                   if (var20.getWidth() > this.maxWidth) {
  109.                      this.maxWidth = var20.getWidth();
  110.                   }
  111.                }
  112.  
  113.                this.theJavaApplet.SetSize(this.maxWidth, this.maxHeight);
  114.             }
  115.  
  116.             if (var1.compareTo("URL for Image " + Integer.toString(var13 + 1)) == 0) {
  117.                this.imageURLs[var13] = Integer.parseInt(var2, 10);
  118.             }
  119.          }
  120.       }
  121.  
  122.       return "";
  123.    }
  124.  
  125.    public void onCopy() {
  126.       int[] var1 = this.imageNames;
  127.       int[] var2 = this.imageURLs;
  128.       this.imageNames = new int[50];
  129.       this.imageURLs = new int[50];
  130.  
  131.       for(int var3 = 0; var3 < this.numImages; ++var3) {
  132.          this.imageNames[var3] = var1[var3];
  133.          this.imageURLs[var3] = var2[var3];
  134.          if (this.imageNames[var3] != 0) {
  135.             this.assetMan.CopyAsset(this.imageNames[var3]);
  136.          }
  137.  
  138.          if (this.imageURLs[var3] != 0) {
  139.             this.assetMan.CopyAsset(this.imageURLs[var3]);
  140.          }
  141.       }
  142.  
  143.    }
  144.  
  145.    private String getRelativeToRoot(String var1) {
  146.       String var2 = new String();
  147.       int var3 = var1.length();
  148.       if (var3 == 0) {
  149.          return null;
  150.       } else {
  151.          String var4 = var1.substring(0, 2);
  152.          if (var4.compareTo("./") == 0) {
  153.             var1 = var1.substring(2, var3 - 1);
  154.          }
  155.  
  156.          var3 = var1.length();
  157.  
  158.          for(int var5 = 0; var5 < var3; ++var5) {
  159.             if (var1.substring(var5, var5 + 1).compareTo("/") == 0) {
  160.                var2 = var2 + "../";
  161.             }
  162.          }
  163.  
  164.          var3 = var2.length();
  165.          String var9 = var2.substring(var3 - 1, var3);
  166.          if (var9.compareTo("/") != 0 && var2.length() > 0) {
  167.             var2 = var2 + "/";
  168.          }
  169.  
  170.          return var2;
  171.       }
  172.    }
  173.  
  174.    public String onInstall(DAssetManager var1, String var2) {
  175.       this.assetMan = var1;
  176.       return "Rotating Picture";
  177.    }
  178.  
  179.    protected void finalize() {
  180.       for(int var1 = 0; var1 < this.numImages; ++var1) {
  181.          if (this.imageNames[var1] != 0) {
  182.             this.assetMan.RemoveAsset(this.imageNames[var1]);
  183.          }
  184.       }
  185.  
  186.    }
  187.  
  188.    public void onUnInstall(DAssetManager var1) {
  189.    }
  190.  
  191.    protected void onImport() {
  192.       for(int var1 = 0; var1 < this.numImages; ++var1) {
  193.          if (this.imageNames[var1] != 0) {
  194.             int var2 = this.imageNames[var1];
  195.             this.imageNames[var1] = this.assetMan.ImportAsset(var2);
  196.          }
  197.       }
  198.  
  199.    }
  200.  
  201.    public void onPublish(DAssetManager var1, int var2) {
  202.       this.setNumImages();
  203.       if (this.versionStr == null) {
  204.          this.versionStr = "3.0.0";
  205.  
  206.          for(int var3 = 0; var3 < this.numImages; ++var3) {
  207.             String var4 = var1.GetAssetName(this.imageNames[var3]);
  208.             var1.RemoveAsset(this.imageNames[var3]);
  209.             this.imageNames[var3] = var1.AddAsset(var4, "Image\u0000", "RotatingPicture");
  210.          }
  211.       }
  212.  
  213.       if (var2 == 1) {
  214.          for(int var11 = 0; var11 < this.numImages; ++var11) {
  215.             String var15 = this.assetMan.GetAssetLocation(this.imageNames[var11], var2, 0);
  216.             var15.replace('|', ':');
  217.             this.theJavaApplet.AddParam("Image " + Integer.toString(var11 + 1), "String\u0000", var15);
  218.          }
  219.       } else {
  220.          for(int var12 = 0; var12 < this.numImages; ++var12) {
  221.             new DMessageBox();
  222.             String var16 = this.assetMan.GetAssetRelativeLocation(this.imageNames[var12], var2, 0);
  223.             this.theJavaApplet.AddParam("Image " + Integer.toString(var12 + 1), "String\u0000", var16);
  224.          }
  225.       }
  226.  
  227.       for(int var13 = 0; var13 < this.numImages; ++var13) {
  228.          String var17;
  229.          if (this.imageURLs[var13] != 0) {
  230.             var17 = this.assetMan.GetAssetLocation(this.imageURLs[var13], var2, 1);
  231.          } else {
  232.             var17 = "";
  233.          }
  234.  
  235.          this.theJavaApplet.AddParam("URL for Image " + Integer.toString(var13 + 1), "String\u0000", var17);
  236.       }
  237.  
  238.       this.theJavaApplet.AddParam("Image Width", "String\u0000", Integer.toString(this.maxWidth));
  239.       this.theJavaApplet.AddParam("Image Height", "String\u0000", Integer.toString(this.maxHeight));
  240.       IDRect var14 = this.theJavaApplet.getObjectRect();
  241.       this.theJavaApplet.AddParam("X Position", "String\u0000", Integer.toString(var14.getLeft()));
  242.       this.theJavaApplet.AddParam("Y Position", "String\u0000", Integer.toString(var14.getTop() + 7));
  243.       IDLayout var18 = this.theJavaApplet.getLayout();
  244.       IDSite var5 = var18.getSite();
  245.       IDStyle var6 = var5.getCurrentStyle();
  246.       int var7 = var18.getBackgroundStyle();
  247.       if (var7 != 0) {
  248.          if (var7 == 1) {
  249.             this.theJavaApplet.AddParam("BackgroundColor", "String\u0000", Integer.toString(var18.getBackgroundColor()));
  250.          } else if (var7 == 2) {
  251.             int var8 = this.assetMan.AddAsset(var18.getBackgroundImage(), "Image\u0000", "RotatingPicture");
  252.             String var9 = this.assetMan.GetAssetRelativeLocation(var8, var2, 1);
  253.             if (var2 == 1) {
  254.                var9 = var9;
  255.             }
  256.  
  257.             this.theJavaApplet.AddParam("BackgroundImage", "String\u0000", var9);
  258.          }
  259.       } else {
  260.          var7 = var6.getBackgroundStyle();
  261.          if (var7 == 1) {
  262.             this.theJavaApplet.AddParam("BackgroundColor", "String\u0000", Integer.toString(var6.getBackgroundColor()));
  263.          } else if (var7 == 2) {
  264.             int var20 = this.assetMan.AddAsset(var6.getBackgroundImage(), "Image\u0000", "RotatingPicture");
  265.             String var21 = this.assetMan.GetAssetRelativeLocation(var20, var2, 1);
  266.             if (var2 == 1) {
  267.                var21 = var21;
  268.             }
  269.  
  270.             this.theJavaApplet.AddParam("BackgroundImage", "String\u0000", var21);
  271.          }
  272.       }
  273.  
  274.    }
  275.  
  276.    public void onDrop(IDLayout var1, IDRect var2, int var3) {
  277.       if (var3 == 1) {
  278.          this.numImages = 3;
  279.          this.pause = 2;
  280.          this.imageNames = new int[50];
  281.          this.imageURLs = new int[50];
  282.          int var6 = 0;
  283.  
  284.          do {
  285.             this.imageURLs[var6] = 0;
  286.             this.imageNames[var6] = 0;
  287.             ++var6;
  288.          } while(var6 < 50);
  289.  
  290.          this.theJavaApplet = new DDrawJava();
  291.          this.theJavaApplet.setImageFile(this.theJavaApplet.getCodeBase() + "banner.gif");
  292.          this.theJavaApplet.setAppletFileName(this.theJavaApplet.getCodeBase() + "RotatingPicture.class");
  293.          this.theJavaApplet.setStretch(1);
  294.          this.theJavaApplet.setAltTag("Rotating Picture");
  295.          int var4 = var2.getLeft();
  296.          int var5 = var2.getTop();
  297.          this.theJavaApplet.AddParam("Pause Time", "String\u0000", "2");
  298.          this.theJavaApplet.AddParam("Number of Images", "String\u0000", "3");
  299.          this.imageNames[0] = this.assetMan.AddAsset(this.theJavaApplet.getCodeBase() + "banner.gif", "Image\u0000", "RotatingPicture");
  300.          this.imageNames[1] = this.assetMan.AddAsset(this.theJavaApplet.getCodeBase() + "banner2.gif", "Image\u0000", "RotatingPicture");
  301.          this.imageNames[2] = this.assetMan.AddAsset(this.theJavaApplet.getCodeBase() + "banner3.gif", "Image\u0000", "RotatingPicture");
  302.          DImage var7 = new DImage();
  303.          var7.setImageFile(this.theJavaApplet.getCodeBase() + "banner.gif");
  304.          IDSize var8 = var7.getSize();
  305.          if (var8.getHeight() > this.maxHeight) {
  306.             this.maxHeight = var8.getHeight();
  307.             if (var8.getWidth() > this.maxWidth) {
  308.                this.maxWidth = var8.getWidth();
  309.             }
  310.  
  311.             this.theJavaApplet.SetPositionRect(var4, var5, var4 + this.maxWidth, var5 + this.maxHeight);
  312.          } else if (var8.getWidth() > this.maxWidth) {
  313.             this.maxWidth = var8.getWidth();
  314.             this.theJavaApplet.SetPositionRect(var4, var5, var4 + this.maxWidth, var5 + this.maxHeight);
  315.          }
  316.  
  317.          var1.AddObject(this.theJavaApplet);
  318.       }
  319.    }
  320.  
  321.    public void onInspect(CStringArray var1, CStringArray var2) {
  322.       var1.Set("Pause Time (Seconds)");
  323.       var2.Set("Collection\u0000");
  324.       var1.Set("Number of Images");
  325.       var2.Set("Collection\u0000");
  326.  
  327.       for(int var3 = 0; var3 < this.numImages; ++var3) {
  328.          var1.Set("Image " + Integer.toString(var3 + 1));
  329.          var2.Set("Image\u0000");
  330.          var1.Set("URL for Image " + Integer.toString(var3 + 1));
  331.          var2.Set("Link\u0000");
  332.       }
  333.  
  334.    }
  335.  
  336.    void setNumImages() {
  337.       for(int var2 = 0; var2 < this.numImages; ++var2) {
  338.          String var1 = this.assetMan.GetAssetLocation(this.imageNames[var2], 0, 0);
  339.          if (var1.compareTo("") == 0) {
  340.             this.theJavaApplet.AddParam("Number of Images", "String\u0000", Integer.toString(var2));
  341.             return;
  342.          }
  343.       }
  344.  
  345.    }
  346. }
  347.