home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 127 / dpcs0998.iso / Internet / netobs / Install.exe / t2.z / SitemapComp.nfx (.txt) < prev    next >
Encoding:
Java Class File  |  1998-03-09  |  7.0 KB  |  249 lines

  1. public class SitemapComp extends ComponentApp {
  2.    int[] idApplet;
  3.    int idImage;
  4.    int idScript;
  5.    int Gcontext;
  6.    boolean s_published;
  7.    DAssetManager assMan;
  8.    String m_codebase;
  9.    DDrawPicture thePicture;
  10.    String sepChar;
  11.    DFile tempfile;
  12.    String Version = "3.0.0";
  13.  
  14.    public String PropertyListener(String var1, String var2, int var3, int var4, IDInspector var5) {
  15.       if (var3 == 1) {
  16.          if (var1.compareTo("Image") == 0) {
  17.             return Integer.toString(this.idImage);
  18.          }
  19.       } else if (var1.compareTo("Image") == 0) {
  20.          this.assMan.RemoveAsset(this.idImage);
  21.          this.idImage = Integer.parseInt(var2, 10);
  22.          this.thePicture.setImageFile(this.assMan.GetAssetLocation(this.idImage, 1, 1));
  23.       }
  24.  
  25.       return "";
  26.    }
  27.  
  28.    public void onCopy() {
  29.       this.assMan.CopyAsset(this.idImage);
  30.       this.assMan.CopyAsset(this.idScript);
  31.       int[] var1 = new int[12];
  32.       int var2 = 0;
  33.  
  34.       do {
  35.          var1[var2] = this.idApplet[var2];
  36.          this.assMan.CopyAsset(this.idApplet[var2]);
  37.          ++var2;
  38.       } while(var2 < 12);
  39.  
  40.       this.idApplet = var1;
  41.    }
  42.  
  43.    public void updateSitemapperHTML(int var1) {
  44.       IDLayout var2 = this.thePicture.getLayout();
  45.       IDSite var3 = var2.getSite();
  46.       new DMessageBox();
  47.       String var4 = this.m_codebase + "Sitemapper.html";
  48.       DFile var5 = new DFile();
  49.       if (var5.Open(var4, 4097)) {
  50.          String var6 = "<HTML>\n";
  51.          var6 = var6 + "<HEAD>\n";
  52.          var6 = var6 + "<TITLE> SiteMapper </TITLE>\n";
  53.          var6 = var6 + "</HEAD>\n";
  54.          var6 = var6 + "<BODY BGCOLOR=#ffffff onload=\"if(navigator.userAgent.substring(0,9) == 'Mozilla/3'){focus()}\">\n";
  55.          var6 = var6 + "<script language=\"JavaScript\">\n";
  56.          var6 = var6 + "<!--\n";
  57.          var6 = var6 + "document.write('<APPLET CODE=\"Sitemapper.class\"";
  58.          var5.WriteString(var6, -1);
  59.          if (var1 == 0 || var1 == 1) {
  60.             this.m_codebase.replace('\\', '/');
  61.             var5.WriteString(" CODEBASE=\"file:///" + this.m_codebase + "\"", -1);
  62.          }
  63.  
  64.          var6 = " ARCHIVE=\"Sitemapper.zip\" WIDTH=350 HEIGHT=300>');\n";
  65.          var6 = var6 + "//-->\n";
  66.          var6 = var6 + "</script>\n";
  67.          var6 = var6 + "<param name=\"cabbase\" value=\"Sitemapper.cab\">\n";
  68.          var6 = var6 + "<param name=\"source_file\" value=\"" + var3.getSiteInfo() + "\">\n";
  69.          var6 = var6 + "</APPLET>\n";
  70.          var6 = var6 + "</BODY>\n";
  71.          var6 = var6 + "</HTML>\n";
  72.          var5.WriteString(var6, -1);
  73.          var5.Close();
  74.          if (!this.s_published) {
  75.             this.idApplet[12] = this.assMan.AddAsset(this.m_codebase + "Sitemapper.html", "HTML\u0000", "/");
  76.             this.s_published = true;
  77.          }
  78.  
  79.       }
  80.    }
  81.  
  82.    public String onInstall(DAssetManager var1, String var2) {
  83.       this.m_codebase = var2;
  84.       this.assMan = var1;
  85.       return "Site Mapper";
  86.    }
  87.  
  88.    protected void finalize() {
  89.       int var1 = 12;
  90.       if (this.s_published) {
  91.          ++var1;
  92.       }
  93.  
  94.       for(int var2 = 0; var2 < var1; ++var2) {
  95.          this.assMan.RemoveAsset(this.idApplet[var2]);
  96.       }
  97.  
  98.       this.assMan.RemoveAsset(this.idImage);
  99.       this.assMan.RemoveAsset(this.idScript);
  100.    }
  101.  
  102.    public void onPublish(DAssetManager var1, int var2) {
  103.       this.assMan = var1;
  104.       this.m_codebase = this.thePicture.getCodeBase();
  105.       if (this.idApplet[3] > 0) {
  106.          var1.RemoveAsset(this.idApplet[3]);
  107.       }
  108.  
  109.       if (this.Version == null) {
  110.          this.Version = "3.0.0";
  111.          int[] var3 = this.idApplet;
  112.          this.idApplet = new int[13];
  113.  
  114.          for(int var4 = 0; var4 < var3.length; ++var4) {
  115.             this.idApplet[var4] = var3[var4];
  116.          }
  117.  
  118.          this.s_published = false;
  119.          if (this.idScript > 0) {
  120.             var1.RemoveAsset(this.idScript);
  121.          }
  122.  
  123.          this.idApplet[12] = 0;
  124.  
  125.          for(int var10 = 0; var10 < this.idApplet.length; ++var10) {
  126.             if (this.idApplet[var10] > 0) {
  127.                var1.RemoveAsset(this.idApplet[var10]);
  128.             }
  129.          }
  130.  
  131.          this.idApplet[0] = this.assMan.AddAsset(this.m_codebase + "Sitemapper.class", "Applets/Plug-ins\u0000", "/");
  132.          this.idApplet[1] = this.assMan.AddAsset(this.m_codebase + "button_panel.class", "Applets/Plug-ins\u0000", "/");
  133.          this.idApplet[2] = this.assMan.AddAsset(this.m_codebase + "check_box_panel.class", "Applets/Plug-ins\u0000", "/");
  134.          this.idApplet[3] = 0;
  135.          this.idApplet[4] = this.assMan.AddAsset(this.m_codebase + "nav_canvas.class", "Applets/Plug-ins\u0000", "/");
  136.          this.idApplet[5] = this.assMan.AddAsset(this.m_codebase + "outline_list.class", "Applets/Plug-ins\u0000", "/");
  137.          this.idApplet[6] = this.assMan.AddAsset(this.m_codebase + "search_panel.class", "Applets/Plug-ins\u0000", "/");
  138.          this.idApplet[7] = this.assMan.AddAsset(this.m_codebase + "tree_entry.class", "Applets/Plug-ins\u0000", "/");
  139.          this.idApplet[8] = this.assMan.AddAsset(this.m_codebase + "tree_grid_builder.class", "Applets/Plug-ins\u0000", "/");
  140.          this.idApplet[9] = this.assMan.AddAsset(this.m_codebase + "web_structure_builder.class", "Applets/Plug-ins\u0000", "/");
  141.          this.idApplet[10] = this.assMan.AddAsset(this.m_codebase + "Sitemapper.cab", "Applets/Plug-ins\u0000", "/");
  142.          this.idApplet[11] = this.assMan.AddAsset(this.m_codebase + "Sitemapper.zip", "Applets/Plug-ins\u0000", "/");
  143.       }
  144.  
  145.       this.Gcontext = var2;
  146.       this.thePicture.setHTMLBefore("<a href =\"JavaScript:go();\" target=\"_self\">");
  147.       this.thePicture.setHTMLAfter("</a>");
  148.       int var8 = this.assMan.GetFileNumber(this.m_codebase + "Sitemapper.html");
  149.       if (var8 == 0) {
  150.          if (this.idApplet[12] > 0) {
  151.             this.assMan.RemoveAsset(this.idApplet[12]);
  152.          }
  153.  
  154.          this.s_published = false;
  155.       }
  156.  
  157.       this.updateSitemapperHTML(var2);
  158.       new DFile();
  159.       IDLayout var11 = this.thePicture.getLayout();
  160.       var11.GetHomePath();
  161.       var8 = this.idApplet[12];
  162.       String var5 = this.assMan.GetAssetLocation(var8, var2, 1);
  163.       String var6 = "<script language=\"JavaScript\">\n";
  164.       var6 = var6 + "<!--\n";
  165.       var6 = var6 + "top.name=\"netobjects_main_power\";\n";
  166.       var6 = var6 + "function go(){\n";
  167.       var6 = var6 + "//use time to create navigator name(allow random).\n";
  168.       var6 = var6 + "  if (navigator.userAgent.substring(0,9) != \"Mozilla/2\"){\n";
  169.       var6 = var6 + "   //3.0 and above\n";
  170.       var6 = var6 + "    var WinName = window.open('" + var5 + "','netobjects_nav','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=1,copyhistory=0,width=385,height=335');\n";
  171.       var6 = var6 + "  }\n";
  172.       var6 = var6 + "  else if  (window.name == \"netobjects_main_power\"){\n";
  173.       var6 = var6 + "    //2.0 re-entry position - main window already have name\n";
  174.       var6 = var6 + "    var WinName = window.open('" + var5 + "','netobjects_nav','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=1,copyhistory=0,width=385,height=335');\n";
  175.       var6 = var6 + "  }\n";
  176.       var6 = var6 + "  else {\n";
  177.       var6 = var6 + "    //2.0\n";
  178.       var6 = var6 + "    var Replace = window.open(window.location,\"netobjects_main_power\");\n";
  179.       var6 = var6 + "    var WinName = window.open('" + var5 + "','netobjects_nav','toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=1,copyhistory=0,width=385,height=335');\n";
  180.       var6 = var6 + "    window.close();\n";
  181.       var6 = var6 + "  }\n";
  182.       var6 = var6 + "}\n";
  183.       var6 = var6 + "//-->\n";
  184.       var6 = var6 + "</script>\n";
  185.       var11.setHTMLBefore(var6);
  186.    }
  187.  
  188.    public void onDrop(IDLayout var1, IDRect var2, int var3) {
  189.       if (var3 == 1) {
  190.          this.tempfile = new DFile();
  191.          this.sepChar = this.tempfile.GetPathChar();
  192.          this.thePicture = new DDrawPicture();
  193.          this.m_codebase = this.thePicture.getCodeBase();
  194.          this.idApplet = new int[13];
  195.          this.idImage = this.assMan.AddAsset(this.m_codebase + "Sitemapper.gif", "Image\u0000", "/");
  196.          this.idApplet[0] = this.assMan.AddAsset(this.m_codebase + "Sitemapper.class", "Applets/Plug-ins\u0000", "/");
  197.          this.idApplet[1] = this.assMan.AddAsset(this.m_codebase + "button_panel.class", "Applets/Plug-ins\u0000", "/");
  198.          this.idApplet[2] = this.assMan.AddAsset(this.m_codebase + "check_box_panel.class", "Applets/Plug-ins\u0000", "/");
  199.          this.idApplet[3] = 0;
  200.          this.idApplet[4] = this.assMan.AddAsset(this.m_codebase + "nav_canvas.class", "Applets/Plug-ins\u0000", "/");
  201.          this.idApplet[5] = this.assMan.AddAsset(this.m_codebase + "outline_list.class", "Applets/Plug-ins\u0000", "/");
  202.          this.idApplet[6] = this.assMan.AddAsset(this.m_codebase + "search_panel.class", "Applets/Plug-ins\u0000", "/");
  203.          this.idApplet[7] = this.assMan.AddAsset(this.m_codebase + "tree_entry.class", "Applets/Plug-ins\u0000", "/");
  204.          this.idApplet[8] = this.assMan.AddAsset(this.m_codebase + "tree_grid_builder.class", "Applets/Plug-ins\u0000", "/");
  205.          this.idApplet[9] = this.assMan.AddAsset(this.m_codebase + "web_structure_builder.class", "Applets/Plug-ins\u0000", "/");
  206.          this.idApplet[10] = this.assMan.AddAsset(this.m_codebase + "Sitemapper.cab", "Applets/Plug-ins\u0000", "/");
  207.          this.idApplet[11] = this.assMan.AddAsset(this.m_codebase + "Sitemapper.zip", "Applets/Plug-ins\u0000", "/");
  208.          String var4 = this.assMan.GetAssetLocation(this.idImage, 0, 1);
  209.          this.thePicture.setImageFile(var4);
  210.          DImage var5 = new DImage();
  211.          var5.setImageFile(var4);
  212.          IDSize var6 = var5.getSize();
  213.          this.thePicture.SetPositionRect(var2.getLeft(), var2.getTop(), var2.getLeft() + var6.getWidth(), var2.getTop() + var6.getHeight());
  214.          this.thePicture.setStretch(1);
  215.          var1.AddObject(this.thePicture);
  216.          IDLayout var7 = this.thePicture.getLayout();
  217.          var7.getSite();
  218.          this.s_published = false;
  219.       }
  220.  
  221.    }
  222.  
  223.    public void onInspect(CStringArray var1, CStringArray var2) {
  224.       var1.Set("Image");
  225.       var2.Set("Image\u0000");
  226.    }
  227.  
  228.    private void debug(String var1) {
  229.       new DMessageBox();
  230.    }
  231.  
  232.    public String getLocation(int var1) {
  233.       String var2 = this.assMan.GetAssetLocation(var1, this.Gcontext, 1);
  234.       var2.replace(' ', '_');
  235.       var2.replace('\\', '/');
  236.       if (var2.indexOf(":/") > 0) {
  237.          var2.replace(':', '|');
  238.       }
  239.  
  240.       if (var2.indexOf(".//") == 0) {
  241.          var2 = "./" + var2.substring(3);
  242.       } else {
  243.          var2.replace(':', '/');
  244.       }
  245.  
  246.       return var2;
  247.    }
  248. }
  249.